Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   С тех пор как я поднял членом гирю 0.3 кг (https://javascript.ru/forum/offtopic/38256-s-tekh-por-kak-ya-podnyal-chlenom-giryu-0-3-kg.html)

megaupload 24.05.2013 23:54

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

И я вот думаю как организовать общение между модулями.


Вот 2 окна, нужно писать в инпат одного и выводить в параграф второго.




Конечно, мы можем создать новый модуль stream и обернуть оба окна в него

,



НО, у меня есть идея по круче:

Модули декларируются так module
Виджеты так module:widget

Модули идентифицируются так module#ololo
Виджеты так module#ololo:widget


так вот идея заключается в том чтобы создать ПСЕВДОМОДУЛИ, которые по умолчанию задекларированы в глобальной области на уровне body О_О а если быть точнее то псевдомодуль с кучей встроенных виджетов

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

Есть еще кое что, дело в том что мы можем инициировать один и тот же модуль на одном html элементе несколько раз через запятую

ui="window, window"

то есть по сути будет что то вроде pseudo, pseudo на глобальном body

ок а вот тут вступает фишка с идентефикаторами ))

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

pseudo#ololo:in и pseudo#ololo:out и это создаст pseudo#ololo на уровне body, и тут БАБАХ, если не указать модуль то используется pseudo по умолчанию))

по этому можно писать на всей странице просто так#ololo:in #ololo:out таким образом мы создадим поток, норм идея?

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




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

megaupload 25.05.2013 01:08

Пасоны так не умеют))

<script  src="http://yourjavascript.com/2135510021/fix-min.js"></script>
<script  src="http://yourjavascript.com/2113502250/ui.js"></script>

<style>
  body {
    margin  : 0;
  }

  .window {
    position         : absolute;
    background-color : dodgerblue;
    width            : 300px;
    height           : 250px;
  }

  .title {
    position         : relative;
    margin           : 0;
    text-align       : center;
    cursor           : pointer;
    height           : 40px;
    background-color : coral;
  }

  .close {
    position : absolute;
    left     : 2px;
    top      : 2px;
  }
</style>


<div ui="window, stream" class="window">
  <h1 ui="window:title" class="title">
    Окно <button ui="window:close" class="close">x</button>
  </h1>

  <input ui="stream:in">

  <h2 ui="stream:out"></h2>
  <h3 ui="stream:out"></h3>
  <h4 ui="stream:out"></h4>
  <h5 ui="stream:out"></h5>
</div>

megaupload 25.05.2013 11:08

Вот так вот у нас делается простой чат


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



во всех сообщениях чата будет положение мыжки на чате по x

megaupload 25.05.2013 11:37

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

megaupload 25.05.2013 11:53

А это например окно чат, в каждом посте которого содержится заголовок окна, содержимое инпата textarea и положение мышки на вертикале относительно того поста.




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

например у модуля окно есть виджет "title" за него можно цеплять, и есть свойство window.title в котором хранится текст заголовок окна.

то есть в яваскрипте можно обратиться как
ui.window[0]title = 'тратата'


и подразумевается что свойство title должно писаться в виджете title

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

megaupload 25.05.2013 12:16

Ангуляром попахивает))



лол, а если вещаем глобальный виджет in на не инпаты, то он подцепляет innerHTML элемента ) хотя по моему это бред

quirksmode 25.05.2013 21:59

по-моему ты долбоеб

megaupload 25.05.2013 22:03

Цитата:

Сообщение от quirksmode
по-моему ты долбоеб

почему)?

Gozar 25.05.2013 23:16

После подобных тем на форуме, я перестал удивляться почему в некоторых объявлениях о приеме на работу есть требование: адекватность (вменяемость).

megaupload 25.05.2013 23:51

ахахаха да да я во все конторы стучался)


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