Skip to content
Snippets Groups Projects
Select Git revision
  • 5a07a79636fe8d37019b32222c6522fbcb8f3538
  • main default protected
  • admin-cleanup
  • tooltip-improvements
  • OZG-8376-ods-select
  • OZG-8405-Alfa-Bearbeiter-auswählen-und-entfernen-Design
  • OZG-7981-Statistik-Anzeige-von-Mandanten
  • OZG-6319-inlcude-externe-fachstelle-to-collaboration
  • OZG-8430-radio-button-card-styling
  • OZG-7981-Statistik-Anzeige-von-Mandanten-2
  • wip-sebo-sebastian
  • fix-storybook
  • OZG-8314-Alfa-Vorgang-Bearbeiter-Zuweisung-entfernen
  • testing-imports
  • storybook-improvements
  • release-administration
  • OZG-8422-BenutzerSpeichern
  • release-info
  • release
  • OZG-7856_schadcode-scanner-e2e
  • OZG-7985-fix-sorting
  • 1.12.1-administration
  • 1.12.0-administration
  • 1.12.0-info
  • 2.27.0-alfa
  • 1.11.0-info
  • 1.11.0-administration
  • 2.26.0-alfa
  • 1.10.0-info
  • 1.10.0-administration
  • 2.25.0-alfa
  • 1.9.0-info
  • 1.9.0-administration
  • 2.24.0-alfa
  • 1.8.0-info
  • 1.8.0-administration
  • 2.23.0-alfa
  • 1.7.0-info
  • 1.7.0-administration
  • 2.22.0-alfa
  • 1.6.0-info
41 results

icon.service.ts

Blame
  • icon.service.ts 1.64 KiB
    /*
     * Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
     * Ministerpräsidenten des Landes Schleswig-Holstein
     * Staatskanzlei
     * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
     *
     * Lizenziert unter der EUPL, Version 1.2 oder - sobald
     * diese von der Europäischen Kommission genehmigt wurden -
     * Folgeversionen der EUPL ("Lizenz");
     * Sie dürfen dieses Werk ausschließlich gemäß
     * dieser Lizenz nutzen.
     * Eine Kopie der Lizenz finden Sie hier:
     *
     * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
     *
     * Sofern nicht durch anwendbare Rechtsvorschriften
     * gefordert oder in schriftlicher Form vereinbart, wird
     * die unter der Lizenz verbreitete Software "so wie sie
     * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
     * ausdrücklich oder stillschweigend - verbreitet.
     * Die sprachspezifischen Genehmigungen und Beschränkungen
     * unter der Lizenz sind dem Lizenztext zu entnehmen.
     */
    import { Injectable } from '@angular/core';
    import { MatIconRegistry } from '@angular/material/icon';
    import { DomSanitizer } from '@angular/platform-browser';
    import { Icons } from './icon.model';
    
    @Injectable({ providedIn: 'root' })
    export class IconService {
      constructor(
        private matIconRegistry: MatIconRegistry,
        private domSanitizer: DomSanitizer,
      ) {}
    
      public registerIcons(): void {
        this.loadIcons(Object.values(Icons), '/assets/icons');
      }
    
      private loadIcons(iconKeys: string[], iconUrl: string): void {
        iconKeys.forEach((key) =>
          this.matIconRegistry.addSvgIcon(
            key,
            this.domSanitizer.bypassSecurityTrustResourceUrl(`${iconUrl}/${key}.svg`),
          ),
        );
      }
    }