@quadcore-lib/admin-categories
v0.1.0
Published
Módulo de gestión de categorías para el panel administrativo, consume exclusivamente la API de `categories-server`. Mismo patrón que `admin-products`/`admin-orders`/`admin-users`/`admin-tickets`.
Readme
@quadcore-lib/admin-categories
Módulo de gestión de categorías para el panel administrativo, consume exclusivamente la API de categories-server. Mismo patrón que admin-products/admin-orders/admin-users/admin-tickets.
Instalación
npm install @quadcore-lib/admin-categoriesUso
import { createAdminPanel } from "@quadcore-lib/admin-core";
import { createAdminCategoriesModule } from "@quadcore-lib/admin-categories";
const AdminCategoriesModule = createAdminCategoriesModule({
apiUrl: "https://categories.miempresa.com",
permission: "categories:read",
});
const { AdminApp } = createAdminPanel({
modules: [AdminCategoriesModule],
resolvePermissions: (role) => (role === "owner" ? ["categories:read"] : []),
});API
| Export | Tipo | Descripción |
|---|---|---|
| createAdminCategoriesModule(config) | función | Devuelve el AdminModule<'categories'> con rutas '', 'new' y ':id/edit' |
| CategoriesPage | componente | Listado con filtros y tabla |
| CategoryFormPage | componente | Alta/edición, detecta modo por :id de la URL |
| CategoryTable | componente | Tabla de categorías |
| CategoryFilters | componente | Filtro de búsqueda + incluir eliminadas |
| CategoryForm | componente | Formulario controlado de alta/edición (incluye parentId para jerarquía) |
| useCategoriesList, useCategory | hooks | Wrappers de useFetch sobre la API de categorías |
| listCategories, getCategory, createCategory, updateCategory, deleteCategory, restoreCategory | funciones | Cliente HTTP crudo contra /api/categories |
Tipos
Category, Paginated<T>, ListCategoriesParams, CreateCategoryInput, UpdateCategoryInput, AdminCategoriesModuleConfig.
Jerarquía (parentId)
Category.parentId es una referencia suave al id de otra categoría (sin FK dura, igual que products-server con categoryId). El formulario expone parentId como un campo de texto simple (pegar el id) — armar un selector jerárquico visual (árbol/dropdown anidado) queda para quien lo necesite, no viene incluido.
Requisitos
@quadcore-lib/admin-core(peer)react>= 18,react-dom>= 18react-router-dom>= 6 (provisto por el host víaadmin-core)
