Пример кода для пользовательских полей Keystone JS 5? - PullRequest
0 голосов
/ 19 февраля 2020

Я заинтересован в написании пользовательских полей для Keystone JS 5. Документация здесь , но я нахожу это несколько непрозрачным (то есть не полностью объяснительным). Имеется ли образец кода? Я посмотрел «демо-проекты» и «тестовые проекты» в репозитории Keystone, но ничего не увидел.

1 Ответ

1 голос
/ 19 февраля 2020

Keystone Js Пользовательские поля плохо документированы и не легко доступны. фактически вся концепция написания целого настраиваемого поля может быть излишней.

вот пример, который один из основных членов команды скопировал из тестового проекта. - https://github.com/MadeByMike/keystone-custom-field/blob/7caf0139c189eadda1884a86073c6945bdd6ff05/index.js#L15

это то, что вам нужно сделать: 1. вам нужно создать папку для поля 2. вы можете скопировать реализацию текстового поля, чтобы начать с 3. там index. js файл должен экспортировать специфицированный c объект (экспорт по умолчанию), подобный этому (я добавил несколько комментариев для каждой строки)

{
  type: 'Stars', // name of the implementation
  implementation: Stars, // implementation itself
  views: { // all views are required you can copy the implementation from Text field)
    Controller: Integer.views.Controller, // it is using controller from Integer field type
    Field: require.resolve('./views/Field'), // field which goes into edit page or create dialog
    Filter: Integer.views.Filter, // this adds filters in the list page
    Cell: require.resolve('./views/Cell'), // view for list page where you usually see the text, for Relationship it is rendered as link.
  },
  adapters: {
    mongoose: MongoIntegerInterface, // mongoose adapter specific inplementation
    knex: KnexIntegerInterface, // knex adapter specific implementation,.
  },
}
создать представления для каждого типа (Поле, Фильтр, Ячейка и т. Д. c.) импортировать поле (импорт по умолчанию) в определении схемы и использовать его как обычное поле. любая пользовательская опция передается пользовательской реализации.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...