1
1
import type { IPlugin } from 'packages/core/src/IPlugin' ;
2
- import type { Listener } from 'packages/core/src/utils/Signal' ;
3
- import { Notifier } from 'packages/core/src/utils/Signal' ;
4
2
import type { Component as SvelteComponent } from 'svelte' ;
5
3
import { mount , unmount } from 'svelte' ;
6
4
@@ -21,19 +19,23 @@ export interface InputFieldSvelteProps<Value> {
21
19
onValueChange : ( value : Value ) => void ;
22
20
}
23
21
24
- export class InputFieldSvelteWrapper < Value , SvelteExports = object > extends Notifier < Value , Listener < Value > > {
22
+ export class InputFieldSvelteWrapper < Value , SvelteExports = object > {
25
23
readonly plugin : IPlugin ;
26
24
private readonly svelteComponent : InputFieldSvelteComponent < Value , SvelteExports > ;
27
25
private svelteComponentInstance ?: ReturnType < InputFieldSvelteComponent < Value , SvelteExports > > ;
28
26
private mounted : boolean ;
27
+ private onValueChange : ( value : Value ) => void ;
29
28
30
- constructor ( plugin : IPlugin , svelteComponent : InputFieldSvelteComponent < Value , SvelteExports > ) {
31
- super ( ) ;
32
-
29
+ constructor (
30
+ plugin : IPlugin ,
31
+ svelteComponent : InputFieldSvelteComponent < Value , SvelteExports > ,
32
+ onValueChange : ( value : Value ) => void ,
33
+ ) {
33
34
this . plugin = plugin ;
34
35
35
36
this . mounted = false ;
36
37
this . svelteComponent = svelteComponent ;
38
+ this . onValueChange = onValueChange ;
37
39
}
38
40
39
41
/**
@@ -62,9 +64,7 @@ export class InputFieldSvelteWrapper<Value, SvelteExports = object> extends Noti
62
64
{
63
65
plugin : this . plugin ,
64
66
value : initialValue ,
65
- onValueChange : ( value : Value ) => {
66
- this . notifyListeners ( value ) ;
67
- } ,
67
+ onValueChange : this . onValueChange ,
68
68
} ,
69
69
mountArgs ,
70
70
) ;
@@ -81,7 +81,6 @@ export class InputFieldSvelteWrapper<Value, SvelteExports = object> extends Noti
81
81
* This unmounts the component.
82
82
*/
83
83
public unmount ( ) : void {
84
- this . unregisterAllListeners ( ) ;
85
84
if ( this . svelteComponentInstance ) {
86
85
unmount ( this . svelteComponentInstance ) ;
87
86
}
0 commit comments