import { Pipe, PipeTransform } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; @Pipe({ name: 'fbUppdragStatus' }) export class FbUppdragStatusPipe implements PipeTransform { constructor(private readonly translate: TranslateService) {} transform(input: number): any { const baseUrl: string = '../app/Styles/images/uppdragstatusicons/'; let ret: any; switch (input) { case 0: ret = { url: 'foerbearbetning.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.FOERBEARBETNING') }; break; case 1: ret = { url: 'foerbearbetning_bokat.svg', text: 'Inför intagsförsök', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.FOERBEARBETNING_BOKAT') }; break; case 2: ret = { url: 'foerbearbetning_passerat.svg', text: 'Efter intagsförsök', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.FOERBEARBETNING_PASSERAT') }; break; case 3: ret = { url: 'Chilli_norating_centered.svg', text: 'Mina att chilisätta', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.CHILISAETTA') }; break; case 10: ret = { url: 'uppdrag.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.UPPDRAG') }; break; case 11: ret = { url: 'annonsering_pagang.svg', text: 'Annonserat på gång', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.ANNONSERING_KOMMANDE') }; break; case 12: ret = { url: 'annonsering.svg', text: 'Annonserat', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.ANNONSERING') }; break; case 14: ret = { url: 'annonsering_vilande.svg', text: 'Vilande annonsering', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.ANNONSERING_VILANDE') }; break; case 15: ret = { url: 'budgivning.svg', text: 'Budgivning pågår', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.BUDGIVNING') }; break; case 16: ret = { url: 'budgivning.svg', text: 'Budgivning pågår - Annonserat på gång', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.BUDGIVNING') }; break; case 17: ret = { url: 'budgivning.svg', text: 'Budgivning pågår - Annonserat', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.BUDGIVNING') }; break; case 18: ret = { url: 'annonsering_vilande.svg', text: 'Budgivning pågår - Vilande annonsering', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.ANNONSERING_VILANDE') }; break; case 19: ret = { url: 'uppdrag_pagang.svg', text: 'På gång', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.PAA_GAANG') }; break; case 30: ret = { url: 'reserverad.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.RESERVERAD') }; break; case 31: ret = { url: 'reserverad_annonsering.svg', text: 'Annonserat', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.RESERVERAD_ANNONSERING') }; break; case 40: ret = { url: 'saald.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.SAALD') }; break; case 41: ret = { url: 'infoer_avtalsskrivning.svg', text: 'Inför avtalsskrivning', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.INFOER_AVTALSSKRIVNING') }; break; case 42: ret = { url: 'saald_vilkorad.svg', text: 'Såld villkorad', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.SAALD_VILKORAD') }; break; case 43: ret = { url: 'saald_referens.svg', text: 'Referensobjekt', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.SAALD_REFERENS') }; break; case 44: ret = { url: 'saald_referens.svg', text: 'Referensobjekt - Inför avtalsskrivning', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.SAALD_REFERENS') }; break; case 45: ret = { url: 'saald_vilkorad.svg', text: 'Såld villkorad referensobjekt', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.SAALD_REFERENS_VILKORAD') }; break; case 50: ret = { url: 'efterbearbetning.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.EFTERBEARBETNING') }; break; case 51: ret = { url: 'efterbearbetning_referens.svg', text: 'Efterbearbetning - Referensobjekt', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.EFTERBEARBETNING_REFERENS') }; break; case 60: ret = { url: 'inget_uppdrag.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.INGET_UPPDRAG') }; break; case 70: ret = { url: 'uppdrag_upphoert.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.UPPDRAG_UPPHOERT') }; break; // TODO: lägg till när projektbild finns case 100: ret = { url: 'projekt.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.PROJEKT') }; break; case 200: ret = { url: 'skrivning.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.SKRIVNING') }; break; case 300: ret = { url: 'vaerdering.svg', text: null, tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.VAERDERING') }; break; default: ret = { url: 'qmark.png', text: 'Ogiltig status', tooltip: this.translate.instant('UPPDRAGSTATUS_SPECIFIKATION_TOOPTIP.ODEFINIERAD') }; break; } if (ret) { ret.url = baseUrl + ret.url; return ret; } else { throw new Error(`No uppdrag status found in lookup. Looked for ${input}`); } } }