Skip to content

Commit 585cb74

Browse files
committed
load necessary icon only
Change-Id: I848be5c3d9bf89af36bef40166c4467650aa8d96 Reviewed-on: https://forge.frm2.tum.de/review/c/mlz/eln/frontend/+/39509 Reviewed-by: Josef Baudisch <josef.baudisch@frm2.tum.de> Tested-by: Wojian Wang <wojian.wang@frm2.tum.de>
1 parent 844e68f commit 585cb74

1 file changed

Lines changed: 79 additions & 6 deletions

File tree

libs/fabric-canvas/component/fabric-canvas.component.ts

Lines changed: 79 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,52 @@ import {
77
HostListener,
88
Input,
99
Output,
10-
ViewChild
10+
ViewChild,
11+
inject
1112
} from '@angular/core';
1213
import * as fabric from 'fabric';
1314
import {CommonModule} from "@angular/common";
1415
import {FormsModule} from "@angular/forms";
1516
import {HttpClient} from "@angular/common/http";
1617
import {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+
1956
import {PicturesService, WebSocketService} from "@app/services";
2057
import {PicturePayload} from "@joeseln/types";
2158
import {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
})
3875
export 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

Comments
 (0)