24.05.2013, 19:31
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
Например виджет title модуля window позволяет цеплять за него и окно будет перетаскиваться. таким виджетов можно создать кучу а использовать только нужные. например можно создать виджет нижней границы ресайза)) и.т.п. норм идея? можно создать несколько кнопок закрыть и.т.п.
в аттрибуте class мы определяем оформление а в аттрибуте ui мы определяем логику
а еще например можно сделать так
ui="window:close, window:title" тогда это будет и кнопка закрытия и место за которое можно перетаскивать)
(не исключены конфликты но это и хорошо, так как логики вообще ничего друг о друге незнают,и это полная свобода)
|
|
24.05.2013, 19:35
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Норм, только мне не нравится, что нет инкапсуляции в шаблоне.
Я считаю, что лучше, когда каждый блок описывается отдельно, а если нужно вызвать блок в другом блоке, то должен быть вызов и передача параметров:
<div ui="window" class="window">
<h3 ui="window:title" class="header">окно 2</h3>
<button ui="window:close">закрыть</button>
<div ui-call="chat" ui-params="{простой JS объект с параметрами}"></div>
</div>
|
|
24.05.2013, 19:44
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
Сообщение от kobezzza
|
Норм, только мне не нравится, что нет инкапсуляции в шаблоне.
|
Разумеется я и на эту тему думал))) я конечно пока логикой занимаюсь но тем не менее не и шаблоны будут)
А вообще я думал сделать что то вроде
<div ui-init="chat"></div>
и он сам все нарисует НО это же уебанство, а как классы расставлять, разметку, контроль где и.т.п.
А вообще приведи пример необходимости использования использования шаблонной разметки?
|
|
24.05.2013, 19:48
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
В принципе ты сам волен делать что хочешь, так что можно создать 2 модуля один обьявляет шаблоны другой рисует.
Хэштег, по идее гозара, служит персонификатором инстансов модулей) и мы можем это использовать и тут
модуль init залезет и достанет нужный инстанс из модуля template, щас даже ради прикола это сделаю)
Последний раз редактировалось megaupload, 24.05.2013 в 19:50.
|
|
24.05.2013, 19:52
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
Разумеется я и на эту тему думал))) я конечно пока логикой занимаюсь но тем не менее не и шаблоны будут)
А вообще я думал сделать что то вроде
<div ui-init="chat"></div>
и он сам все нарисует НО это же уебанство, а как классы расставлять, разметку, контроль где и.т.п.
А вообще приведи пример необходимости использования использования шаблонной разметки?
|
Ну, у каждого блока есть свой шаблон. Если нужно изменить структуру, то ты создаёшь дочерний блок и наследуешь шаблон с переопределением и дополнением которое тебе нужно. А там где эти блоки используются ты их просто вызываешь и передаёшь входные параметры.
Реализацию наследования в шаблонах можешь подглядеть например у меня: https://github.com/kobezzza/Snakeskin (там в описании есть ссылка на более полную статью с хабра).
Но давать возможность явного определения шаблона при вызове может породить тонну копипасты и превратить код в трудно-поддерживаемое месиво.
Сообщение от megaupload
|
В принципе ты сам волен делать что хочешь, так что можно создать 2 модуля один обьявляет шаблоны другой рисует.
|
Именно это я и пытаюсь до тебя донести
Кстати, могу подсказать, как сделать оч просто наследование в CSS. Достаточно использовать паттерн БЭМ и Stylus.
<style>
.myBlock {
&__elem { ... }
}
.myNewBlock {
@extend .myBlock;
&__elem { /** расширение и переопределение и т.д. */ }
}
</style>
<div class='myBlock'>
<p class="myBlock__elem"></p>
</div>
<div class='myNewBlock'>
<strong class="myNewBlock__elem"></strong>
</div>
Последний раз редактировалось kobezzza, 24.05.2013 в 20:01.
|
|
24.05.2013, 20:09
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
Сообщение от kobezzza
|
Кстати, могу подсказать, как сделать оч просто наследование в CSS. Достаточно использовать паттерн БЭМ и Stylus.
|
погоди погоди, это то тут при чем)? челвоек сам будет оформлением заниматься тут он полностью свободен, свойство class я вообще не трогаю, я делаю либу виджетов же.
А потом, в качестве пользователя этой либы, начну пилить эти самые виджеты как дополнение к либе))
|
|
24.05.2013, 20:12
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
погоди погоди, это то тут при чем)?
|
На будущее
|
|
24.05.2013, 20:33
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
Ну а вообще идея такая что при инициализации модули просто пихаются в одноименный массив
ui.window[0] и.т.п.
а те которые имеют айдишники пихаются под айдишниками
ui="window#myChat"
в скрипте будет доступен как
ui.window.myChat
норм?
|
|
24.05.2013, 20:38
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
kobezzza,
чувак, вот ты пилишь шаблоны но почему ты не используешь XML синатксис?
Я вот например показал идею как можно пилить шаблоны тупо в HTML как модули.... Мне кажется дикостью что-то для этого придумывать более.
|
|
24.05.2013, 20:50
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
норм?
|
Да, только нужно ещё для каждого блока уникальный ИД генерить, чтобы не было коллапса, когда на странице окажется 2 одинаковых модуля.
Сообщение от megaupload
|
чувак, вот ты пилишь шаблоны но почему ты не используешь XML синатксис?
|
Гм, наверно мне так привычнее и удобнее. К тому же я часто пишу шаблоны не только для XML подобных структур и мне как то удобнее использовать более нейтральный синтаксис и не возникнет проблем, если вдруг моя директива-тег будет использовать в требуемом подмножестве xml (а XML неймспейсы как в XSLT меня бесят ). Кароч мне так удобней
Последний раз редактировалось kobezzza, 24.05.2013 в 20:55.
|
|
|
|