yandex-ui / noscript

Noscript: JavaScript MVC Framework for building SPA
http://yandex-ui.github.io/noscript/
MIT License
34 stars 22 forks source link

[ns.ViewCollection] Убрать возможно иметь собственную разметку #512

Open doochik opened 9 years ago

doochik commented 9 years ago

Тут @Katochimoto в разговоре подал идею убрать из коллекции все лишнее. В ней должна остаться только сама коллекция, никакой внутренней разметки, никаких placeholder'ов. Если нужна разметка, то надо делать wrapper надо коллекций. Это должно упростить ns.ViewCollection.

Как идея?

edoroshenko commented 9 years ago

Сходу - не очень. Нам придётся дофига переделать, например. Более того, я как-то специально делал собственный html у vc, т.к. это было необходимо. Подробностей, почему без него жить нельзя, быстро вспомнить не смогу

doochik commented 9 years ago

Ну я вот сейчас склоняюсь к мнению, что внедрение собственного html у коллекции - было ошибкой :(

edoroshenko commented 9 years ago

Нужно думать, обсуждать, анализировать

chestozo commented 9 years ago

Ну я вот сейчас склоняюсь к мнению, что внедрение собственного html у коллекции - было ошибкой :(

А почему?

doochik commented 9 years ago

@chestozo усложнение реализации коллекции, а на самом деле собственная разметка коллекции = обычный вид-обертка

chestozo commented 9 years ago

Мне просто кажется, это настолько небольшое усложнение коллекции по сравнению с деревом элементов.

edoroshenko commented 9 years ago

=обычный вид-обертка

А пусть viewCollection сам создаёт обычный вид-обёртку внутри? Мы так и api сохраним и код упростим :)

doochik commented 9 years ago

Опять усложение )

edoroshenko commented 9 years ago

Ну оно не добавляет новых механизмов, а просто использует существующие. Зато мы сохраняем совместимость.

doochik commented 9 years ago

Вот вам примеры сложности: https://github.com/yandex-ui/noscript/blob/e42420224f81d2258afd3fffca92b0c9a9a08fd8/src/ns.viewCollection.js#L294 https://github.com/yandex-ui/noscript/blob/e42420224f81d2258afd3fffca92b0c9a9a08fd8/src/ns.viewCollection.js#L244 https://github.com/yandex-ui/noscript/blob/e42420224f81d2258afd3fffca92b0c9a9a08fd8/src/ns.viewCollection.js#L432

Вся эта пляска с selfValid и placeholder появилась имеено из собственной разметки

edoroshenko commented 9 years ago

Вид-обёртка кстати не решает задачу полноценно. Если вид-обёртка проинвалидируется, то же самое случится и с вложенным в него VC. Это, кажется, и есть то, с чем боролись

edoroshenko commented 9 years ago

Если нам удастся решить проблему перерисовки вложенных видов, то можно будет это смело выпиливать. А сейчас если это сделать, то я, например, уже не смогу в обозримом будущем обновиться до новой версии

doochik commented 9 years ago

Да, это аргумент

edoroshenko commented 9 years ago

может подумать о том, чтобы всё перевести на схему с плейсхолдерами?

doochik commented 9 years ago

Да, туда и надо идти. Как замержим мои PR, так займусь ) Там как раз есть правки, упрощающие процесс