Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Унылого треша тред (https://javascript.ru/forum/offtopic/47728-unylogo-tresha-tred.html)

danik.js 31.05.2013 13:32

Смысл в том что это не "круто"

Maxmaxmaximus.js 31.05.2013 13:48

Цитата:

Сообщение от danik.js
Смысл в том что это не "круто"

Почему?

iMegaMaxmaxmaximus 11.06.2013 19:26

UI.js 0.4 практически готов
 


Это например модуль Menu он делает поведение меню, все дочерние элементы контейнера он принимает за пункты меню, за шаблон активного пункта меню принимает первый пункт. все просто... пока просто))


<link rel="stylesheet" href="http://football-forecasts.ru/style.css"/>
<script src="http://football-forecasts.ru/fix.js"></script>
<script src="http://football-forecasts.ru/ui.min.js"></script>

<style>
  .green{ background-color: green }
  .red{ background-color: red}
</style>


<script>
ui.module['Menu'] = function(module) {

  var $items = module.children();
  var $active = $items.eq(0);
  var activeClass = $items.eq(0).classMask($items.eq(1));

  $items.on('click', function() {
    $active.removeClass(activeClass);
    $active = this.addClass(activeClass);
  });

};
</script>


<nav ui="Menu" class="row Menu">
  <a class="__active">google</a>
  <a>yandex</a>
  <a>microsoft</a>
  <a>msn</a>
  <a>rambler</a>
  <a>yahoo</a>
</nav>


<ul ui="Menu" class="column Menu">
  <li class="green __active">Пункт 1</li>
  <li class="green">Пункт 2</li>
  <li class="green">Пункт 3</li>
  <li class="red">Пункт 4</li>
  <li class="green">Пункт 5</li>
</ul>

iMegaMaxmaxmaximus 11.06.2013 19:30

Скоро добавлю ваши любимые модельки и шаблоны)

nerv_ 11.06.2013 19:53

недавно тебя вспоминал :) В лагерь на лето ездил что ли? )

iMegaMaxmaxmaximus 11.06.2013 19:54

Цитата:

Сообщение от nerv_
В лагерь на лето ездил что ли? )

мне 21 год какой лагерь

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

nerv_ 11.06.2013 19:56

Цитата:

Сообщение от iMegaMaxmaxmaximus
мне 21 год какой лагерь

тот самый :D

iMegaMaxmaxmaximus 11.06.2013 19:58

гхыыы :D


mta88 12.06.2013 07:39

Цитата:

Сообщение от Дзен-трансгуманист (Сообщение 255794)
Хм... Я правильно понял насчет обратной совместимости с 0.2 и 0.3?

так это ж 0.4
до 1.0 еще далеко:)

iMegaMaxmaxmaximus 12.06.2013 10:26

Цитата:

Сообщение от Дзен-трансгуманист
Я правильно понял насчет обратной совместимости с 0.2 и 0.3?

нет) но дальit пойдет совместимойть,я примерно понял как она должна выглядить теперь пойду только нарасчивать.

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


ах да, теперь можно просто работать и просто изменяя массив и вызывая module.apply обсервер найдет изменения и перересует их )

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

ну вот можно запилить функцию типа




а так же вторым аргументом можно сувать типа шаблон того КАК заполнять модель, например делать массив типа

[{innerHTML:'',classNeme:''},{innerHTML:'',classNem e:''}]
и работать уже с такой моделью ну короче хуй знат можно придумать уже этим занимаюсь)

melky 12.06.2013 14:01

Цитата:

Сообщение от Дзен-трансгуманист
Хм... Я правильно понял насчет обратной совместимости с 0.2 и 0.3?

API (интерфейс) обычно становится стабильным на мажорной версии 1 и дальше с мажорными версиями немного меняется, сохраняя совместимость

а какое тут API? документации нет... собстно, как и домашней страницы библиотеки

iMegaMaxmaxmaximus 12.06.2013 14:12

Цитата:

Сообщение от melky
API (интерфейс) обычно становится стабильным на мажорной версии 1 и дальше с мажорными версиями немного меняется, сохраняя совместимость

чо правда)?: а я думал это я придумал)

Цитата:

Сообщение от melky
а какое тут API? документации нет..

дайте мне еще немного времени)


ui="Модуль" ui="Модуль-виджет"

iMegaMaxmaxmaximus 12.06.2013 23:26

Цитата:

Сообщение от Дзен-трансгуманист
Как минимум, пользователь не должен после каждого апдейта кромсать себе всю разметку.
Ибо у тебя не только функционал плавает, но и способ его интеграции с html.

Вообщзе-то уже ничего давно не плавает... и с html я давно определился ...

Цитата:

Сообщение от Дзен-трансгуманист
Кстати, не знаю, говорил уже кто-то или нет, но глядя на твои скрины создается впечатление, что смотришь на монитор человека с ограниченными возможностями. Реально неудобно, сделай шрифт поменьше пунктов на 6.

но у меня маленький монитор с большим разрешением как у эпл) ну учту ок

iMegaMaxmaxmaximus 12.06.2013 23:29

Дзен-трансгуманист,
аа стой ты не понял, вот эта вот херня что за шаблон берется первый пункт и.т.п. это все просто ПРИДУМАЛ ЧЕЛОЕВК СОЗДАВАВШИЙ МОДУЛЬ блять)) это просто то что позволяет движок и все)) то есть как видишь модуль создан на стороне пользователя, по этому я его и показал, движок это просто

ui="Модуль"
ui="Модуль Модуль2" - 2 модуля на одном элементе
ui="Модуль-виджет"
ui="Модуль2 Модуль-виджет" - это и модуль и виджет какого-то модуля одновременно
ui="Модуль{ ДругойМодуль }" - подписываемся на все сообщения другого модуля
ui="Модуль{ ДругойМодуль сокет1 сокет2 }" - подписываемся только на сообщения по этим сокетам
ui="Модуль{ ДругойМодуль сокет1 сокет2, СовсемДругойМодуль сокет 1 }" - подписываемся на несколько модулей


Если ни один сокет не указан то подписываемся на все сокеты но разумеется обрабатываем только нужные нам) сокеты между модулями это как розетки по которым они обмениваются сообщениями) я позже покажу как это) Сокеты можно как слушать так и передавать в них что-то.

melky 13.06.2013 01:22

Цитата:

Сообщение от iMegaMaxmaxmaximus
дайте мне еще немного времени)

а я уже сделал страничку для своей платформы анимации ))

правда API поменялся, как и сам механизм и философия библиотеки вообще, я вообще пока не занимаюсь ничем во время сессии , ну да пох )

http://colch.github.io/melAnim/

как только освобожусь из под гнета сессии, первым делом займусь опенсоурс проектом ребят с форума (привет команде!), а потом переделаю фреймворк и документацию

между делом, пьяный мозг твердит, что у страничек на github огромный потенциал!

iMegaMaxmaxmaximus 13.06.2013 02:34

Цитата:

Сообщение от melky
а я уже сделал страничку для своей платформы анимации ))

это которая если есть использует css а если нет то эмулиирует?

iMegaMaxmaxmaximus 13.06.2013 05:01

Цитата:

Сообщение от Дзен-трансгуманист
А логическое состояние в css кто запихнул? тоже человек создавший модуль?)

да) потому что я пока не дал ему моделей и прочих штук) пока это просто jquery с модулями

и раз уж о jquery стайле заговорили, давно хотел это сделать =)



Цитата:

Сообщение от Дзен-трансгуманист
Подсистема сообщений является хорошей практикой для коммуникации в одноранговой системе сущностей.

ну слоев тут вроде как нет пока хотя задумывалось как аналог CSS только с "поведением" а не с оформлением, а там есть слои и прочее. тут пока нет слоев, то есть сделать то можно тока будет путаница ну пока хз.

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

iMegaMaxmaxmaximus 13.06.2013 05:07

блин пасоны мне нравится эта штука)) подключил либу, создал папочку с модулями, и все само работает.

можно заниматься сайтом а не архитектурой сайта


даже щас это уже приятно

DjDiablo 13.06.2013 06:39

Цитата:

Сообщение от Дзен-трансгуманист
Подсистема сообщений является хорошей практикой для коммуникации в одноранговой системе сущностей.

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

Цитата:

Сообщение от melky
(привет команде!)

И тебе привет :)

iMegaMaxmaxmaximus 13.06.2013 12:54

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


<div ui="Menu Menu-item"></div> сам себе и модуль и виджет модуля)



<div ui="Menu#id-item">
  <div ui="Meni#id"></div>
</div>



я сделал это для того потому что не знал вообще что делаю) чтобы потом гибкость была

По сути эти штуки просто маркеры того что чем будет, и все. логика применяется игнорируя почти разметку, то ест не должно быть зависимости от разметки, ну разве что иногда в случае меню например) . (надо это учитывать когда модули пилить будешь)

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

iMegaMaxmaxmaximus 13.06.2013 12:58

путаю, а что? я не знаю как назвать, придумай название?

iMegaMaxmaxmaximus 13.06.2013 13:29

Цитата:

Сообщение от Дзен-трансгуманист
это и есть сама логика, это часть механизма, а не ее продукт.

у меня так и есть, выходит что не путаю

модуль это когда система состоит из кусочков взаимозаменяемых и один такой кусочек модуль.

ну вот, юзеринтерфейс состоит из модулей) нельзя создать модуль который ни чо нерисует)
(ну это пока нельзя потому что это ui часть)


кстати а с сервером можно общаться типа того)) api задаешь такой и все



или если передать в ui.api констурктор то он сконструирует обьект api ) ну вы поняли

iMegaMaxmaxmaximus 13.06.2013 13:40

Пасоны просьба, я не совсем представляю как привязать модель к шаблону.

Например я хочу работать с моделью меню так

this.items = ['пункт 1','пункт 2','пункт 3','пункт 4'];
this.active = 2; // индекс активного пункта

чтобы я просто менял this.active а он применял класс к этому пункту меню. как должен выглядить шаблон этого во всяких ангулярах там и.т.п. подскажите кто знает

так штоле?

а все придумал))) все проще))



п.с. класс __active мы получаем уже известным выше способом

переменная active хранится в замыкании и мы можем при module.apply отслеживать её изменения и.т.п. короче это не суть суть в том что я понял что так куда круче описывать шаблоны чем засирать html

iMegaMaxmaxmaximus 13.06.2013 13:57

это if обсервер =) а функция применяется для каждого элемента в наборе (сам модуль тоже наследует от набора, применяется к контейнеру на который помешан модуль)


iMegaMaxmaxmaximus 13.06.2013 14:09

ну чо норм тема с модельками?

iMegaMaxmaxmaximus 13.06.2013 14:32

Пишешь так



в коде пишешь так


И этот конструктор примерится к этому диву где ты можешь сделать с дивом разные вещи.

Например так:




<script src="http://football-forecasts.ru/fix.js"></script>
<script src="http://football-forecasts.ru/ui.min.js"></script>

<script>
ui.module['Menu'] = function(module) {

  module.on('click', function() {
    alert('я див')
  })

};
</script>
 
<div ui="Menu">menu</div>

iMegaMaxmaxmaximus 13.06.2013 14:37

Цитата:

Сообщение от Дзен-трансгуманист
И как мне получить 2 отдельных инстанса, если var active один на всех, а??

функция которая кладется в ui.module применяется как конструктор к каждому найденому модулю)


Menu это модуль, внутрь модулей можно помещать виджеты, виджеты пишутся через черточку, а вначале имя модуля к которому они относятся:




В коде они доступны так:


все просто

iMegaMaxmaxmaximus 13.06.2013 14:41

Цитата:

Сообщение от Дзен-трансгуманист
И как мне получить 2 отдельных инстанса

в идеале тебе вообще ничего не нужно получать, система должна состоять из отдельно живущих модулей и самодостаточных без внешнего воздействия) НО, на всякий случай я оставил это:

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

<script>
ui.module['Menu'] = function(module) {

  this.say = function(){ alert('say') };

};
</script>


<div ui="Menu#myMenu"></div>


<script>
  ui.myMenu.say() //тут наш инстанс лежит по айдишнику
</script>

iMegaMaxmaxmaximus 13.06.2013 14:43

Цитата:

Сообщение от Дзен-трансгуманист
Покажи на каком-нибудь образце побольше. Ну например, сделай конфигурируемое поле для ввода даты и/или времени, причем чтобы при вводе даты я мог сделать это не только текстовым вводом, но и через календарь.

щас, отличная идея) ни разу не сталкивался с потребностью в шаблонах. ща попробуем сделать.

iMegaMaxmaxmaximus 13.06.2013 14:56

Ну короче ГРУБО говоря, это задумывалось делать как есть глобальный модуль Template и шаблон описывается как его "виджет".




Потом юзером создается модуль InputDate который подписывается на все сокеты модуля Template но слушает только нужный, одноименный.

Внутри же мы слушаем как модуль шаблонов после инициализации начнет рассылать всем подписчикам копии шаблона (а сам шаблон из разметки удалит разумеется).





Но тут надо продумать как красиво сделать чтобы можно было например применять разные шаблоны датавводителей и.т.п. а не только одноименные.

А да, у виджетов на этот случай есть второй уровень этим мы дадим знать что на что нацеплять и какие обработчики на что вешать)))


iMegaMaxmaxmaximus 13.06.2013 15:08

п.с. модуль Template глобальный и встроенный его обьявлять не нужно) он висит на уровне боди

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

да и мне кажется неправославно как-то для такой важной штуки использовать модули не по назначению.да и хранить шаблоны в разметке тож не круто) лучше в отдельных файлах. имхо. надо будет подумать над этим) и ты только что придумал версию 0.6

iMegaMaxmaxmaximus 13.06.2013 15:22

Цитата:

Сообщение от Дзен-трансгуманист
настройка опций

вы же говорили што это ЗЛО БЛЯТЬ!!" а я поверил и убрал параметры!! пздц

Цитата:

Сообщение от Дзен-трансгуманист
я буду рад если за неделю управишься

ну я не собираюсь это делать целенаправленно так как я через 2 дна устраиваюсь на работу и доделываю свой другой сайт, ну а так спс за цель простого примера. ну ок\ Да и щас есть ващи поважнее например сокеты реализовать) и методы добавить разные.


вопрос, как скзаать-то, шаблон и дизайн этой штуки кто им должен заниматься?
он должен находиться в отдельном файле или нет? и.т.п. Как это у обычных людей организовано?

iMegaMaxmaxmaximus 13.06.2013 15:35

ты заставил меня сделать это ;(;(;((;(;(я так не хотел вводить что-то кроме ui


iMegaMaxmaxmaximus 13.06.2013 15:43

Цитата:

Сообщение от Дзен-трансгуманист
стили для дней календаря:

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

melky 13.06.2013 16:27

Цитата:

Сообщение от iMegaMaxmaxmaximus
с моего сервера

с CDN, ты хотел сказать?

melky 13.06.2013 16:37

Цитата:

Сообщение от Дзен-трансгуманист
начни испытывать его на реальных дизайн-задачах

самый лучший юнит тест для любого проекта :)

iMegaMaxmaxmaximus 13.06.2013 18:14

ладно вы правы...прост мне все страшно что вдруг получится ангуляр. вот уже и шаблоны появляются(( и директива вторая... но с другой стороны нет смысла тупо стараться НЕ БЫТЬ похожим на ангуляр. Нужно понапиздить во со всех все хорошее и добавить своего хорошего.

iMegaMaxmaxmaximus 13.06.2013 18:21

Чудо функция Class
 
http://habrahabr.ru/post/132698/#comment_4404597

у меня баттхерд (((((

DjDiablo 14.06.2013 11:31

Эврика !!!!
Не только ты умеешь функцию Class писать, жизнь млять кончена :D
Тебе эту ccылку раз 10 давали по моему, когда ты свои классы пиарил :)

В следующий раз когда покажется что ты очень крут читай это

Shaci 14.06.2013 12:21

Цитата:

Сообщение от DjDiablo
Не только ты умеешь функцию Class писать

Чувак всерьез думал, что он умный и избранный, написав функцию???
ППц...


Часовой пояс GMT +3, время: 06:46.