@ng-vagabond-lab/ng-dsv 0.0.36 → 0.0.37
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.
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';
|
|
2
|
+
import { ScrollService } from '../service/scroll.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare abstract class BaseScrollComponent {
|
|
5
|
+
environmentService: EnvironmentService;
|
|
6
|
+
scrollService: ScrollService;
|
|
7
|
+
constructor();
|
|
8
|
+
onScroll(scrollName?: string): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseScrollComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseScrollComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
11
|
+
}
|
package/base/public-api.d.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ScrollService {
|
|
3
|
+
scrolls: import("@angular/core").WritableSignal<Map<string, number>>;
|
|
4
|
+
saveScroll(scrollTop: number): void;
|
|
5
|
+
getScroll(): number | undefined;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollService, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ScrollService>;
|
|
8
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component, Injectable } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
2
|
+
import { inject, Component, signal, Injectable } from '@angular/core';
|
|
3
|
+
import { ActivatedRoute, Router, Scroll } from '@angular/router';
|
|
4
|
+
import { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';
|
|
5
|
+
import { filter, map } from 'rxjs';
|
|
4
6
|
|
|
5
7
|
class BaseRouteComponent {
|
|
6
8
|
activatedRoute = inject(ActivatedRoute);
|
|
@@ -24,6 +26,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
|
24
26
|
}]
|
|
25
27
|
}], ctorParameters: () => [] });
|
|
26
28
|
|
|
29
|
+
class ScrollService {
|
|
30
|
+
scrolls = signal(new Map());
|
|
31
|
+
saveScroll(scrollTop) {
|
|
32
|
+
this.scrolls.update((value) => {
|
|
33
|
+
value.set(location.href, scrollTop);
|
|
34
|
+
return value;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
getScroll() {
|
|
38
|
+
return this.scrolls().get(location.href);
|
|
39
|
+
}
|
|
40
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ScrollService, providedIn: 'root' });
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ScrollService, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{ providedIn: 'root' }]
|
|
46
|
+
}] });
|
|
47
|
+
|
|
48
|
+
class BaseScrollComponent {
|
|
49
|
+
environmentService = inject(EnvironmentService);
|
|
50
|
+
scrollService = inject(ScrollService);
|
|
51
|
+
constructor() {
|
|
52
|
+
inject(Router)
|
|
53
|
+
.events.pipe(filter((event) => event instanceof Scroll), map((event) => event.position))
|
|
54
|
+
.subscribe(() => {
|
|
55
|
+
const divScroll = document.getElementById('scroll');
|
|
56
|
+
divScroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
divScroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);
|
|
59
|
+
}, 500);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
onScroll(scrollName = 'scroll') {
|
|
63
|
+
const divScroll = document.getElementById(scrollName);
|
|
64
|
+
const distanceToBottom = divScroll?.scrollHeight -
|
|
65
|
+
(divScroll?.scrollTop + divScroll?.clientHeight);
|
|
66
|
+
this.environmentService.isScrollDown.set(distanceToBottom < 50);
|
|
67
|
+
this.scrollService.saveScroll(divScroll?.scrollTop);
|
|
68
|
+
}
|
|
69
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: BaseScrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: BaseScrollComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
71
|
+
}
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: BaseScrollComponent, decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{
|
|
75
|
+
template: '',
|
|
76
|
+
}]
|
|
77
|
+
}], ctorParameters: () => [] });
|
|
78
|
+
|
|
27
79
|
class BaseService {
|
|
28
80
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
81
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: BaseService, providedIn: 'root' });
|
|
@@ -39,5 +91,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
|
39
91
|
* Generated bundle index. Do not edit.
|
|
40
92
|
*/
|
|
41
93
|
|
|
42
|
-
export { BaseRouteComponent, BaseService };
|
|
94
|
+
export { BaseRouteComponent, BaseScrollComponent, BaseService, ScrollService };
|
|
43
95
|
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-base.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Component({\n template: '',\n})\nexport abstract class BaseRouteComponent implements OnInit, OnDestroy {\n activatedRoute: ActivatedRoute = inject(ActivatedRoute);\n\n routeObservable: Subscription | null = null;\n\n constructor() {}\n\n ngOnInit() {\n this.routeObservable = this.activatedRoute.params.subscribe((params) => {\n this.ngOnInitAfter(params);\n });\n }\n\n ngOnDestroy() {\n this.routeObservable?.unsubscribe();\n }\n\n protected abstract ngOnInitAfter(params: Params): void;\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class BaseService {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/service/scroll.service.ts","../../../projects/ng-dsv/base/component/base.scroll.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Component({\n template: '',\n})\nexport abstract class BaseRouteComponent implements OnInit, OnDestroy {\n activatedRoute: ActivatedRoute = inject(ActivatedRoute);\n\n routeObservable: Subscription | null = null;\n\n constructor() {}\n\n ngOnInit() {\n this.routeObservable = this.activatedRoute.params.subscribe((params) => {\n this.ngOnInitAfter(params);\n });\n }\n\n ngOnDestroy() {\n this.routeObservable?.unsubscribe();\n }\n\n protected abstract ngOnInitAfter(params: Params): void;\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollService {\n scrolls = signal<Map<string, number>>(new Map());\n\n saveScroll(scrollTop: number) {\n this.scrolls.update((value) => {\n value.set(location.href, scrollTop);\n return value;\n });\n }\n\n getScroll() {\n return this.scrolls().get(location.href);\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { Router, Scroll } from '@angular/router';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { filter, map } from 'rxjs';\nimport { ScrollService } from '../service/scroll.service';\n\n@Component({\n template: '',\n})\nexport abstract class BaseScrollComponent {\n environmentService = inject(EnvironmentService);\n scrollService = inject(ScrollService);\n\n constructor() {\n inject(Router)\n .events.pipe(\n filter((event): event is Scroll => event instanceof Scroll),\n map((event: Scroll) => event.position)\n )\n .subscribe(() => {\n const divScroll = document.getElementById('scroll');\n divScroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);\n setTimeout(() => {\n divScroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);\n }, 500);\n });\n }\n\n onScroll(scrollName: string = 'scroll') {\n const divScroll = document.getElementById(scrollName);\n const distanceToBottom =\n divScroll?.scrollHeight! -\n (divScroll?.scrollTop! + divScroll?.clientHeight!);\n this.environmentService.isScrollDown.set(distanceToBottom < 50);\n this.scrollService.saveScroll(divScroll?.scrollTop!);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class BaseService {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAOsB,kBAAkB,CAAA;AACtC,IAAA,cAAc,GAAmB,MAAM,CAAC,cAAc,CAAC;IAEvD,eAAe,GAAwB,IAAI;AAE3C,IAAA,WAAA,GAAA;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACrE,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAC5B,SAAC,CAAC;;IAGJ,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE;;wGAdjB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,wEAF5B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEQ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;;;MCHY,aAAa,CAAA;AACxB,IAAA,OAAO,GAAG,MAAM,CAAsB,IAAI,GAAG,EAAE,CAAC;AAEhD,IAAA,UAAU,CAAC,SAAiB,EAAA;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAI;YAC5B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;AACnC,YAAA,OAAO,KAAK;AACd,SAAC,CAAC;;IAGJ,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;;wGAX/B,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA;;4FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCOZ,mBAAmB,CAAA;AACvC,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAErC,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAM;aACV,MAAM,CAAC,IAAI,CACV,MAAM,CAAC,CAAC,KAAK,KAAsB,KAAK,YAAY,MAAM,CAAC,EAC3D,GAAG,CAAC,CAAC,KAAa,KAAK,KAAK,CAAC,QAAQ,CAAC;aAEvC,SAAS,CAAC,MAAK;YACd,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AACnD,YAAA,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3D,UAAU,CAAC,MAAK;AACd,gBAAA,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAC5D,EAAE,GAAG,CAAC;AACT,SAAC,CAAC;;IAGN,QAAQ,CAAC,aAAqB,QAAQ,EAAA;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AACrD,QAAA,MAAM,gBAAgB,GACpB,SAAS,EAAE,YAAa;aACvB,SAAS,EAAE,SAAU,GAAG,SAAS,EAAE,YAAa,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,SAAU,CAAC;;wGAzBlC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,wEAF7B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAHxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;;;MCHqB,WAAW,CAAA;wGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFnB,MAAM,EAAA,CAAA;;4FAEE,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACJD;;AAEG;;;;"}
|