v0.3.0
Новые возможности
- [ns] Добавился метод ns.reset, позволяющий установить все сущности приложения в начальное состояние.
- [ns] noscript научился работать на сервере. Можно первую страницу сгенерировать в node.js, отправить html с данными в браузер и запустить приложение.
- [yate] Добавлен хелпер
modelError()для получения ошибок модели #274 - [yate] Добавлена external-функция
ns-generate-url()- мост доns.router.generateUrl() - Для Vow.Promise реализована обертка, логирующая все ошибки через
ns.log.exception#289 - [ns.Events] Из nommon перенесен миксин ns.Events. Теперь вызовы обработчиков обернуты в try-catch, если произошла ошибка в обработчике, то это не ломает всю очередь. #328
- [ns.Model] Добавлен статический метод
ns.Model._clearдля очищения данных всех моделей без удаления декдараций. Метод полезен при тестировании приложений на основеnoscript. - [ns.ModelCollection] Методы
#bindModelи#unbindModelстали публичными и могут использоваться, к примеру, для подписки коллекции на кастомные события вложенных моделей - [ns.Page] Добавлены события
ns-page-after-loadиns-page-error-load#305 - [ns.Page] Появился метод
ns.page.followRoute, который вызывается после роутинга, но до запуска обновления. Через него можно реализовывать предзагрузку. - [ns.Update] Добавлен метод
#perfкуда приходят метрики скорости выполненияns.Update
Несовместимые изменения
- [ns] Удалена функция
ns.transaction, как неиспользуемая #296 - [ns.Model] Метод
#invalidateбольше не удаляет данные модели, а просто меняет ей статус. - [ns.Update] В модуле произошел сильный рефакторинг. Точкой переопределения шаблонизатора теперь является не
#render, аapplyTemplates - [ns.View] Из yate-дерева удалено свойство
page- ссылка на объектns.page.current. Если оно необходимо, то следует реализовать соответствующие external-функции в проекте. #272 - [ns.View] yate-дерево сильно изменено и упрощено. Если использовались какие-то свойства из него, то надо ознакомиться с новой документацией.
- [ns.View] Обработчики "космических" событий noscript теперь навешиваются на show, если не указан
@init. Раньше было наоборот. Для сохранения совместимости надо всем событиям без@showдобавить@init. #316 - [ns.View] Сильно переделан JSON для шаблонизатора. #273
Исправления
- [ns.Model] Гарантированна уникальность моделей при добавлении в коллекцию #266