diff --git a/hook/bindAdminpanel.js b/hook/bindAdminpanel.js index 6e666f2e..c2936e4d 100644 --- a/hook/bindAdminpanel.js +++ b/hook/bindAdminpanel.js @@ -1,23 +1,20 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = bindAdminpanel; -const settings_1 = __importDefault(require("../libs/adminpanel/model/settings")); -const CatalogHandler_1 = require("sails-adminpanel/lib/catalog/CatalogHandler"); const ProductCatalog_1 = require("../libs/adminpanel/ProductCatalog/ProductCatalog"); -const productCatalog = new ProductCatalog_1.ProductCatalog(); -CatalogHandler_1.CatalogHandler.add(productCatalog); function bindAdminpanel() { sails.on('Adminpanel:afterHook:loaded', async () => { processBindAdminpanel(); + console.log(111333); + const CatalogHandler = sails.hooks.adminpanel.getCatalogHandler(); + const productCatalog = new ProductCatalog_1.ProductCatalog(); + CatalogHandler.add(productCatalog); }); } function processBindAdminpanel() { if (sails.hooks?.adminpanel?.addModelConfig !== undefined) { const addModelConfig = sails.hooks.adminpanel.addModelConfig; - addModelConfig(settings_1.default); + addModelConfig(settings); } if (Array.isArray(sails.config.adminpanel?.sections)) { let baseRoute = sails.config.adminpanel.routePrefix; diff --git a/hook/bindAdminpanel.ts b/hook/bindAdminpanel.ts index 8b502cd0..bfc8b1ae 100644 --- a/hook/bindAdminpanel.ts +++ b/hook/bindAdminpanel.ts @@ -1,21 +1,20 @@ -import settings from "../libs/adminpanel/model/settings" - -import { CatalogHandler } from "sails-adminpanel/lib/catalog/CatalogHandler" +import models from "../libs/adminpanel/models/bind" import { ProductCatalog } from "../libs/adminpanel/ProductCatalog/ProductCatalog"; - -const productCatalog = new ProductCatalog() -CatalogHandler.add(productCatalog); export default function bindAdminpanel () { sails.on('Adminpanel:afterHook:loaded', async ()=>{ processBindAdminpanel(); + console.log(111333) + const CatalogHandler = sails.hooks.adminpanel.getCatalogHandler() + const productCatalog = new ProductCatalog() + CatalogHandler.add(productCatalog); }) } function processBindAdminpanel(){ if(sails.hooks?.adminpanel?.addModelConfig !== undefined) { const addModelConfig = sails.hooks.adminpanel.addModelConfig; - addModelConfig(settings); + addModelConfig(models); } if(Array.isArray(sails.config.adminpanel?.sections)){ diff --git a/libs/adminpanel/ProductCatalog/ProductCatalog.js b/libs/adminpanel/ProductCatalog/ProductCatalog.js index c58f3716..ed5a14f2 100644 --- a/libs/adminpanel/ProductCatalog/ProductCatalog.js +++ b/libs/adminpanel/ProductCatalog/ProductCatalog.js @@ -64,14 +64,14 @@ class BaseModelItem extends AbstractCatalog_1.AbstractItem { concept: catalogId, isDeleted: false }); - return records.map(record => this.toItem(record)); + return records.map((record) => this.toItem(record)); } async search(s, catalogId) { const records = await sails.models[this.model].find({ name: { contains: s }, concept: catalogId }); - return records.map(record => this.toItem(record)); + return records.map((record) => this.toItem(record)); } updateModelItems(itemId, data, catalogId) { return Promise.resolve(undefined); @@ -117,7 +117,7 @@ class ProductCatalog extends AbstractCatalog_1.AbstractCatalog { } async getIdList() { const groups = await sails.models['group'].find({}); - const concepts = groups.map(group => group.concept); + const concepts = groups.map((group) => group.concept); concepts.push('origin'); return [...new Set(concepts)]; } diff --git a/libs/adminpanel/ProductCatalog/ProductCatalog.ts b/libs/adminpanel/ProductCatalog/ProductCatalog.ts index 7f438b05..2aa07250 100644 --- a/libs/adminpanel/ProductCatalog/ProductCatalog.ts +++ b/libs/adminpanel/ProductCatalog/ProductCatalog.ts @@ -86,7 +86,7 @@ class BaseModelItem extends AbstractItem { isDeleted: false }); - return records.map(record => this.toItem(record)); + return records.map((record: ItemModel) => this.toItem(record)); } public async search(s: string, catalogId: string): Promise { @@ -95,7 +95,7 @@ class BaseModelItem extends AbstractItem { concept: catalogId }); - return records.map(record => this.toItem(record) as T); + return records.map((record: ItemModel) => this.toItem(record) as T); } updateModelItems(itemId: string | number, data: T, catalogId: string): Promise { @@ -141,7 +141,7 @@ export class ProductCatalog extends AbstractCatalog { public async getIdList(): Promise { const groups = await sails.models['group'].find({}); - const concepts: string[] = groups.map(group => group.concept); + const concepts: string[] = groups.map((group: { concept: string; }) => group.concept); concepts.push('origin') return [...new Set(concepts)]; } diff --git a/libs/adminpanel/model/settings.d.ts b/libs/adminpanel/models/bind.d.ts similarity index 97% rename from libs/adminpanel/model/settings.d.ts rename to libs/adminpanel/models/bind.d.ts index 03d9ca1f..b8e119b0 100644 --- a/libs/adminpanel/model/settings.d.ts +++ b/libs/adminpanel/models/bind.d.ts @@ -8,6 +8,8 @@ declare const _default: { model: string; title: string; icon: string; + list: {}; + edit: {}; }; groups: { model: string; diff --git a/libs/adminpanel/model/settings.js b/libs/adminpanel/models/bind.js similarity index 95% rename from libs/adminpanel/model/settings.js rename to libs/adminpanel/models/bind.js index 90744cf4..32d8ad68 100644 --- a/libs/adminpanel/model/settings.js +++ b/libs/adminpanel/models/bind.js @@ -9,7 +9,9 @@ exports.default = { products: { model: 'dish', title: 'Products', - icon: 'hamburger' + icon: 'hamburger', + list: {}, + edit: {} }, groups: { model: 'group', diff --git a/libs/adminpanel/model/settings.ts b/libs/adminpanel/models/bind.ts similarity index 87% rename from libs/adminpanel/model/settings.ts rename to libs/adminpanel/models/bind.ts index 7e3af009..1e0faa48 100644 --- a/libs/adminpanel/model/settings.ts +++ b/libs/adminpanel/models/bind.ts @@ -1,3 +1,4 @@ +import { ProductConfig } from "./lib/product"; export default { user: { @@ -8,7 +9,10 @@ export default { products: { model: 'dish', title: 'Products', - icon: 'hamburger' + icon: 'hamburger', + list: ProductConfig.list(), + edit: ProductConfig.edit(), + add: ProductConfig.add(), }, groups: { model: 'group', diff --git a/libs/adminpanel/models/lib/product.d.ts b/libs/adminpanel/models/lib/product.d.ts new file mode 100644 index 00000000..469cad16 --- /dev/null +++ b/libs/adminpanel/models/lib/product.d.ts @@ -0,0 +1,4 @@ +declare class ProductConfig { + static add(): {}; + static edit(): {}; +} diff --git a/libs/adminpanel/models/lib/product.js b/libs/adminpanel/models/lib/product.js new file mode 100644 index 00000000..049702c9 --- /dev/null +++ b/libs/adminpanel/models/lib/product.js @@ -0,0 +1,9 @@ +"use strict"; +class ProductConfig { + static add() { + return {}; + } + static edit() { + return {}; + } +} diff --git a/libs/adminpanel/models/lib/product.ts b/libs/adminpanel/models/lib/product.ts new file mode 100644 index 00000000..b68a23c9 --- /dev/null +++ b/libs/adminpanel/models/lib/product.ts @@ -0,0 +1,18 @@ +import { CreateUpdateConfig, FieldsModels } from "sails-adminpanel/interfaces/adminpanelConfig" + +export class ProductConfig { + public fields: FieldsModels; + public static add(): CreateUpdateConfig { + return {} + } + + public static edit(): CreateUpdateConfig { + return {} + } + + public static list(): {fields: FieldsModels} { + return { + fields: {} + } + } +} \ No newline at end of file