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

megaupload 22.05.2013 22:27

Пасоны, добавляю 2 киллерфитчи, новый each и автоматические применение виджетов.


Вопрос, какой лучше синтаксис заюзать в each? какой из вариантов?
Мне больше нравится первый но с перевода на английский должно быть как во втором. Мне больше нравится первый потому что значение используется чаще чем ключ. и куда приятнее писать

item in menu.items

Gozar 22.05.2013 22:47

megaupload,
Почему urax, почему не data-urax?

megaupload 22.05.2013 23:22

потому что each а не data-urax-each я полагаю

Shaci 22.05.2013 23:42

Цитата:

Сообщение от quirksmode
MVC для пидарасов

обосрать любой дибил может

megaupload 22.05.2013 23:43

Пасоны, сделал апдейт спиздив идею с анингуляра)) норм?






Shaci 22.05.2013 23:52

Цитата:

Сообщение от megaupload
анингуляра

Гуляр точно Анин?
Может Светин или Юлин?

megaupload 22.05.2013 23:53

Няшнота, да)? а наследование можно будет делать так.

<div ux-module="box, chat">

</div>


создается смешаный виджет и применяется к этому элементу. ^__^
методы перекрываются в порядке обьявлений виджетов. это если обращаться через this.ololo или просто ololo
но можно обратиться и конкретно указав тип box.ololo или chat.ololo

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

А терь ВНИМАНИЕ, МЕГАДОМИНАТУСКИЛЛЕРФИТЧА:



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

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

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

megaupload 23.05.2013 00:07

А в ангуляр такое есть???????:D

Gozar 23.05.2013 01:25

Цитата:

Сообщение от megaupload
потому что each а не data-urax-each я полагаю

Флаг тебе в руки и 100500 велосипедов в будущем.

megaupload 23.05.2013 01:47

Цитата:

Сообщение от Gozar
Флаг тебе в руки и 100500 велосипедов в будущем.

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

megaupload 23.05.2013 01:52

ВЕРСИЯ 0.2.1



<script src="http://yourjavascript.com/1544031232/fix.js"></script>
<script src="http://yourjavascript.com/5235321071/concatenated.js"></script>

<div ux-module="box">
  <h1>{{moduleName}}</h1>
  <p each="item in items">{{item}}</p>
</div>

-------------------------------------------

<div ux-module="box:ololo">
  <h1>{{moduleName}}</h1>
  <p each="item in items">{{item}}</p>
</div>


<script>

  UX.modules['box'] = Module.extend(function() {
    this.moduleName = 'Бокс';
    this.items = [1, 2];
  });


  // добавим данные в вид модуля box типа "ololo"
  UX.modules['box:ololo'] = {
    items: ['рас', 'два', 'три']
  };

</script>


тип модуля описывается так

ux-module="box"

а конкретный инстанс со своими данными состоянием и.т.п. описывается так ux-module="box:ololo" при том наследование модулей ни кто не отменяет, ux-module="window, box:ololo"

вот это называется отец делает

грубо говоря модули box:ololo и box:крякря отличаются только данными

DjDiablo 23.05.2013 07:58

Могло быть хуже :)
Правда я немогу понять что это.

Под виджетом как правило понимают часть UI который быстро и удобно можно использовать много раз. Те же самые виджеты в jquery UI и jQuery mobile можно создавать в пару строк.. Значит как система виджетов твой проект уже не канает. У тябя для слайдера потребуется написать с десяток тегов, против одного в jQueryMobile.

<!--сложный виджет в jQueryMobile созданный одной единственной строкой -->
<input type="range" name="slider-1" id="slider-1" min="0" max="100" value="50">

http://view.jquerymobile.com/1.3.1/d...dgets/sliders/

Виджеты кажись отпадают, по крайней мере в таком виде.

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

megaupload 23.05.2013 08:30

Цитата:

Сообщение от DjDiablo
У тябя для слайдера потребуется написать с десяток тегов

О_О наркоман штоле? апдейт же сделал. спиздив идеи с ангуляра))

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

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

ui="module:widget"


написав эту штуку он сам навесит на элементы все обработчики
А ТАК ЖЕ, можно будет моуль настроить так чтобы он автоматически, при инициализации взял и добавил эти 2 поста из шаблона в "дату" а потом уже к ним плюсовал новые сообщения)) в любом случае создатель модуля будет решать что с ними делать)

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



ну как вам?

DjDiablo 23.05.2013 08:34

Думая над тем что же ты написал (смотрю как есть) пришёл к выводу.

Наверно больше всего твои виджеты смахивают на jQuery плагины но с отличиями.
1) у всех виджетов есть шаблонизатор.
2) Часть логики ui прописывается в атрибутах.
3) связывание данных в рамках одного виджета

Если развивать эту линию то чего нехватает?
1) Виджет должен создавать недостающий HTML как к примеру Range из jQueryMobile в посте выше.
2) При создании HTML из виджета логично по максимуму задействовать шаблонизатор.
3) Обеспечить подписку на события DOM из кода виджета (в module), чтобы не грузить пользователя виджета описывать события в HTML которые нужны просто для того чтобы виджет работал.
4) геттеры и сеттеры для виджета чтобы задавать значения из вне, к примеру из controller в паттерне MVP

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

В плане применения думаю твои виджеты могут применятся там же где и jquery плагины.

Другого применения придумать не смог, так как невижу возможно отделить вывод от данных (в angular, backbone и вообще в любом фреймворке это возможно ). То есть масимум применения это виджеты и то при условии что модуль станет более самостоятельным и не будет требовать от пользователя HTML и атрибутов которые виджет мог бы сгенерить и сам.

Короче определись
либо ты какую-то платформу для виджетов пишеш вроде Widget Factory в jQueryUi но с блекджеком и шлюхами,
либо MVVM фреймворк вроде Angular

megaupload 23.05.2013 09:27

Цитата:

Сообщение от DjDiablo
Часть логики ui прописывается в атрибутах.

чувак, я только что сделал апдейт)) есть только один аттрибут гш ui
ВСЕ )) ну и может each добавлю для галочки, хот логика виджета сама будет все еачи делать)))

Цитата:

Сообщение от DjDiablo
3) Обеспечить подписку на события DOM из кода виджета в module, чтобы не грузить пользователя виджета описывать события в HTML которые нужны просто для того чтобы виджет работал.

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

Цитата:

Сообщение от DjDiablo
Напомню виджет - компонент пользовательского интерфейса удобный для многократного применения. Другими словами виджет создаётся чтобы избежать дублирования кода при описания поведения одинаковых элементов управления.

а у меня не так, у меня теперь все по другому. У меня весь UI делится на модули которые состоят из виджетов. на скрине выше же все показано)
и ДА, ты будешь дублировать разметку модулей КАЖДЫЙ РАЗ, и это не плохо это фитча) я позже обьясню всю идеалогию чтобы вы поняли)

Tim 23.05.2013 09:31

Ну и где Юракс? Мы с посонами уже распечатали и торжественно сожгли документацию по Angular а ты нас напарил лошара

Tim 23.05.2013 09:34

Поправьте если ошибаюсь. Это же только модуль юракса? А где сам юракс? Посоны мб он где то засветил его уже? Кто знает и успел скачать скиньте мне.

Gozar 23.05.2013 11:55

Цитата:

Сообщение от DjDiablo
<!--сложный виджет в jQueryMobile созданный одной единственной строкой -->
<input type="range" name="slider-1" id="slider-1" min="0" max="100" value="50">

И это правильно.

Сам делаю подобно:
<input type="text" data-value="20" data-max="3000" data-min="0" data-step="1" data-type="vertical" data-element="slider">


Это идея расширения и она приходит сама по себе, т.к. логична.

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

Tim 23.05.2013 12:19

Цитата:

Может из urax и вырастет что-то хорошее
А мне кажется он ради спортивного интереса и троллинга всё это делает. Закончится тем что просто бросит всё это и всё.

melky 23.05.2013 18:18

Цитата:

Сообщение от Tim (Сообщение 252319)
А мне кажется он ради спортивного интереса и троллинга всё это делает. Закончится тем что просто бросит всё это и всё.

это уже четвёртый его проект, который он выкладывает на форум (включая идеи и сомнительные демки в виде скринов), по моему. и ни один до конца так и не довёл.

megaupload 24.05.2013 01:20

Цитата:

Сообщение от melky
и ни один до конца так и не довёл.

и это значит что И ЭТОТ проект я до конца не доведу? А это означает что не нужно отписываться в этом топике?
Цитата:

Сообщение от melky
и ни один до конца так и не довёл.

ииииии..? продолжай мысль?

megaupload 24.05.2013 01:24

Цитата:

Сообщение от Tim
Ну и где Юракс?

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

megaupload 24.05.2013 12:24

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

Например вот два варианта

<nav ui="menu">
  <a ui="menu:item" href="#home">Home</a>
  <a ui="menu:item" href="#about">About</a>
  <a ui="menu:item" href="#news">News</a>
</nav>


<nav ui="menu">
  <a ui="menu:item"></a>
</nav>


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

Вопрос, как лучше их идентефицировать в яваскрипте? и какой красивый API к ним предоставить?

Есть такой вариант, писать айдишник модуля в скобках.


Короче помогите придумать няшный синтаксис и api

Gozar 24.05.2013 16:12

Цитата:

Сообщение от megaupload
писать айдишник модуля в скобках.

Встречал индекс в скобках. Айдишник не встречал. Зачем ты два раза пишешь слово menu?
menu(menu2)
одного слова menu недостаточно?
menu(2)


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

megaupload 24.05.2013 16:23

Цитата:

Сообщение от Gozar
Зачем ты два раза пишешь слово menu?

ну потому что это пример показывающий что туда можно что-то писать.......

Цитата:

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

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

и все, а то что {{теги}} похожи так это совпадение, теги я у резига спиздил )


п.с. карма охуеннэ

Gozar 24.05.2013 17:03

Цитата:

Сообщение от megaupload
туда можно что-то писать

А зачем писать что-то?

Нужно писать то, что нужно. Если оно нужно.

Ты сначала создал свой ui атрибут, а теперь пихаешь id в скобки. Нафига? В скобки пихают аргументы(переменные), а ты пихаешь постоянную. Просто придумай свой нифиг никому не нужный синтаксис. Такой, чтобы без доки не поймешь как оно устроено. Хотя php уже придумали ... ты децл опоздал. Ну тогда сдирай с php.

Gozar 24.05.2013 17:09

Тебе знакомы слова: расширяемость и обратная совместимость? Это когда ты придумываешь что-то новое, а старое при этом не перестает работать, т.к. идея расширяема и обратно совместима. Если же в будущем ты передумаешь и решишь избавиться от menu(menu2), то тогда тебе следует дать по яйцам ибо кал.

Вот тебе идея синтаксиса.

megaupload 24.05.2013 17:41

ни чо нового не сказал, идею не дал..

module[ololo] может так?

megaupload 24.05.2013 17:42

Цитата:

Сообщение от Gozar
Ты сначала создал свой ui атрибут, а теперь пихаешь id в скобки

блять ты гений

module#ololo

melky 25.05.2013 15:40

Цитата:

Сообщение от megaupload
А это означает что не нужно отписываться в этом топике?

это программисту биология "не нужно". а я захотел и отписал

Цитата:

Сообщение от megaupload
ииииии..? продолжай мысль?

и её и закончил

посмотрим, доведёшь ли ты проект до конца

megaupload 25.05.2013 15:51

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

megaupload 25.05.2013 16:20

Пасоны, проблема UI 0.3
 
возникла проблема, как соединить 2 модуля




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

Gozar 25.05.2013 16:45

Цитата:

Сообщение от megaupload
как соединить 2 модуля

Что значит соединить?

Введи
<div ui="menu" ul-target="slideshow">


или

<div ui="menu" ul-link="slideshow">

если я правильно понял


А ещё лучше:
<div ui="menu:item->slideshow::item#home">


Пусть все обосрутся от зависти с твоим няшным ООAPI или просто обосрутся, да, точка :)

megaupload 25.05.2013 16:46

Сделать что-то вроде этого, описать связь.


Gozar 25.05.2013 16:53

Я описал, смотри выше.

Gozar 25.05.2013 16:54

Цитата:

Сообщение от megaupload
ctrl

- катаракта левого глаза?

megaupload 25.05.2013 16:55

Gozar, да ты гонишь)) я то же придумал эту стрелочку)!!

я придумал параметры модуля и стрелочку указывающую связи




megaupload 25.05.2013 16:56

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


но куда круче сделать не просто параметры В ТОМ ПОРЯДКЕ В КОТОРОМ КОНСТРУКТОР ИХ ЖДЕТ, а что-то вроде именованых параметров

Gozar 25.05.2013 16:58

Цитата:

Сообщение от megaupload
Gozar, да ты гонишь)) я то же придумал эту стрелочку)!!

Не хочу тебя разочаровывать, но -> и :: придумали задолго до тебя.

http://php.net/manual/ru/language.oop5.php

Gozar 25.05.2013 17:01

Цитата:

Сообщение от megaupload
я придумал параметры модуля и стрелочку указывающую связи

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


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