diff --git a/packages/common/src/lib/icons/icon/icon.component.ts b/packages/common/src/lib/icons/icon/icon.component.ts
index 1f015badd..1e8f5f727 100644
--- a/packages/common/src/lib/icons/icon/icon.component.ts
+++ b/packages/common/src/lib/icons/icon/icon.component.ts
@@ -1,8 +1,8 @@
import { Component, Input } from '@angular/core';
-import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
-import { DomSanitizer } from '@angular/platform-browser';
+import { MatIconModule } from '@angular/material/icon';
import { IconSvg } from '../shared';
+import { IconService } from '../shared/icon.service';
@Component({
selector: 'igo-icon',
@@ -24,16 +24,10 @@ export class IgoIconComponent {
}
private _icon: string | IconSvg;
- constructor(
- private iconRegistry: MatIconRegistry,
- private sanitizer: DomSanitizer
- ) {}
+ constructor(private iconService: IconService) {}
registerSvg(icon: IconSvg): void {
- this.iconRegistry.addSvgIconLiteral(
- icon.name,
- this.sanitizer.bypassSecurityTrustHtml(icon.svg)
- );
+ this.iconService.registerSvg(icon);
}
isSvg(icon: string | IconSvg): icon is IconSvg {
diff --git a/packages/common/src/lib/icons/shared/icon.service.spec.ts b/packages/common/src/lib/icons/shared/icon.service.spec.ts
new file mode 100644
index 000000000..2f53531da
--- /dev/null
+++ b/packages/common/src/lib/icons/shared/icon.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { IconService } from './icon.service';
+
+describe('IconService', () => {
+ let service: IconService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(IconService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/packages/common/src/lib/icons/shared/icon.service.ts b/packages/common/src/lib/icons/shared/icon.service.ts
new file mode 100644
index 000000000..44c8e5e47
--- /dev/null
+++ b/packages/common/src/lib/icons/shared/icon.service.ts
@@ -0,0 +1,22 @@
+import { Injectable } from '@angular/core';
+import { MatIconRegistry } from '@angular/material/icon';
+import { DomSanitizer } from '@angular/platform-browser';
+
+import { IconSvg } from './icon.interface';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class IconService {
+ constructor(
+ private iconRegistry: MatIconRegistry,
+ private sanitizer: DomSanitizer
+ ) {}
+
+ registerSvg(icon: IconSvg): void {
+ this.iconRegistry.addSvgIconLiteral(
+ icon.name,
+ this.sanitizer.bypassSecurityTrustHtml(icon.svg)
+ );
+ }
+}
diff --git a/packages/common/src/lib/icons/shared/icons.ts b/packages/common/src/lib/icons/shared/icons.ts
index dc67c891a..3d3287222 100644
--- a/packages/common/src/lib/icons/shared/icons.ts
+++ b/packages/common/src/lib/icons/shared/icons.ts
@@ -10,30 +10,41 @@ export const MAGNIFY_SCAN_ICON: IconSvg = {
`
};
-export const MICROSOFT_ICON = {
+export const MICROSOFT_ICON: IconSvg = {
name: 'microsoft',
svg: `
`
};
-export const KEYBOARD_ESC_ICON = {
+export const KEYBOARD_ESC_ICON: IconSvg = {
name: 'keyboard-esc',
svg: `
`
};
-export const ENGINE_ICON = {
+export const ENGINE_ICON: IconSvg = {
name: 'engine',
svg: `
`
};
-export const SELECTION_MARKER_ICON = {
+export const SELECTION_MARKER_ICON: IconSvg = {
name: 'selection-marker',
svg: `
`
};
+
+export const PRESENTATION_PLAY_ICON: IconSvg = {
+ name: 'presentation-play',
+ svg: ``
+};
+
+
+export const LAYER_PLUS_ICON: IconSvg = {
+ name: 'layers-plus',
+ svg: ``
+};
diff --git a/packages/common/src/lib/icons/shared/index.ts b/packages/common/src/lib/icons/shared/index.ts
index dfedea2a0..8e10e16de 100644
--- a/packages/common/src/lib/icons/shared/index.ts
+++ b/packages/common/src/lib/icons/shared/index.ts
@@ -1,2 +1,3 @@
export * from './icons';
export * from './icon.interface';
+export * from './icon.service';
diff --git a/packages/common/src/lib/interactive-tour/interactive-tour.component.html b/packages/common/src/lib/interactive-tour/interactive-tour.component.html
index 44e0461cc..8c74647ce 100644
--- a/packages/common/src/lib/interactive-tour/interactive-tour.component.html
+++ b/packages/common/src/lib/interactive-tour/interactive-tour.component.html
@@ -15,7 +15,7 @@
"
[disabled]="disabledTourButton"
>
- help_center
+
@@ -31,6 +31,7 @@
{{ 'igo.common.interactiveTour.buttonTitle' | translate }}
{{ discoverTitleInLocale$ | async | translate }}
help_center
+ >
diff --git a/packages/common/src/lib/interactive-tour/interactive-tour.component.ts b/packages/common/src/lib/interactive-tour/interactive-tour.component.ts
index a4364f96c..17e0b3147 100644
--- a/packages/common/src/lib/interactive-tour/interactive-tour.component.ts
+++ b/packages/common/src/lib/interactive-tour/interactive-tour.component.ts
@@ -7,6 +7,11 @@ import { MatTooltipModule } from '@angular/material/tooltip';
import { TranslateModule } from '@ngx-translate/core';
import { Observable, of } from 'rxjs';
+import {
+ IconService,
+ IgoIconComponent,
+ PRESENTATION_PLAY_ICON
+} from '../icons';
import { ToolService } from '../tool/shared/tool.service';
import { InteractiveTourService } from './interactive-tour.service';
@@ -23,10 +28,13 @@ import { InteractiveTourService } from './interactive-tour.service';
MatTooltipModule,
MatIconModule,
AsyncPipe,
- TranslateModule
+ TranslateModule,
+ IgoIconComponent
]
})
export class InteractiveTourComponent {
+ presentationIcon = PRESENTATION_PLAY_ICON;
+
/**
* Toolbox that holds main tools
*/
@@ -110,8 +118,11 @@ export class InteractiveTourComponent {
constructor(
private interactiveTourService: InteractiveTourService,
- private toolService: ToolService
- ) {}
+ private toolService: ToolService,
+ private iconService: IconService
+ ) {
+ this.iconService.registerSvg(this.presentationIcon);
+ }
startInteractiveTour() {
const tour = this.getTourToStart();
diff --git a/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.html b/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.html
index cf2086c41..60877a850 100644
--- a/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.html
+++ b/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.html
@@ -21,6 +21,6 @@
(click)="addCatalogDialog()"
>
{{ 'igo.geo.catalog.library.addBtn' | translate }}
- library_add
+
diff --git a/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.ts b/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.ts
index 0737ddb2d..f861e6a64 100644
--- a/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.ts
+++ b/packages/geo/src/lib/catalog/catalog-library/catalog-library.component.ts
@@ -13,7 +13,13 @@ import { MatDialog } from '@angular/material/dialog';
import { MatIconModule } from '@angular/material/icon';
import { MatTooltipModule } from '@angular/material/tooltip';
-import { EntityStore, ListComponent, ListItemDirective } from '@igo2/common';
+import {
+ EntityStore,
+ IconService,
+ LAYER_PLUS_ICON,
+ ListComponent,
+ ListItemDirective
+} from '@igo2/common';
import { MessageService } from '@igo2/core/message';
import { StorageService } from '@igo2/core/storage';
import { ObjectUtils } from '@igo2/utils';
@@ -82,6 +88,9 @@ export class CatalogLibaryComponent implements OnInit, OnDestroy {
}>();
submitDisabled = true;
+
+ layerPlusIcon = LAYER_PLUS_ICON;
+
private addingCatalog$$: Subscription;
get addedCatalogs(): Catalog[] {
@@ -95,8 +104,11 @@ export class CatalogLibaryComponent implements OnInit, OnDestroy {
private capabilitiesService: CapabilitiesService,
private messageService: MessageService,
private storageService: StorageService,
- private dialog: MatDialog
- ) {}
+ private dialog: MatDialog,
+ private iconService: IconService
+ ) {
+ this.iconService.registerSvg(this.layerPlusIcon);
+ }
/**
* @internal
diff --git a/packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.component.ts b/packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.component.ts
index 3270b1847..079e8db44 100644
--- a/packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.component.ts
+++ b/packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.component.ts
@@ -5,7 +5,7 @@ import {
OnInit
} from '@angular/core';
-import { ToolComponent } from '@igo2/common';
+import { LAYER_PLUS_ICON, ToolComponent } from '@igo2/common';
import { EntityStore } from '@igo2/common';
import { StorageService } from '@igo2/core/storage';
import { Catalog, CatalogLibaryComponent, CatalogService } from '@igo2/geo';
@@ -21,7 +21,7 @@ import { CatalogState } from '../catalog.state';
@ToolComponent({
name: 'catalog',
title: 'igo.integration.tools.catalog',
- icon: 'library_add'
+ icon: LAYER_PLUS_ICON
})
@Component({
selector: 'igo-catalog-library-tool',
diff --git a/packages/integration/src/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.html b/packages/integration/src/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.html
index 1ecec452e..a3b3fa791 100644
--- a/packages/integration/src/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.html
+++ b/packages/integration/src/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.html
@@ -59,7 +59,7 @@
- library_add
+