Skip to content

ilb/antd-tables

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

antd-tables

Библиотека для упрощения создания таблиц с CRUD-действиями

Пример:

// schema - ajv-схема для формы создания/редактирования записи. + На основе нее формируются колонки таблицы
const schema = {
  type: "object",
  properties: {
    name: {
      title: "Название",
      type: "string",
    },
    code: {
      title: "Код",
      type: "string",
    },
  },
  required: ["name", "code"],
};

// resource - обьект с функциями getList, create, update и delete
const resource = {
  getList: async () => {
    // получение списка записей
    return [
      {
        id: 1,
        name: "Создано",
        code: "CREATED"
      },
      {
        id: 2,
        name: "Завершено",
        code: "COMPLETED"
      },
    ]
  },
  create: async () => {
    // создание записи 
  },
  update: async () => {
    // изменение записи
  },
  delete: async () => {
    // удаление записи
  },
};

// config - параметры таблицы
// config.title - текст заголовка таблицы
// config.withId - отображать ли в таблице id записи

// access - массив с параметрами доступа: 
//  * create - можно добавлять записи
//  * update - можно редактировать записи
//  * delete - можно удалять записи

<SimpleEditableTable
  schema={schema}
  resource={resource}
  config={{ title: "Статусы", withId: true }}
  access={["create", "update", "delete"]}
/>;