Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.05.2013, 19:31
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Например виджет title модуля window позволяет цеплять за него и окно будет перетаскиваться. таким виджетов можно создать кучу а использовать только нужные. например можно создать виджет нижней границы ресайза)) и.т.п. норм идея? можно создать несколько кнопок закрыть и.т.п.

в аттрибуте class мы определяем оформление а в аттрибуте ui мы определяем логику

а еще например можно сделать так

ui="window:close, window:title" тогда это будет и кнопка закрытия и место за которое можно перетаскивать)
(не исключены конфликты но это и хорошо, так как логики вообще ничего друг о друге незнают,и это полная свобода)
Ответить с цитированием
  #12 (permalink)  
Старый 24.05.2013, 19:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 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>
__________________
kobezzza
code monkey
Ответить с цитированием
  #13 (permalink)  
Старый 24.05.2013, 19:44
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от kobezzza
Норм, только мне не нравится, что нет инкапсуляции в шаблоне.
Разумеется я и на эту тему думал))) я конечно пока логикой занимаюсь но тем не менее не и шаблоны будут)

А вообще я думал сделать что то вроде

<div ui-init="chat"></div>

и он сам все нарисует НО это же уебанство, а как классы расставлять, разметку, контроль где и.т.п.






А вообще приведи пример необходимости использования использования шаблонной разметки?
Ответить с цитированием
  #14 (permalink)  
Старый 24.05.2013, 19:48
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

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



Хэштег, по идее гозара, служит персонификатором инстансов модулей) и мы можем это использовать и тут

модуль init залезет и достанет нужный инстанс из модуля template, щас даже ради прикола это сделаю)

Последний раз редактировалось megaupload, 24.05.2013 в 19:50.
Ответить с цитированием
  #15 (permalink)  
Старый 24.05.2013, 19:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 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
code monkey

Последний раз редактировалось kobezzza, 24.05.2013 в 20:01.
Ответить с цитированием
  #16 (permalink)  
Старый 24.05.2013, 20:09
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от kobezzza
Кстати, могу подсказать, как сделать оч просто наследование в CSS. Достаточно использовать паттерн БЭМ и Stylus.
погоди погоди, это то тут при чем)? челвоек сам будет оформлением заниматься тут он полностью свободен, свойство class я вообще не трогаю, я делаю либу виджетов же.

А потом, в качестве пользователя этой либы, начну пилить эти самые виджеты как дополнение к либе))
Ответить с цитированием
  #17 (permalink)  
Старый 24.05.2013, 20:12
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от megaupload Посмотреть сообщение
погоди погоди, это то тут при чем)?
На будущее
__________________
kobezzza
code monkey
Ответить с цитированием
  #18 (permalink)  
Старый 24.05.2013, 20:33
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Ну а вообще идея такая что при инициализации модули просто пихаются в одноименный массив

ui.window[0] и.т.п.

а те которые имеют айдишники пихаются под айдишниками

ui="window#myChat"

в скрипте будет доступен как

ui.window.myChat

норм?
Ответить с цитированием
  #19 (permalink)  
Старый 24.05.2013, 20:38
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

kobezzza,
чувак, вот ты пилишь шаблоны но почему ты не используешь XML синатксис?

Я вот например показал идею как можно пилить шаблоны тупо в HTML как модули.... Мне кажется дикостью что-то для этого придумывать более.
Ответить с цитированием
  #20 (permalink)  
Старый 24.05.2013, 20:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от megaupload Посмотреть сообщение
норм?
Да, только нужно ещё для каждого блока уникальный ИД генерить, чтобы не было коллапса, когда на странице окажется 2 одинаковых модуля.

Сообщение от megaupload Посмотреть сообщение
чувак, вот ты пилишь шаблоны но почему ты не используешь XML синатксис?
Гм, наверно мне так привычнее и удобнее. К тому же я часто пишу шаблоны не только для XML подобных структур и мне как то удобнее использовать более нейтральный синтаксис и не возникнет проблем, если вдруг моя директива-тег будет использовать в требуемом подмножестве xml (а XML неймспейсы как в XSLT меня бесят ). Кароч мне так удобней
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 24.05.2013 в 20:55.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать чтобы цикл не запускался второй раз Brook Events/DOM/Window 5 12.05.2013 21:43
Цикл без подвисания MatrixGru jQuery 5 08.03.2013 11:21
Как обработать бесконечный цикл? Iktash Элементы интерфейса 3 16.11.2012 10:26
Нужен цикл для создания огромного массива apish Общие вопросы Javascript 2 20.09.2012 16:10
Бесконечный цикл Sundro Общие вопросы Javascript 8 08.08.2011 13:58