@ng-vagabond-lab/ng-dsv 0.2.36 → 0.2.38
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.
|
@@ -108,7 +108,8 @@ class BaseSearchService extends BaseFetchService {
|
|
|
108
108
|
this.lasturl.set(url);
|
|
109
109
|
const data = this.getDataFromState(url);
|
|
110
110
|
if (data) {
|
|
111
|
-
this.
|
|
111
|
+
this.total.set(data.totalElements);
|
|
112
|
+
this.updateData(page, data.content);
|
|
112
113
|
this.isLoading.set(false);
|
|
113
114
|
return;
|
|
114
115
|
}
|
|
@@ -116,7 +117,7 @@ class BaseSearchService extends BaseFetchService {
|
|
|
116
117
|
this.apiService.get(url, (data) => {
|
|
117
118
|
this.page.set(page + 1);
|
|
118
119
|
this.total.set(data.totalElements);
|
|
119
|
-
this.setDataToState(url, data
|
|
120
|
+
this.setDataToState(url, data);
|
|
120
121
|
this.isLoading.set(false);
|
|
121
122
|
this.updateData(page, data.content);
|
|
122
123
|
}, () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base-service.mjs","sources":["../../../projects/ng-dsv/base/service/base/base.service.ts","../../../projects/ng-dsv/base/service/base/base-api.service.ts","../../../projects/ng-dsv/base/service/fetch/base-fetch.service.ts","../../../projects/ng-dsv/base/service/search/base-search.service.ts","../../../projects/ng-dsv/base/service/ng-vagabond-lab-ng-dsv-base-service.ts"],"sourcesContent":["import { Directive, inject, signal, TransferState } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { I18nService } from '@ng-vagabond-lab/ng-dsv/i18n';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\n\n@Directive()\nexport abstract class BaseService {\n readonly toastService = inject(ToastService);\n readonly transferState = inject(TransferState);\n readonly platformService = inject(PlatformService);\n readonly i18nService = inject(I18nService);\n readonly translateService = this.i18nService.translateService;\n\n readonly loaded = signal<boolean>(true);\n\n isPlatformBrowser(): boolean {\n return this.platformService.isPlatformBrowser();\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseService } from './base.service';\n\n@Directive()\nexport abstract class BaseApiService extends BaseService {\n readonly apiService = inject(ApiService);\n}\n","import { Directive, makeStateKey, signal, StateKey } from '@angular/core';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseApiService } from '../base/base-api.service';\n\n@Directive()\nexport abstract class BaseFetchService
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base-service.mjs","sources":["../../../projects/ng-dsv/base/service/base/base.service.ts","../../../projects/ng-dsv/base/service/base/base-api.service.ts","../../../projects/ng-dsv/base/service/fetch/base-fetch.service.ts","../../../projects/ng-dsv/base/service/search/base-search.service.ts","../../../projects/ng-dsv/base/service/ng-vagabond-lab-ng-dsv-base-service.ts"],"sourcesContent":["import { Directive, inject, signal, TransferState } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { I18nService } from '@ng-vagabond-lab/ng-dsv/i18n';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\n\n@Directive()\nexport abstract class BaseService {\n readonly toastService = inject(ToastService);\n readonly transferState = inject(TransferState);\n readonly platformService = inject(PlatformService);\n readonly i18nService = inject(I18nService);\n readonly translateService = this.i18nService.translateService;\n\n readonly loaded = signal<boolean>(true);\n\n isPlatformBrowser(): boolean {\n return this.platformService.isPlatformBrowser();\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseService } from './base.service';\n\n@Directive()\nexport abstract class BaseApiService extends BaseService {\n readonly apiService = inject(ApiService);\n}\n","import { Directive, makeStateKey, signal, StateKey } from '@angular/core';\nimport { ApiDto, JSONObject, PageableDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseApiService } from '../base/base-api.service';\n\n@Directive()\nexport abstract class BaseFetchService<\n A extends ApiDto | ApiDto[] | PageableDto<ApiDto[]>,\n> extends BaseApiService {\n readonly ssr = signal<boolean>(true);\n\n getStateKey(url: string): StateKey<A> {\n return makeStateKey<A>(url);\n }\n\n getDataFromState(url: string): A | null {\n const key = this.getStateKey(url);\n let data = null;\n if (this.transferState.hasKey(key)) {\n data = this.transferState.get(key, null);\n this.transferState.remove(key);\n this.apiService.info('load state', data as JSONObject);\n }\n return data;\n }\n\n setDataToState(url: string, data: A | null): void {\n if (!this.isPlatformBrowser()) {\n const key = this.getStateKey(url);\n this.transferState.set(key, data);\n }\n }\n}\n","import { Directive, signal } from '@angular/core';\nimport { ApiDto, PageableDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { removeDuplicate } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { BaseFetchService } from '../fetch/base-fetch.service';\n\n@Directive()\nexport abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<PageableDto<T[]>> {\n readonly datas = signal<T[]>([]);\n readonly total = signal<number | undefined>(undefined);\n\n readonly page = signal<number>(1);\n readonly search = signal<string>('');\n readonly lastSearch = signal<string>('');\n readonly lasturl = signal<string>('');\n readonly isLoading = signal<boolean>(false);\n readonly stopFetch = signal<boolean>(false);\n\n getUrl(): string {\n let url = this.getEndPoint();\n const params = this.getParams();\n url += '?page=' + this.page() + params + '&search=';\n return url;\n }\n\n abstract getEndPoint(): string;\n\n getParams(): string {\n return '';\n }\n\n fetchByPage(search: string, page: number, force: boolean = false): void {\n this.search.set(search);\n if (search !== this.lastSearch()) {\n this.lastSearch.set(search);\n page = 1;\n }\n if (page === 1) {\n this.stopFetch.set(false);\n }\n if (this.stopFetch()) {\n return;\n }\n this.page.set(page);\n const url = this.getUrl() + search;\n\n if (this.lasturl() === url && !force) {\n return;\n }\n this.lasturl.set(url);\n\n const data = this.getDataFromState(url);\n if (data) {\n this.total.set(data.totalElements);\n this.updateData(page, data.content);\n this.isLoading.set(false);\n return;\n }\n this.isLoading.set(true);\n\n this.apiService.get<PageableDto<T[]>>(\n url,\n (data) => {\n this.page.set(page + 1);\n this.total.set(data.totalElements);\n this.setDataToState(url, data);\n this.isLoading.set(false);\n this.updateData(page, data.content);\n },\n () => {\n this.isLoading.set(false);\n this.stopFetch.set(true);\n },\n );\n }\n\n updateData(page: number, datas: T[]): void {\n if (page === 1) {\n this.datas.set([]);\n }\n this.datas.update((current) => removeDuplicate([...current, ...datas]));\n if (datas?.length === 0) {\n this.stopFetch.set(true);\n }\n this.afterFetch(datas);\n }\n\n afterFetch(data: T[]): void {\n return;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiService, ApiDto } from '@ng-vagabond-lab/ng-dsv/api';
|
|
1
|
+
import { ApiService, ApiDto, PageableDto } from '@ng-vagabond-lab/ng-dsv/api';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { TransferState, StateKey } from '@angular/core';
|
|
4
4
|
import * as _ngx_translate_core from '@ngx-translate/core';
|
|
@@ -24,7 +24,7 @@ declare abstract class BaseApiService extends BaseService {
|
|
|
24
24
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseApiService, never, never, {}, {}, never, never, true, never>;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
declare abstract class BaseFetchService<A extends ApiDto | ApiDto[]
|
|
27
|
+
declare abstract class BaseFetchService<A extends ApiDto | ApiDto[] | PageableDto<ApiDto[]>> extends BaseApiService {
|
|
28
28
|
readonly ssr: _angular_core.WritableSignal<boolean>;
|
|
29
29
|
getStateKey(url: string): StateKey<A>;
|
|
30
30
|
getDataFromState(url: string): A | null;
|
|
@@ -33,7 +33,7 @@ declare abstract class BaseFetchService<A extends ApiDto | ApiDto[]> extends Bas
|
|
|
33
33
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseFetchService<any>, never, never, {}, {}, never, never, true, never>;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
declare abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<T[]
|
|
36
|
+
declare abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<PageableDto<T[]>> {
|
|
37
37
|
readonly datas: _angular_core.WritableSignal<T[]>;
|
|
38
38
|
readonly total: _angular_core.WritableSignal<number | undefined>;
|
|
39
39
|
readonly page: _angular_core.WritableSignal<number>;
|
|
@@ -4,7 +4,7 @@ import { AuthService } from '@ng-vagabond-lab/ng-dsv/module/auth';
|
|
|
4
4
|
import { RouterService } from '@ng-vagabond-lab/ng-dsv/router';
|
|
5
5
|
import { Title, Meta } from '@angular/platform-browser';
|
|
6
6
|
import { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';
|
|
7
|
-
import { ApiService, ApiDto } from '@ng-vagabond-lab/ng-dsv/api';
|
|
7
|
+
import { ApiService, ApiDto, PageableDto } from '@ng-vagabond-lab/ng-dsv/api';
|
|
8
8
|
import * as _ngx_translate_core from '@ngx-translate/core';
|
|
9
9
|
import { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';
|
|
10
10
|
import { I18nService } from '@ng-vagabond-lab/ng-dsv/i18n';
|
|
@@ -75,7 +75,7 @@ declare abstract class BaseRouteContainer extends BaseContainer {
|
|
|
75
75
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseRouteContainer, never, never, {}, {}, never, never, true, never>;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
declare abstract class BaseFetchService<A extends ApiDto | ApiDto[]
|
|
78
|
+
declare abstract class BaseFetchService<A extends ApiDto | ApiDto[] | PageableDto<ApiDto[]>> extends BaseApiService {
|
|
79
79
|
readonly ssr: i0.WritableSignal<boolean>;
|
|
80
80
|
getStateKey(url: string): StateKey<A>;
|
|
81
81
|
getDataFromState(url: string): A | null;
|
|
@@ -84,7 +84,7 @@ declare abstract class BaseFetchService<A extends ApiDto | ApiDto[]> extends Bas
|
|
|
84
84
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFetchService<any>, never, never, {}, {}, never, never, true, never>;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
declare abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<T[]
|
|
87
|
+
declare abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<PageableDto<T[]>> {
|
|
88
88
|
readonly datas: i0.WritableSignal<T[]>;
|
|
89
89
|
readonly total: i0.WritableSignal<number | undefined>;
|
|
90
90
|
readonly page: i0.WritableSignal<number>;
|