Size: a a a

2017 September 02

ДК

Дмитрий К in $mol
Виталий Макеев
Так не работает. Страница не переключается, хотя hash меняется
Странно, должно быть наоборот - хеш не должен измениться, section_current_key должен вернуть ключ первого раздела. Будет проще, если кидать сюда код, а не картинки.
источник

ВМ

Виталий Макеев in $mol
Дмитрий К
Странно, должно быть наоборот - хеш не должен измениться, section_current_key должен вернуть ключ первого раздела. Будет проще, если кидать сюда код, а не картинки.
Да. Верно. Я ошибся. Всё так.
источник

ВМ

Виталий Макеев in $mol
Я делал без таймаута. Не работало.
источник

ДК

Дмитрий К in $mol
Виталий Макеев
А почему в этом месте это важно? Для функционала или для концепции?
1. Для единообразия.
2. В последствии может потребоваться вычислять ключ динамически и делегировать другому свойству.
3. Возможность задваться его и читать во view.tree
источник

ДК

Дмитрий К in $mol
Виталий Макеев
Я делал без таймаута. Не работало.
Что именно не работало?
источник

ВМ

Виталий Макеев in $mol
@$mol_mem()
   section_current_key () {
     for (let s of this.menu_items()) {
       if ($mol_state_arg.value(s.key) !== null) return s.key
     }
     return $mol_state_arg.value(this.menu_items()[0].key, '')
   }


В начале было так. Хэш меняется, но раздел не открывается.
источник

ДК

Дмитрий К in $mol
Я имел ввиду так:

@$mol_mem()
section_current_key () {
 for (let s of this.menu_items()) {
   if ($mol_state_arg.value(s.key) !== null) return s.key
 }
 return this.menu_items()[0].key
}


Хотя, я бы лучше сделал так:

@$mol_mem()
section_current_key () {
 return this.$.$mol_state_arg.value( 'section' ) || this.menu_items()[0].key
}
источник

ВМ

Виталий Макеев in $mol
Дмитрий К
Я имел ввиду так:

@$mol_mem()
section_current_key () {
 for (let s of this.menu_items()) {
   if ($mol_state_arg.value(s.key) !== null) return s.key
 }
 return this.menu_items()[0].key
}


Хотя, я бы лучше сделал так:

@$mol_mem()
section_current_key () {
 return this.$.$mol_state_arg.value( 'section' ) || this.menu_items()[0].key
}
Второй вариант не подойдет, т.к. у меня ссылки вида:
#customerorder - открытый раздел списка заказов
#customerorder=123 - открытый раздел списка заказов + карточка заказа с id=123
источник

ВМ

Виталий Макеев in $mol
Ссылка на раздел устанавливается по клику на пункт меню. Если я сделаю просто return this.menu_items()[0].key я не установлю ключ раздела в хэше. Сейчас подумаю как связать.
источник

ВМ

Виталий Макеев in $mol
Эх, прошу прощеня. Это я туплю.

@$mol_mem()
   section_current_key () {
     for (let s of this.menu_items()) {
       if ($mol_state_arg.value(s.key()) !== null) return s.key()
     }

     const first_key = this.menu_items()[0].key()
     $mol_state_arg.value(first_key, '')
     return first_key
   }
источник

ДК

Дмитрий К in $mol
Если нужно именно изменить хеш, то просто меняем хеш и возвращаем актуальное значение свойства, а не нул.
источник

ДК

Дмитрий К in $mol
Ага, правильно.
источник

ВМ

Виталий Макеев in $mol
Дмитрий К
Если нужно именно изменить хеш, то просто меняем хеш и возвращаем актуальное значение свойства, а не нул.
Я ожидал что $mol_state_arg.value(first_key, '') вернет ключ, что не так.
источник

ДК

Дмитрий К in $mol
Есть ещё такой вариант урлов:
#section=orders/order=123/product=456

#section=products/order=123/product=456

Три панели, три части урла.
источник

ВМ

Виталий Макеев in $mol
Дмитрий К
Есть ещё такой вариант урлов:
#section=orders/order=123/product=456

#section=products/order=123/product=456

Три панели, три части урла.
Текущий просто компактнее. Мне он оч. понравился, когда вы его предложили. Я ссылки часто кидаю на приложение, поэтому важно.
источник

ВМ

Виталий Макеев in $mol
Полагаю, в карточках поля красиво расположить в зависимости от ширины окна медиазапросами? Нет никакой специфики в этом плане?
источник

ДК

Дмитрий К in $mol
Располагать лучше флексами, тогда карточка будет адекватно подстраиваться под размер контейнера. Например: узкая колонка на большом экране должна иметь компактные карточки.
источник

ВМ

Виталий Макеев in $mol
Дмитрий К
Располагать лучше флексами, тогда карточка будет адекватно подстраиваться под размер контейнера. Например: узкая колонка на большом экране должна иметь компактные карточки.
Мне не нравится что отдельные поля Price, Quantity, Total могут залезать на одну строку с Name как на фото. Завернуть (фото, Name) и (Price, Quantity, Total) в два разных $mol_row?
источник

ДК

Дмитрий К in $mol
Логично, раз уж нужны чётко 2 строки.
источник

ВМ

Виталий Макеев in $mol
Дмитрий К
Логично, раз уж нужны чётко 2 строки.
Нужно чтобы при маленькой ширине карточки (напр на мобильных) было 2 строки, на большом экране одна. Пробую через $mol_row сделать.
источник