Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e2b0592

Browse files
committed
feat(soba/loaders): rename injectProgress to progress
1 parent e14e1dd commit e2b0592

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

libs/soba/loaders/src/lib/loader.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {
22
ChangeDetectionStrategy,
33
Component,
44
ElementRef,
5-
computed,
65
effect,
76
input,
87
signal,
@@ -11,7 +10,7 @@ import {
1110
} from '@angular/core';
1211
import { pick } from 'angular-three';
1312
import { mergeInputs } from 'ngxtension/inject-inputs';
14-
import { injectProgress } from './progress';
13+
import { progress } from './progress';
1514

1615
const defaultDataInterpolation = (p: number) => `Loading ${p.toFixed(2)}%`;
1716

@@ -59,10 +58,10 @@ const defaultOptions: NgtsLoaderOptions = {
5958
changeDetection: ChangeDetectionStrategy.OnPush,
6059
})
6160
export class NgtsLoader {
62-
private progressState = injectProgress();
61+
private progressState = progress();
6362

64-
protected active = computed(() => this.progressState().active);
65-
protected progress = computed(() => this.progressState().progress);
63+
protected active = this.progressState.active;
64+
protected progress = this.progressState.progress;
6665

6766
options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
6867

libs/soba/loaders/src/lib/progress.ts

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { DestroyRef, inject, Injector, signal } from '@angular/core';
1+
import { DestroyRef, inject, Injector } from '@angular/core';
2+
import { signalState } from 'angular-three';
23
import { assertInjector } from 'ngxtension/assert-injector';
34
import * as THREE from 'three';
45

5-
export function injectProgress(injector?: Injector) {
6-
return assertInjector(injectProgress, injector, () => {
7-
const progress = signal<{
6+
export function progress(injector?: Injector) {
7+
return assertInjector(progress, injector, () => {
8+
const progressState = signalState<{
89
errors: string[];
910
active: boolean;
1011
progress: number;
@@ -21,34 +22,32 @@ export function injectProgress(injector?: Injector) {
2122
let saveLastTotalLoaded = 0;
2223

2324
THREE.DefaultLoadingManager.onStart = (item, loaded, total) => {
24-
progress.update((prev) => ({
25-
...prev,
25+
progressState.update({
2626
active: true,
2727
item,
2828
loaded,
2929
total,
3030
progress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100,
31-
}));
31+
});
3232
};
3333

3434
THREE.DefaultLoadingManager.onLoad = () => {
35-
progress.update((prev) => ({ ...prev, active: false }));
35+
progressState.update({ active: false });
3636
};
3737

3838
THREE.DefaultLoadingManager.onError = (url) => {
39-
progress.update((prev) => ({ ...prev, errors: [...prev.errors, url] }));
39+
progressState.update((prev) => ({ errors: [...prev.errors, url] }));
4040
};
4141

4242
THREE.DefaultLoadingManager.onProgress = (item, loaded, total) => {
4343
if (loaded === total) saveLastTotalLoaded = total;
4444

45-
progress.update((prev) => ({
46-
...prev,
45+
progressState.update({
4746
item,
4847
loaded,
4948
total,
5049
progress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100 || 100,
51-
}));
50+
});
5251
};
5352

5453
inject(DestroyRef).onDestroy(() => {
@@ -58,6 +57,12 @@ export function injectProgress(injector?: Injector) {
5857
THREE.DefaultLoadingManager.onProgress = defaultOnProgress;
5958
});
6059

61-
return progress.asReadonly();
60+
return progressState;
6261
});
6362
}
63+
64+
/**
65+
* @deprecated Use `progress` instead. Will be removed in v5.0.0
66+
* @since v4.0.0
67+
*/
68+
export const injectProgress = progress;

0 commit comments

Comments
 (0)