1
- import { Directive , ElementRef , TemplateRef } from '@angular/core'
1
+ import { Directive , ElementRef , inject , TemplateRef } from '@angular/core'
2
2
import { SplitAreaComponent } from '../split-area/split-area.component'
3
3
4
4
export interface SplitGutterTemplateContext {
@@ -38,22 +38,29 @@ export interface SplitGutterTemplateContext {
38
38
standalone : true ,
39
39
} )
40
40
export class SplitGutterDirective {
41
+ readonly template = inject < TemplateRef < SplitGutterTemplateContext > > ( TemplateRef )
42
+
41
43
/**
42
44
* The map holds reference to the drag handle elements inside instances
43
45
* of the provided template.
46
+ *
47
+ * @internal
44
48
*/
45
- gutterToHandleElementMap = new Map < number , ElementRef < HTMLElement > [ ] > ( )
49
+ readonly _gutterToHandleElementMap = new Map < number , ElementRef < HTMLElement > [ ] > ( )
46
50
/**
47
51
* The map holds reference to the excluded drag elements inside instances
48
52
* of the provided template.
53
+ *
54
+ * @internal
49
55
*/
50
- gutterToExcludeDragElementMap = new Map < number , ElementRef < HTMLElement > [ ] > ( )
51
-
52
- constructor ( public template : TemplateRef < SplitGutterTemplateContext > ) { }
56
+ readonly _gutterToExcludeDragElementMap = new Map < number , ElementRef < HTMLElement > [ ] > ( )
53
57
54
- canStartDragging ( originElement : HTMLElement , gutterNum : number ) {
55
- if ( this . gutterToExcludeDragElementMap . has ( gutterNum ) ) {
56
- const isInsideExclude = this . gutterToExcludeDragElementMap
58
+ /**
59
+ * @internal
60
+ */
61
+ _canStartDragging ( originElement : HTMLElement , gutterNum : number ) {
62
+ if ( this . _gutterToExcludeDragElementMap . has ( gutterNum ) ) {
63
+ const isInsideExclude = this . _gutterToExcludeDragElementMap
57
64
. get ( gutterNum )
58
65
. some ( ( gutterExcludeElement ) => gutterExcludeElement . nativeElement . contains ( originElement ) )
59
66
@@ -62,24 +69,30 @@ export class SplitGutterDirective {
62
69
}
63
70
}
64
71
65
- if ( this . gutterToHandleElementMap . has ( gutterNum ) ) {
66
- return this . gutterToHandleElementMap
72
+ if ( this . _gutterToHandleElementMap . has ( gutterNum ) ) {
73
+ return this . _gutterToHandleElementMap
67
74
. get ( gutterNum )
68
75
. some ( ( gutterHandleElement ) => gutterHandleElement . nativeElement . contains ( originElement ) )
69
76
}
70
77
71
78
return true
72
79
}
73
80
74
- addToMap ( map : Map < number , ElementRef < HTMLElement > [ ] > , gutterNum : number , elementRef : ElementRef < HTMLElement > ) {
81
+ /**
82
+ * @internal
83
+ */
84
+ _addToMap ( map : Map < number , ElementRef < HTMLElement > [ ] > , gutterNum : number , elementRef : ElementRef < HTMLElement > ) {
75
85
if ( map . has ( gutterNum ) ) {
76
86
map . get ( gutterNum ) . push ( elementRef )
77
87
} else {
78
88
map . set ( gutterNum , [ elementRef ] )
79
89
}
80
90
}
81
91
82
- removedFromMap ( map : Map < number , ElementRef < HTMLElement > [ ] > , gutterNum : number , elementRef : ElementRef < HTMLElement > ) {
92
+ /**
93
+ * @internal
94
+ */
95
+ _removedFromMap ( map : Map < number , ElementRef < HTMLElement > [ ] > , gutterNum : number , elementRef : ElementRef < HTMLElement > ) {
83
96
const elements = map . get ( gutterNum )
84
97
elements . splice ( elements . indexOf ( elementRef ) , 1 )
85
98
@@ -88,7 +101,7 @@ export class SplitGutterDirective {
88
101
}
89
102
}
90
103
91
- static ngTemplateContextGuard ( dir : SplitGutterDirective , ctx : unknown ) : ctx is SplitGutterTemplateContext {
104
+ static ngTemplateContextGuard ( _dir : SplitGutterDirective , ctx : unknown ) : ctx is SplitGutterTemplateContext {
92
105
return true
93
106
}
94
107
}
0 commit comments