-
-
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.