@@ -7,15 +7,52 @@ import {
77 HostListener ,
88 Input ,
99 Output ,
10- ViewChild
10+ ViewChild ,
11+ inject
1112} from '@angular/core' ;
1213import * as fabric from 'fabric' ;
1314import { CommonModule } from "@angular/common" ;
1415import { FormsModule } from "@angular/forms" ;
1516import { HttpClient } from "@angular/common/http" ;
1617import { debounceTime , Subject } from 'rxjs' ;
17- import { FaIconComponent , FaIconLibrary } from '@fortawesome/angular-fontawesome' ;
18- import { fas } from '@fortawesome/free-solid-svg-icons' ;
18+ import { FontAwesomeModule , FaIconLibrary } from '@fortawesome/angular-fontawesome' ;
19+
20+ import { faFolderOpen } from '@fortawesome/free-solid-svg-icons/faFolderOpen' ;
21+ import { faCamera } from '@fortawesome/free-solid-svg-icons/faCamera' ;
22+ import { faDatabase } from '@fortawesome/free-solid-svg-icons/faDatabase'
23+ import { faUpload } from '@fortawesome/free-solid-svg-icons/faUpload'
24+ import { faEye } from '@fortawesome/free-solid-svg-icons/faEye'
25+ import { faEyeSlash } from '@fortawesome/free-solid-svg-icons/faEyeSlash'
26+ import { faRotateLeft } from '@fortawesome/free-solid-svg-icons/faRotateLeft'
27+ import { faSquare } from '@fortawesome/free-solid-svg-icons/faSquare'
28+ import { faCircle } from '@fortawesome/free-solid-svg-icons/faCircle'
29+ import { faPlay } from '@fortawesome/free-solid-svg-icons/faPlay'
30+ import { faProjectDiagram } from '@fortawesome/free-solid-svg-icons/faProjectDiagram'
31+ import { faDrawPolygon } from '@fortawesome/free-solid-svg-icons/faDrawPolygon'
32+ import { faArrowRight } from '@fortawesome/free-solid-svg-icons/faArrowRight'
33+ import { faStop } from '@fortawesome/free-solid-svg-icons/faStop'
34+ import { faPencilAlt } from '@fortawesome/free-solid-svg-icons/faPencilAlt'
35+ import { faPen } from '@fortawesome/free-solid-svg-icons/faPen'
36+ import { faPalette } from '@fortawesome/free-solid-svg-icons/faPalette'
37+ import { faBan } from '@fortawesome/free-solid-svg-icons/faBan'
38+ import { faFillDrip } from '@fortawesome/free-solid-svg-icons/faFillDrip'
39+ import { faPaintbrush } from '@fortawesome/free-solid-svg-icons/faPaintbrush'
40+ import { faArrowsAltH } from '@fortawesome/free-solid-svg-icons/faArrowsAltH'
41+ import { faFont } from '@fortawesome/free-solid-svg-icons/faFont'
42+ import { faTextHeight } from '@fortawesome/free-solid-svg-icons/faTextHeight'
43+ import { faHeading } from '@fortawesome/free-solid-svg-icons/faHeading'
44+ import { faBold } from '@fortawesome/free-solid-svg-icons/faBold'
45+ import { faItalic } from '@fortawesome/free-solid-svg-icons/faItalic'
46+ import { faCrop } from '@fortawesome/free-solid-svg-icons/faCrop'
47+ import { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck'
48+ import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes'
49+ import { faObjectGroup } from '@fortawesome/free-solid-svg-icons/faObjectGroup'
50+ import { faObjectUngroup } from '@fortawesome/free-solid-svg-icons/faObjectUngroup'
51+ import { faTrash } from '@fortawesome/free-solid-svg-icons/faTrash'
52+ import { faLayerGroup } from '@fortawesome/free-solid-svg-icons/faLayerGroup'
53+ import { faSave } from '@fortawesome/free-solid-svg-icons/faSave'
54+ import { faRedo } from '@fortawesome/free-solid-svg-icons/faRedo'
55+
1956import { PicturesService , WebSocketService } from "@app/services" ;
2057import { PicturePayload } from "@joeseln/types" ;
2158import { v4 as uuidv4 } from 'uuid' ;
@@ -33,14 +70,13 @@ import {environment} from "@environments/environment";
3370 templateUrl : './fabric-canvas.component.html' ,
3471 styleUrls : [ './fabric-canvas.component.css' ] ,
3572 standalone : true ,
36- imports : [ CommonModule , FormsModule , FaIconComponent ]
73+ imports : [ CommonModule , FormsModule , FontAwesomeModule ]
3774} )
3875export class FabricCanvasComponent implements AfterViewInit {
3976
4077
4178 constructor ( private cdr : ChangeDetectorRef ,
4279 private http : HttpClient ,
43- private library : FaIconLibrary ,
4480 public readonly picturesService : PicturesService ,
4581 private readonly websocketService : WebSocketService ,
4682 private eRef : ElementRef ,
@@ -50,7 +86,44 @@ export class FabricCanvasComponent implements AfterViewInit {
5086 this . storeSubject . pipe ( debounceTime ( 10 ) ) . subscribe ( ( ) => {
5187 this . onSubmit ( )
5288 } ) ;
53- library . addIconPacks ( fas ) ;
89+ const library = inject ( FaIconLibrary ) ;
90+ library . addIcons (
91+ faFolderOpen ,
92+ faCamera ,
93+ faDatabase ,
94+ faUpload ,
95+ faEye ,
96+ faEyeSlash ,
97+ faRotateLeft ,
98+ faSquare ,
99+ faCircle ,
100+ faPlay ,
101+ faProjectDiagram ,
102+ faDrawPolygon ,
103+ faArrowRight ,
104+ faStop ,
105+ faPencilAlt ,
106+ faPen ,
107+ faPalette ,
108+ faBan ,
109+ faFillDrip ,
110+ faPaintbrush ,
111+ faArrowsAltH ,
112+ faFont ,
113+ faTextHeight ,
114+ faHeading ,
115+ faBold ,
116+ faItalic ,
117+ faCrop ,
118+ faCheck ,
119+ faTimes ,
120+ faObjectGroup ,
121+ faObjectUngroup ,
122+ faTrash ,
123+ faLayerGroup ,
124+ faSave ,
125+ faRedo
126+ ) ;
54127 }
55128
56129
0 commit comments