@urga-panel/ur-panels-core 1.0.28 → 1.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ServiceManager.js +13 -1
- package/dist/services/abstract/pageServices/PageServices.d.ts +23 -1
- package/dist/services/abstract/pageServices/PageServices.js +28 -0
- package/package.json +1 -1
- package/src/ServiceManager.ts +15 -1
- package/src/services/abstract/pageServices/PageServices.ts +36 -1
package/dist/ServiceManager.js
CHANGED
|
@@ -84,11 +84,23 @@ export class _ServiceManager {
|
|
|
84
84
|
createChildService: (tag, PageCtor) => {
|
|
85
85
|
//console.log("createChildService called for ---", tag);
|
|
86
86
|
const ServiceClass = PageCtor ?? PageService;
|
|
87
|
+
// usedService'i requiredServices'e göre doldur
|
|
88
|
+
const usedService = {};
|
|
89
|
+
if (logService)
|
|
90
|
+
usedService["LogService"] = () => logService;
|
|
91
|
+
// PageService'in requiredServices'ine bak
|
|
92
|
+
const reqServices = ServiceClass.serviceInfo?.requiredServices;
|
|
93
|
+
if (Array.isArray(reqServices)) {
|
|
94
|
+
for (const reqName of reqServices) {
|
|
95
|
+
usedService[reqName] = () => this.getService(reqName);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
87
98
|
const _pageService = this.setKey(tag, {
|
|
88
99
|
serviceSelf: new ServiceClass({
|
|
89
|
-
usedService
|
|
100
|
+
usedService,
|
|
90
101
|
tag: tag,
|
|
91
102
|
type: type,
|
|
103
|
+
ServiceManager: this,
|
|
92
104
|
}),
|
|
93
105
|
status: "waitSetup",
|
|
94
106
|
});
|
|
@@ -3,7 +3,10 @@ import { ServiceOts } from "../../../types/ServiceOts.js";
|
|
|
3
3
|
import { ServiceResponse } from "../../../types/ServiceResponse.js";
|
|
4
4
|
import { ServiceSetupOptions } from "../../../types/ServiceSetupOptions.js";
|
|
5
5
|
export type PageOts = ServiceOts & {
|
|
6
|
-
usedService: {
|
|
6
|
+
usedService: {
|
|
7
|
+
[key: string]: () => Service;
|
|
8
|
+
};
|
|
9
|
+
ServiceManager?: any;
|
|
7
10
|
};
|
|
8
11
|
export declare class PageService extends Service {
|
|
9
12
|
serviceInfo: {
|
|
@@ -11,7 +14,26 @@ export declare class PageService extends Service {
|
|
|
11
14
|
requiredServices: string[];
|
|
12
15
|
};
|
|
13
16
|
svelteComponent: any;
|
|
17
|
+
ServiceManager: any;
|
|
18
|
+
protected usedService: {
|
|
19
|
+
[key: string]: () => Service;
|
|
20
|
+
};
|
|
14
21
|
constructor(ots: PageOts);
|
|
22
|
+
/**
|
|
23
|
+
* ApiFront servisine kolay erişim
|
|
24
|
+
* Kullanım: this.apiFront.apis.branchesService.getAllBranches()
|
|
25
|
+
*/
|
|
26
|
+
protected get apiFront(): any;
|
|
27
|
+
/**
|
|
28
|
+
* RouteService'e kolay erişim
|
|
29
|
+
* Kullanım: this.routeService.goto("/path")
|
|
30
|
+
*/
|
|
31
|
+
protected get routeService(): any;
|
|
32
|
+
/**
|
|
33
|
+
* MainLayoutService'e kolay erişim
|
|
34
|
+
* Kullanım: this.mainLayout.loadingChildren = false
|
|
35
|
+
*/
|
|
36
|
+
protected get mainLayout(): any;
|
|
15
37
|
protected onSetup(options?: ServiceSetupOptions): Promise<ServiceResponse>;
|
|
16
38
|
protected onStart(): Promise<ServiceResponse>;
|
|
17
39
|
protected onStop(): Promise<ServiceResponse>;
|
|
@@ -2,8 +2,36 @@ import { Service } from "../../../types/Service.js";
|
|
|
2
2
|
export class PageService extends Service {
|
|
3
3
|
serviceInfo;
|
|
4
4
|
svelteComponent; // Optional Svelte component reference
|
|
5
|
+
ServiceManager;
|
|
6
|
+
usedService;
|
|
5
7
|
constructor(ots) {
|
|
6
8
|
super({ ...ots });
|
|
9
|
+
this.ServiceManager = ots.ServiceManager;
|
|
10
|
+
this.usedService = ots.usedService || {};
|
|
11
|
+
}
|
|
12
|
+
// ═══════════════════════════════════════════════════
|
|
13
|
+
// 🎯 Otomatik getter'lar - Tüm PageService'ler için
|
|
14
|
+
// ═══════════════════════════════════════════════════
|
|
15
|
+
/**
|
|
16
|
+
* ApiFront servisine kolay erişim
|
|
17
|
+
* Kullanım: this.apiFront.apis.branchesService.getAllBranches()
|
|
18
|
+
*/
|
|
19
|
+
get apiFront() {
|
|
20
|
+
return this.usedService["ApiFront"]?.() ?? this.ServiceManager?.getService("ApiFront");
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* RouteService'e kolay erişim
|
|
24
|
+
* Kullanım: this.routeService.goto("/path")
|
|
25
|
+
*/
|
|
26
|
+
get routeService() {
|
|
27
|
+
return this.usedService["RouteService"]?.() ?? this.ServiceManager?.getService("RouteService");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* MainLayoutService'e kolay erişim
|
|
31
|
+
* Kullanım: this.mainLayout.loadingChildren = false
|
|
32
|
+
*/
|
|
33
|
+
get mainLayout() {
|
|
34
|
+
return this.usedService["MainLayoutService"]?.() ?? this.ServiceManager?.getService("MainLayoutService");
|
|
7
35
|
}
|
|
8
36
|
async onSetup(options) {
|
|
9
37
|
return { status: "success", message: "setup complete" };
|
package/package.json
CHANGED
package/src/ServiceManager.ts
CHANGED
|
@@ -103,11 +103,25 @@ export class _ServiceManager {
|
|
|
103
103
|
createChildService: (tag: string, PageCtor?: ServiceConstructor<Service>) => {
|
|
104
104
|
//console.log("createChildService called for ---", tag);
|
|
105
105
|
const ServiceClass = PageCtor ?? PageService;
|
|
106
|
+
|
|
107
|
+
// usedService'i requiredServices'e göre doldur
|
|
108
|
+
const usedService: { [key: string]: () => Service } = {};
|
|
109
|
+
if (logService) usedService["LogService"] = () => logService!;
|
|
110
|
+
|
|
111
|
+
// PageService'in requiredServices'ine bak
|
|
112
|
+
const reqServices = (ServiceClass as any).serviceInfo?.requiredServices;
|
|
113
|
+
if (Array.isArray(reqServices)) {
|
|
114
|
+
for (const reqName of reqServices) {
|
|
115
|
+
usedService[reqName] = () => this.getService(reqName);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
106
119
|
const _pageService = this.setKey(tag, {
|
|
107
120
|
serviceSelf: new ServiceClass({
|
|
108
|
-
usedService
|
|
121
|
+
usedService,
|
|
109
122
|
tag: tag,
|
|
110
123
|
type: type,
|
|
124
|
+
ServiceManager: this,
|
|
111
125
|
}),
|
|
112
126
|
status: "waitSetup",
|
|
113
127
|
});
|
|
@@ -5,14 +5,49 @@ import { ServiceSetupOptions } from "../../../types/ServiceSetupOptions";
|
|
|
5
5
|
|
|
6
6
|
export type PageOts = ServiceOts & {
|
|
7
7
|
usedService: {
|
|
8
|
+
[key: string]: () => Service;
|
|
8
9
|
}
|
|
10
|
+
ServiceManager?: any;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
export class PageService extends Service {
|
|
12
14
|
serviceInfo: { name: string; requiredServices: string[]; };
|
|
13
15
|
public svelteComponent: any; // Optional Svelte component reference
|
|
14
|
-
|
|
16
|
+
public ServiceManager: any;
|
|
17
|
+
protected usedService: { [key: string]: () => Service };
|
|
18
|
+
|
|
19
|
+
constructor(ots: PageOts) {
|
|
15
20
|
super({...ots});
|
|
21
|
+
this.ServiceManager = (ots as any).ServiceManager;
|
|
22
|
+
this.usedService = ots.usedService || {};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// ═══════════════════════════════════════════════════
|
|
26
|
+
// 🎯 Otomatik getter'lar - Tüm PageService'ler için
|
|
27
|
+
// ═══════════════════════════════════════════════════
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* ApiFront servisine kolay erişim
|
|
31
|
+
* Kullanım: this.apiFront.apis.branchesService.getAllBranches()
|
|
32
|
+
*/
|
|
33
|
+
protected get apiFront(): any {
|
|
34
|
+
return this.usedService["ApiFront"]?.() ?? this.ServiceManager?.getService("ApiFront");
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* RouteService'e kolay erişim
|
|
39
|
+
* Kullanım: this.routeService.goto("/path")
|
|
40
|
+
*/
|
|
41
|
+
protected get routeService(): any {
|
|
42
|
+
return this.usedService["RouteService"]?.() ?? this.ServiceManager?.getService("RouteService");
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* MainLayoutService'e kolay erişim
|
|
47
|
+
* Kullanım: this.mainLayout.loadingChildren = false
|
|
48
|
+
*/
|
|
49
|
+
protected get mainLayout(): any {
|
|
50
|
+
return this.usedService["MainLayoutService"]?.() ?? this.ServiceManager?.getService("MainLayoutService");
|
|
16
51
|
}
|
|
17
52
|
|
|
18
53
|
protected async onSetup(options?: ServiceSetupOptions): Promise<ServiceResponse> {
|