-
-
Save chl03ks/c7fbd8b7f632f5891e98854b024f0557 to your computer and use it in GitHub Desktop.
import { Pipe, PipeTransform } from '@angular/core'; | |
/* | |
* Capitalize the first letter of the string | |
* Takes a string as a value. | |
* Usage: | |
* value | capitalizefirst | |
* Example: | |
* // value.name = daniel | |
* {{ value.name | capitalizefirst }} | |
* fromats to: Daniel | |
*/ | |
@Pipe({ | |
name: 'capitalizeFirst' | |
}) | |
export class CapitalizeFirstPipe implements PipeTransform { | |
transform(value: string, args: any[]): string { | |
if (value === null) return 'Not assigned'; | |
return value.charAt(0).toUpperCase() + value.slice(1); | |
} | |
} |
Line 17:
Use
if (!value) return null;
Instead of
if (value === null) return 'Not assigned';
Angular has 'titlecase'.
For ex:
envName | titlecase
When used with interpolation, avoid all spaces like
{{envName|titlecase}}
To all those referring to the titlecase pipe in Angular. It is not the same.
For example:
let str = 'fileFormat';
{{str|titlecase}} = 'Fileformat'
{{str|capitalizefirst}} = 'FileFormat'
Notice that titlecase is making every other letter of a word than the first lowercase, while capitalizefirst is only capitalizing the first letter and leaving the rest of the string intact, which is what I need in my case.
thanks bro
Line 17:
Use
if (!value) return null;
Instead of
if (value === null) return 'Not assigned';
Nope, that would empty the 0 input.
Use
if (value === null || value === undefined) {
return '';
}
@ben-tes - thanks a million!! This is the correct way!!
Simply
{{one.two | titlecase}}
and that's it!@chl03ks - thank you too for your pipe as you actually created it earlier than the other one.
So you do deserve all the credit too.