Created
August 11, 2016 15:13
-
-
Save chl03ks/c7fbd8b7f632f5891e98854b024f0557 to your computer and use it in GitHub Desktop.
An Angular 2 pipe to capitalize the first letter of a string value.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} | |
} |
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 '';
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Line 17:
Use
if (!value) return null;
Instead of
if (value === null) return 'Not assigned';