Skip to content
chestozo edited this page Nov 7, 2012 · 5 revisions

view

  • Динамический ключ: иногда хочется строить ключ view по расширенным params-ам. Это можно сделать, если строиться этот ключ будет после получения моделей. Минус в том, что мы когда делаем update мы не можешь проверить, что уже есть отрендеренное view до того, как подтянем все модели для этого view. Выглядит немного костыльно...

params

  • после получения модели можно расширить параметры params. Было бы круто это тоже декларировать, как-то так:
letter: {
  'extract:params': {
    'folder-id': '.folder_info.id' // jpath
  }
}

Анимация

  • Пока ни до чего не договорились окончательно.
  • Только, что анимацию лучше делать css-ную:
<div class="parent_box">
  <div class="old_state hiding"/>
  <div class="new_state showing"/>
</div>
.hiding {
  left: -100px;
  transition-property: left;
  transition-duration: 1s;
}
.showing {
  left: 0;
  transition-property: left;
  transition-duration: 1s;
}
  • Можно было бы в layout прописывать как анимируется отдельный view.
  • Можно у box прописывать, как анимировать блоки внутри него.

Асинхронные блоки

  • В layout нужно иметь возможность указать порядок загрузки асинхронных блоков, к примеру, для такой ситуации:
{
  slider: false,
  tags: false,
  ads: false
}
// Хочется иметь возможность записать что-то вида:
{
  "slider(0)": false,
  "tags(1)": false,
  "ads(2)": false
}

Зависимости по данным

  • Для некоторых моделей (к примеру, для do-моделей) может существовать зависимость от других моделей. Эти зависимости можно указать при объявлении модели, или при объявлении view, или и там и там )
'model1': {
  depends: 'model2',
  as: '.auth_token', // jpath
  to: 'auth_token'  // params.request
}

Такая запись означает, что при запросе model1 кто-то (updater или request) проверит наличие валидного кеша в model2, возмет из нее данные по jpath и добавит их в запрос к model1. doochik: должен ли этот параметр попасть в ключ view и model? Мне кажется, да.

Раскладка моделей на несколько

  • У модели можно будет указать jpath для вытягивания подмоделей из составной модели:
list: {
  submodels: {
    letters: '.letters',
    folder: '.folder_info'
  }
}

Модель с paging-ом

  • Бывают простые модели типа списка писем, который отдаётся порциями.
  • А бывают ещё древовидные модели, где каждый уровень в дереве отдаётся тоже порциями.
  • Кажется, нужно предусмотреть базовый класс для моделей хотя бы первого типа...