Skip to content

Commit 76ba16d

Browse files
author
VuXfi
committed
feat: refactor admin panel binding and update model configurations for dishes, groups, orders, and promotions
1 parent a83160d commit 76ba16d

File tree

5 files changed

+64
-56
lines changed

5 files changed

+64
-56
lines changed

hook/bindAdminpanel.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,27 @@ const ProductCatalog_1 = require("../libs/adminpanel/ProductCatalog/ProductCatal
66
const ProductMediaManager_1 = require("../libs/adminpanel/ProductMediaManager/ProductMediaManager");
77
const bind_1 = require("../libs/adminpanel/models/bind");
88
function bindAdminpanel() {
9+
processBindAdminpanel();
910
sails.on('Adminpanel:afterHook:loaded', async () => {
10-
processBindAdminpanel();
1111
// Catalog bind
12-
const CatalogHandler = sails.hooks.adminpanel.getCatalogHandler();
12+
const CatalogHandler = sails.hooks.adminpanel.adminizer.getCatalogHandler();
1313
const productCatalog = new ProductCatalog_1.ProductCatalog();
1414
CatalogHandler.add(productCatalog);
1515
// Product media manager bind
16-
const MediaManagerHandler = sails.hooks.adminpanel.getMediaManagerHandler();
16+
const MediaManagerHandler = sails.hooks.adminpanel.adminizer.getMediaManagerHandler();
1717
const productMediaManager = new ProductMediaManager_1.ProductMediaManager();
1818
MediaManagerHandler.add(productMediaManager);
1919
});
2020
}
21+
// Добавляем метод для обновления моделей админки
22+
function addModelConfig(newModels) {
23+
if (!sails.config.adminpanel || !sails.config.adminpanel.models)
24+
return;
25+
Object.assign(sails.config.adminpanel.models, newModels);
26+
}
2127
function processBindAdminpanel() {
22-
if (sails.hooks?.adminpanel?.addModelConfig !== undefined) {
23-
const addModelConfig = sails.hooks.adminpanel.addModelConfig;
24-
addModelConfig(bind_1.models);
25-
}
28+
// Используем локальный addModelConfig
29+
addModelConfig(bind_1.models);
2630
if (Array.isArray(sails.config.adminpanel?.sections)) {
2731
let baseRoute = sails.config.adminpanel.routePrefix;
2832
sails.config.adminpanel.sections.push({

hook/bindAdminpanel.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,38 @@ import { ProductCatalog } from "../libs/adminpanel/ProductCatalog/ProductCatalog
33
import { ProductMediaManager } from "../libs/adminpanel/ProductMediaManager/ProductMediaManager";
44
import {models } from "../libs/adminpanel/models/bind"
55
export default function bindAdminpanel () {
6+
processBindAdminpanel();
67
sails.on('Adminpanel:afterHook:loaded', async ()=>{
7-
processBindAdminpanel();
88
// Catalog bind
9-
const CatalogHandler = sails.hooks.adminpanel.getCatalogHandler()
9+
const CatalogHandler = sails.hooks.adminpanel.adminizer.getCatalogHandler()
1010
const productCatalog = new ProductCatalog()
1111
CatalogHandler.add(productCatalog);
1212

1313
// Product media manager bind
14-
const MediaManagerHandler = sails.hooks.adminpanel.getMediaManagerHandler()
14+
const MediaManagerHandler = sails.hooks.adminpanel.adminizer.getMediaManagerHandler()
1515
const productMediaManager = new ProductMediaManager()
1616
MediaManagerHandler.add(productMediaManager)
1717
})
1818
}
1919

20+
// Добавляем метод для обновления моделей админки
21+
function addModelConfig(newModels: Record<string, any>) {
22+
if (!sails.config.adminpanel || !sails.config.adminpanel.models) return;
23+
Object.assign(sails.config.adminpanel.models, newModels);
24+
}
25+
2026
function processBindAdminpanel(){
21-
if(sails.hooks?.adminpanel?.addModelConfig !== undefined) {
22-
const addModelConfig = sails.hooks.adminpanel.addModelConfig;
23-
addModelConfig(models);
24-
}
27+
// Используем локальный addModelConfig
28+
addModelConfig(models);
2529

2630
if(Array.isArray(sails.config.adminpanel?.sections)){
2731
let baseRoute = sails.config.adminpanel.routePrefix;
2832
sails.config.adminpanel.sections.push({
2933
id: 'products',
30-
title: 'Products',
31-
link: `${baseRoute}/catalog/products`,
32-
icon: `barcode`
33-
});
34+
title: 'Products',
35+
link: `${baseRoute}/catalog/products`,
36+
icon: `barcode`
37+
});
3438
}
3539
}
3640

libs/adminpanel/models/bind.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export declare const models: {
44
model: string;
55
icon: string;
66
};
7-
products: {
7+
dish: {
88
model: string;
99
title: string;
1010
icon: string;
@@ -14,7 +14,7 @@ export declare const models: {
1414
edit: import("sails-adminpanel/interfaces/adminpanelConfig").CreateUpdateConfig;
1515
add: import("sails-adminpanel/interfaces/adminpanelConfig").CreateUpdateConfig;
1616
};
17-
groups: {
17+
group: {
1818
model: string;
1919
title: string;
2020
icon: string;
@@ -24,7 +24,7 @@ export declare const models: {
2424
edit: import("sails-adminpanel/interfaces/adminpanelConfig").CreateUpdateConfig;
2525
add: import("sails-adminpanel/interfaces/adminpanelConfig").CreateUpdateConfig;
2626
};
27-
orders: {
27+
order: {
2828
model: string;
2929
title: string;
3030
icon: string;
@@ -44,7 +44,7 @@ export declare const models: {
4444
title: string;
4545
icon: string;
4646
};
47-
promotions: {
47+
promotion: {
4848
model: string;
4949
title: string;
5050
icon: string;

libs/adminpanel/models/bind.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,73 +7,73 @@ exports.models = {
77
user: {
88
title: "User",
99
model: "user",
10-
icon: "user"
10+
icon: "person"
1111
},
12-
products: {
12+
dish: {
1313
model: 'dish',
1414
title: 'Products',
15-
icon: 'hamburger',
15+
icon: 'restaurant_menu',
1616
list: product_1.ProductConfig.list(),
1717
edit: product_1.ProductConfig.edit(),
1818
add: product_1.ProductConfig.add(),
1919
},
20-
groups: {
20+
group: {
2121
model: 'group',
2222
title: 'Groups',
23-
icon: 'folder',
23+
icon: 'group',
2424
list: group_1.GroupConfig.list(),
2525
edit: group_1.GroupConfig.edit(),
2626
add: group_1.GroupConfig.add(),
2727
},
28-
orders: {
28+
order: {
2929
model: 'order',
3030
title: 'Orders',
31-
icon: 'shopping-cart'
31+
icon: 'shopping_cart'
3232
},
3333
bonusprogram: {
3434
model: 'bonusprogram',
3535
title: 'Bonus programs',
36-
icon: 'comments-dollar'
36+
icon: 'card_giftcard'
3737
},
3838
userbonusprogram: {
3939
model: 'userbonusprogram',
4040
title: 'User bonusprograms',
41-
icon: 'money-bill-wave-alt'
41+
icon: 'loyalty'
4242
},
4343
userbonustransaction: {
4444
model: 'userbonustransaction',
4545
title: 'Userbonus transactions',
46-
icon: 'exchange-alt'
46+
icon: 'swap_horiz'
4747
},
48-
promotions: {
48+
promotion: {
4949
model: 'promotion',
5050
title: 'Promotions',
51-
icon: 'gift'
51+
icon: 'local_offer'
5252
},
5353
promotioncode: {
5454
model: 'promotioncode',
5555
title: 'Promotion codes',
56-
icon: 'qrcode'
56+
icon: 'confirmation_number'
5757
},
5858
place: {
5959
model: 'place',
6060
title: 'Places',
61-
icon: 'store'
61+
icon: 'place'
6262
},
6363
street: {
6464
model: 'street',
6565
title: 'Street',
66-
icon: 'road'
66+
icon: 'location_on'
6767
},
6868
paymentMethod: {
6969
model: 'paymentmethod',
7070
title: 'Payment method',
71-
icon: 'credit-card'
71+
icon: 'payment'
7272
},
7373
maintenance: {
7474
model: "maintenance",
7575
title: "Scheduled Maintenance on the Website",
76-
icon: "pause",
76+
icon: "build",
7777
fields: {
7878
id: false,
7979
createdAt: false,

libs/adminpanel/models/bind.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,73 +5,73 @@ export const models = {
55
user: {
66
title: "User",
77
model: "user",
8-
icon: "user"
8+
icon: "person"
99
},
10-
products: {
10+
dish: {
1111
model: 'dish',
1212
title: 'Products',
13-
icon: 'hamburger',
13+
icon: 'restaurant_menu',
1414
list: ProductConfig.list(),
1515
edit: ProductConfig.edit(),
1616
add: ProductConfig.add(),
1717
},
18-
groups: {
18+
group: {
1919
model: 'group',
2020
title: 'Groups',
21-
icon: 'folder',
21+
icon: 'group',
2222
list: GroupConfig.list(),
2323
edit: GroupConfig.edit(),
2424
add: GroupConfig.add(),
2525
},
26-
orders: {
26+
order: {
2727
model: 'order',
2828
title: 'Orders',
29-
icon: 'shopping-cart'
29+
icon: 'shopping_cart'
3030
},
3131
bonusprogram: {
3232
model: 'bonusprogram',
3333
title: 'Bonus programs',
34-
icon: 'comments-dollar'
34+
icon: 'card_giftcard'
3535
},
3636
userbonusprogram: {
3737
model: 'userbonusprogram',
3838
title: 'User bonusprograms',
39-
icon: 'money-bill-wave-alt'
39+
icon: 'loyalty'
4040
},
4141
userbonustransaction: {
4242
model: 'userbonustransaction',
4343
title: 'Userbonus transactions',
44-
icon: 'exchange-alt'
44+
icon: 'swap_horiz'
4545
},
46-
promotions: {
46+
promotion: {
4747
model: 'promotion',
4848
title: 'Promotions',
49-
icon: 'gift'
49+
icon: 'local_offer'
5050
},
5151
promotioncode: {
5252
model: 'promotioncode',
5353
title: 'Promotion codes',
54-
icon: 'qrcode'
54+
icon: 'confirmation_number'
5555
},
5656
place: {
5757
model: 'place',
5858
title: 'Places',
59-
icon: 'store'
59+
icon: 'place'
6060
},
6161
street: {
6262
model: 'street',
6363
title: 'Street',
64-
icon: 'road'
64+
icon: 'location_on'
6565
},
6666
paymentMethod: {
6767
model: 'paymentmethod',
6868
title: 'Payment method',
69-
icon: 'credit-card'
69+
icon: 'payment'
7070
},
7171
maintenance: {
7272
model: "maintenance",
7373
title: "Scheduled Maintenance on the Website",
74-
icon: "pause",
74+
icon: "build",
7575
fields: {
7676
id: false,
7777
createdAt: false,

0 commit comments

Comments
 (0)