1
- import {
2
- ChangeDetectionStrategy ,
3
- Component ,
4
- CUSTOM_ELEMENTS_SCHEMA ,
5
- input ,
6
- Signal ,
7
- signal ,
8
- viewChild ,
9
- } from '@angular/core' ;
1
+ import { ChangeDetectionStrategy , Component , CUSTOM_ELEMENTS_SCHEMA , input , Signal , viewChild } from '@angular/core' ;
10
2
import { Meta } from '@storybook/angular' ;
11
3
import { injectBeforeRender , injectObjectEvents , omit , pick } from 'angular-three' ;
12
4
import { NgtsOrbitControls } from 'angular-three-soba/controls' ;
@@ -52,16 +44,20 @@ class Shoe {
52
44
random = pick ( this . data , 'random' ) ;
53
45
54
46
instance = viewChild . required ( NgtsInstance ) ;
55
- hovered = signal ( false ) ;
47
+
48
+ // NOTE: this can be just a property because we use it in the injectBeforeRender loop
49
+ // and not bind in the template. If we were to bind it in the template, it would
50
+ // have to be a signal
51
+ hovered = false ;
56
52
57
53
constructor ( ) {
58
54
injectObjectEvents ( ( ) => this . instance ( ) . positionMesh ( ) , {
59
55
pointerover : ( event ) => {
60
56
event . stopPropagation ( ) ;
61
- this . hovered . set ( true ) ;
57
+ this . hovered = true ;
62
58
} ,
63
59
pointerout : ( ) => {
64
- this . hovered . set ( false ) ;
60
+ this . hovered = false ;
65
61
} ,
66
62
} ) ;
67
63
@@ -76,8 +72,8 @@ class Shoe {
76
72
instance . scale . x =
77
73
instance . scale . y =
78
74
instance . scale . z =
79
- MathUtils . lerp ( instance . scale . z , this . hovered ( ) ? 1.4 : 1 , 0.1 ) ;
80
- instance . color . lerp ( color . set ( this . hovered ( ) ? 'red' : 'white' ) , this . hovered ( ) ? 1 : 0.1 ) ;
75
+ MathUtils . lerp ( instance . scale . z , this . hovered ? 1.4 : 1 , 0.1 ) ;
76
+ instance . color . lerp ( color . set ( this . hovered ? 'red' : 'white' ) , this . hovered ? 1 : 0.1 ) ;
81
77
} ) ;
82
78
}
83
79
}
@@ -146,6 +142,6 @@ export const Default = makeStoryObject(DefaultInstancesStory, {
146
142
camera : { position : [ 0 , 0 , 20 ] , fov : 50 } ,
147
143
} ,
148
144
argsOptions : {
149
- range : number ( 100 , { range : true , min : 0 , max : 1000 , step : 1 } ) ,
145
+ range : number ( 100 , { range : true , min : 10 , max : 500 , step : 1 } ) ,
150
146
} ,
151
147
} ) ;
0 commit comments