Javascript.RU

Результаты опроса: Как вам UI
Похоже на унылое говно 20 68.97%
Однозначно буду использовать 7 24.14%
Пока не разобрался что это 2 6.90%
Голосовавшие: 29. Этот опрос закрыт

Создать новую тему Ответ
 
Опции темы Искать в теме
  #291 (permalink)  
Старый 10.07.2013, 01:02
Профессор
Посмотреть профиль Найти все сообщения от iKillMaxmaxmaximus
 
Регистрация: 18.06.2013
Сообщений: 215

пасоны версия 0.3



^__^
Ответить с цитированием
  #292 (permalink)  
Старый 18.08.2013, 21:54
Аспирант
Посмотреть профиль Найти все сообщения от iLikeMaxmaxmaximus
 
Регистрация: 07.08.2013
Сообщений: 50

Что бы вы хотели видеть в UI?
Ответить с цитированием
  #293 (permalink)  
Старый 18.08.2013, 23:54
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Кинутым в портфолио и надпись RIP...
__________________
Научу себя плохому
Ответить с цитированием
  #294 (permalink)  
Старый 15.10.2013, 23:25
Интересующийся
Посмотреть профиль Найти все сообщения от KingOfMaxmaxmaximus
 
Регистрация: 15.10.2013
Сообщений: 9

UI.js от Maxmaxmaximus
Короче суть нового UI 901:

Интерфейс состоит из виджетов. Каждый виджет состоит из одного или нескольких HTML элементов и модели. Виджеты создаются так:


<div ui="name"></div>

ui['name'] = function(){

}



В функции мы описываем модель виджета, а в html элементе данные из этой модели доступны через {теги}. Например:

<div ui="name"> Числа {a} и {b} </div>

ui['name'] = function(){

  this.a = 9;
  this.b = 20;

}



За место {a} и {b} подставятся числа, изменяя числа в модели они автоматически перерисовываются в html.


В модель можно класть как просто какие-то константные значения, так и формулы. Например:

<div ui="name"> {a} + {b} = {c} </div>

ui['name'] = function() {

    this.a = 12;
    this.b = 19;
    this.c = '{a+b}';

};


Теперь в ячейке с в любой момент времени будет лежать сумма a+b. Изменив значение a или b мы МГНОВЕННО изменим значение и с. Формулы записываются как строки, только в фигурных скобках, чтобы отличаться от обычных строк.
Вот '{так}' например.

Например мы можем сделать формулу которая будет возвращать всегда актуальный массив:

ui['name'] = function() {

    this.a = 12;
    this.b = 19;
    this.c = '{a+b}';

    this.arr = '{ [a,b,c] }'; // [12, 19, 31]
    // или так
    this.arr = ['{a}', '{b}', '{c}']; // [12, 19, 31]

};


Это называется FRP, когда система в любой момент времени имеет явное и четкое состояние.

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


Последний раз редактировалось KingOfMaxmaxmaximus, 18.10.2013 в 15:48.
Ответить с цитированием
  #295 (permalink)  
Старый 17.10.2013, 10:35
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Maxmaxmaximus,
для тебя почистил и переименовал. Будешь писать оскорбления, пойдешь в бан и я сам лично буду без промедления каждый твой аккаунт сразу же после создания туда отправлять, без объяснения причин!
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #296 (permalink)  
Старый 17.10.2013, 13:42
Интересующийся
Посмотреть профиль Найти все сообщения от KingOfMaxmaxmaximus
 
Регистрация: 15.10.2013
Сообщений: 9

devote, забань ка того кто меня оскорбил в карму. Если не забанишь то грош цена твоим словам и принципам.
Сообщение от devote: Мои слова сказаны после оскорблений. А значит они распространяются на текущее и будущее время.
Сообщение от devote
для тебя почистил и переименовал.
Спасибо)

Последний раз редактировалось devote, 17.10.2013 в 14:04.
Ответить с цитированием
  #297 (permalink)  
Старый 17.10.2013, 14:23
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а в чем сложность писать код таким образом?:
//************************************************************************************** Collection
/** @constructor  */
function Collection(widgets, module) {

  if (widgets instanceof Collection) return widgets;

  if (!widgets) {
    this.emptyCollection = true;
    return
  }

  arrayItemsToObject(widgets, this);

  this.template = this.eq(0).clone();
  this.module = module;

}

Collection.prototype = {
    constructor: Collection,
    each: function(callback) {
    },
    add: function(widget) {
    },
    hasElement: function(element) {
    },
    eq: function(index) {
    },
    eqElement: function(index) {
    },
    indexOfElement: function(element) {
    },
    toggle: function(propName) {
    },
    turnOn: function(prop, filter) {
    },
    clickIndex: function(propName) {
    },
    splice: function(index, count, dataArray) {
    },
    insert: function(index, dataArray, toProp) {
    },
    prepend: function(toProp, dataArray) {
    },
    append: function(toProp, dataArray) {
    },
    filter: function(filter) {
    },
    empty: function() {
    },
    remove: function(index) {
    },
    repeat: function(dataArrayProp, toProp) {
    },
    watch: function(prop, callback) {
    },
    model: function(model, b) {
    },
    bind: function(prop) {
    },
    css: function(props, value) {
    },
    width: function(value) {
    },
    on: (function() {
    }
};
и читать код проще, видя всю структуру класса, да и писать тоже куда проще создать новое свойство, чем каждый раз писать Collection.prototype.и_т_д=что_то
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #298 (permalink)  
Старый 17.10.2013, 16:32
Интересующийся
Посмотреть профиль Найти все сообщения от KingOfMaxmaxmaximus
 
Регистрация: 15.10.2013
Сообщений: 9

Сообщение от devote
а в чем сложность писать код таким образом?:
да это старый быдлокод я уже все переписал) новый код седня ночью покажу/)
Ответить с цитированием
  #299 (permalink)  
Старый 17.10.2013, 18:56
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

я до сих пор не вдуплил зачем.
Это ты так скилл нарабатываешь?
__________________
Научу себя плохому
Ответить с цитированием
  #300 (permalink)  
Старый 17.10.2013, 20:38
Интересующийся
Посмотреть профиль Найти все сообщения от KingOfMaxmaxmaximus
 
Регистрация: 15.10.2013
Сообщений: 9

Сообщение от l-liava-l
я до сих пор не вдуплил зачем.
ЧТО зачем? Зачем я пилю свой FRP MVC фреймворк с блекджеком и шлюхами? Потому что нет нормальных)

Последний раз редактировалось KingOfMaxmaxmaximus, 17.10.2013 в 23:02.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждений тред cyber Оффтопик 2135 03.10.2018 08:10
React'а тред melky Оффтопик 246 13.11.2016 08:07
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Github Atom'а тред melky Оффтопик 16 01.04.2015 07:44