File

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

Extends

AbstractAssetService

Index

Properties
Methods

Methods

defaultIfNotFound
defaultIfNotFound(icon: string)
Inherited from AbstractAssetService
Parameters :
Name Type Optional
icon string No
Returns : IconSource
getFinalResult
getFinalResult(finalUrl: string, provider: IconSource)
Inherited from AbstractAssetService
Parameters :
Name Type Optional
finalUrl string No
provider IconSource No
Returns : IconSource
Protected init
init()
Inherited from AbstractAssetService
Returns : void
Public getSource
getSource(icon: string)
Inherited from AbstractAssetService
Parameters :
Name Type Optional
icon string No
Returns : T
Public getSourceByNamespace
getSourceByNamespace(namespace: string, icon: string)
Inherited from AbstractAssetService
Parameters :
Name Type Optional
namespace string No
icon string No
Returns : T
Public registerProvider
registerProvider(key: string, source: T)
Inherited from AbstractAssetService
Parameters :
Name Type Optional
key string No
source T No
Returns : void
Public setDefaultProvider
setDefaultProvider(key: string)
Inherited from AbstractAssetService
Parameters :
Name Type Optional
key string No
Returns : void

Properties

defaultProvider
Type : string
Default value : 'md'
Inherited from AbstractAssetService
Protected providers
Type : Map<string | T>
Default value : new Map()
Inherited from AbstractAssetService
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 ""