NavItem.ts 796 B

123456789101112131415161718192021222324
  1. import { types } from 'mobx-state-tree';
  2. const BreadcrumbItem = types.model('BreadcrumbItem', {
  3. title: types.string,
  4. url: types.string,
  5. });
  6. export const NavItem = types.model('NavItem', {
  7. id: types.identifier(types.string),
  8. text: types.string,
  9. url: types.optional(types.string, ''),
  10. subTitle: types.optional(types.string, ''),
  11. icon: types.optional(types.string, ''),
  12. img: types.optional(types.string, ''),
  13. active: types.optional(types.boolean, false),
  14. breadcrumbs: types.optional(types.array(types.late(() => Breadcrumb)), []),
  15. children: types.optional(types.array(types.late(() => NavItem)), []),
  16. breadcrumbs: types.optional(types.array(BreadcrumbItem), []),
  17. });
  18. export const Breadcrumb = types.model('Breadcrumb', {
  19. title: types.string,
  20. url: types.string,
  21. });