File

projects/atft/src/lib/object/loader/services/icon.service.ts

Extends

BaseAssetSource

Index

Properties

Properties

allowColorOverride
allowColorOverride: boolean
Type : boolean
isCCW
isCCW: boolean
Type : boolean
noHoles
noHoles: boolean
Type : boolean
import {Injectable} from '@angular/core';
import {AbstractAssetService, BaseAssetSource} from './abstract-asset.service';


export interface IconSource extends BaseAssetSource {
  allowColorOverride: boolean;
  isCCW: boolean;
  noHoles: boolean;
}

@Injectable()
export class IconService extends AbstractAssetService<IconSource> {

  defaultProvider = 'md';

  protected init() {
    this.registerProvider('md', {
      url: 'https://raw.githubusercontent.com/material-icons/material-icons/master/svg/?/baseline.svg',
      allowColorOverride: true,
      isCCW: false,
      noHoles: false
    });
    this.registerProvider('a', {
      url: 'assets/svg/?.svg',
      allowColorOverride: true,
      isCCW: false,
      noHoles: false
    });
    this.registerProvider('az', {
      url: 'https://raw.githubusercontent.com/makimenko/files/master/azure-icons/?.svg',
      allowColorOverride: false,
      isCCW: false,
      noHoles: false
    });
    this.registerProvider('g', {
      url: 'https://raw.githubusercontent.com/makimenko/files/master/google-cloud-icons/?.svg',
      allowColorOverride: true,
      isCCW: false,
      noHoles: false
    });
    this.registerProvider('aws', {
      url: 'https://raw.githubusercontent.com/makimenko/files/master/aws-icons/?.svg',
      allowColorOverride: false,
      isCCW: false,
      noHoles: true
    });
  }

  defaultIfNotFound(icon: string): IconSource {
    return {
      url: icon,
      allowColorOverride: true,
      isCCW: false,
      noHoles: false
    };
  }

  getFinalResult(finalUrl: string, provider: IconSource): IconSource {
    // console.log('IconService.getUrlByNamespace url', svgUrl);
    return {
      url: finalUrl,
      allowColorOverride: provider.allowColorOverride,
      isCCW: provider.isCCW,
      noHoles: provider.noHoles
    };
  }


}

results matching ""

    No results matching ""