-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathnode.component.ts
More file actions
37 lines (34 loc) · 997 Bytes
/
node.component.ts
File metadata and controls
37 lines (34 loc) · 997 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { Component, input, model } from '@angular/core';
import {
NgDiagramNodeResizeAdornmentComponent,
NgDiagramNodeRotateAdornmentComponent,
NgDiagramNodeSelectedDirective,
NgDiagramPortComponent,
type NgDiagramNodeTemplate,
type Node,
} from 'ng-diagram';
@Component({
selector: 'node',
imports: [
NgDiagramNodeRotateAdornmentComponent,
NgDiagramPortComponent,
NgDiagramNodeResizeAdornmentComponent,
],
templateUrl: './node.component.html',
styleUrls: ['./node.component.scss'],
hostDirectives: [
{ directive: NgDiagramNodeSelectedDirective, inputs: ['node'] },
],
host: {
'[class.ng-diagram-port-hoverable-over-node]': 'true',
},
})
export class NodeComponent implements NgDiagramNodeTemplate {
text = model<string>('');
node = input.required<Node>();
selectedState: string = 'Inactive';
onStateChange(event: Event) {
const selectElement = event.target as HTMLSelectElement;
this.selectedState = selectElement.value;
}
}