Skip to content

Хранилище для проектов на Vue в стиле Active Record ORM

License

Notifications You must be signed in to change notification settings

evas-js/vue-orm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Хранилище для проектов на Vue в стиле Active Record ORM

  • Модели данных описываются классами, в которых можно настроить:
    • CRUD-эндпоинты
    • Поля модели (с типами, правилами валидации и дефолтными значениями)
    • Связи с другими моделями (one-to-one, one-to-many, many-to-many)
    • Отображение полей (привязать компоненты и передать пропсы)
    • Группировку полей
    • Поля показываемые в зависимости от значений в других полях
  • Модели хранятся в реактивном Map и имеют:
    • CRUD-методы для вставки (создание + сохранения), подгрузки записи/записей
    • Методы для получения всех загруженных записей и их-количества
    • Query для выборки из загруженных записей по условиям:
      • where (and, or и их вложенности) для фильтрации,
      • orderBy для сортировки,
      • offset, limit и paging для партицирования выборки
      • with, withAll для использования связей в выборке
  • Записи модели имеют:
    • CRUD-методы для сохранения, удаления
    • Валидацию по правилам полей (автоматически на сохранении и в ручном режиме по необходимости)
    • Последний сохранённый $state, статус $isDirty и метод получение имён dirty полей
  • Подключается как vue плагин, модели в компонентах доступны через this.$models.<modelName>
npm install @evas-js/vue-orm

About

Хранилище для проектов на Vue в стиле Active Record ORM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published