Как сделать так, чтобы ребенок выглядел как родственник в sanity.io? - PullRequest
1 голос
/ 11 апреля 2019

У меня сформирована структура документов:

{
  name: 'item',
  title: 'item',
  type: 'document',
    fields: [
    {
      name: 'category',
      type: 'reference',
      title: 'category',
      to: { type: 'settingCategory' },
      validation: Rule => Rule.required(),
    },
  ],
}

Я не хочу менять структуру на рабочем столе.Но мне нужно показать category в пользовательском интерфейсе студии как «относительная папка».Возможно ли это?

- UPD

В @sanity/desk-tool/structure-builder теперь у меня такая структура:

export default () =>
  SB.list()
    .id('root')
    .title('root')
    .items([
      SB.documentTypeListItem('item'), //all items are here, and they have a category by field in the each other
      ...
          ])
          ...
        ),
        ...
    ])

Но мне нужно показать категорию как родитель.И мне нужно каким-то образом связать мое значение категории с помощью SB.list().Категория, это независимый документ с полями, у меня уже есть.

- UPD2

Я имею в виду, у меня теперь есть один родственник .documentTypeListItem(name:item), и у него есть элементы с полемtags.Каждое поле тега имеет одно значение.Теперь у меня есть проблема, мне нужно разделить item s в соответствии с этим значением поля тега на documentTypeListItem(name:tagOne), documentTypeListItem(name:tagTwo) и т. Д. В панели управления.

- UPD3

ЕслиПереезд невозможен.В качестве альтернативы можно будет показать значок для элемента в соответствии с выбранной категорией.Примерно так, но это не работает:

name: 'item',
  title: 'item',
  type: 'document',
  fields: [
    {
      name: 'categoryCheck',
      type: 'string',
      title: 'category',
      options:  {
        list:[
          {
            name: 'one',
            title: 'One',
            type: 'string',
            icon: 'FaIconOne',
          },
          {
            name: 'two',
            title: 'two',
            type: 'string',
            icon: 'FaIconTwo',
          },
        ],
        layout: 'select'
      },
    },
    ],
  preview: {
    select: {
      title: 'title.name',
      media: 'categoryCheck.icon'
    }
  }
}
...