Skip to content

Cutom pipe returns flags pipe dynamically with options [Shape , Size , extention]

Notifications You must be signed in to change notification settings

Mahmoudibrahim03/ng-flag-pipe

Repository files navigation

ng-Flag Pipe

[ Component In-progress ]

Flag Pipe : is an Angular library

that provides a pipe to [src] attribute on <img> to dynamically import flag image path.

Getting Started

Dependencies

  • Angular 11.2.0 -> latest version

Installing

  • npm install flag-pipe OR yarn add flag-pipe OR pnpm add flag-pipe
  • Import FlagPipeModule in your AppModule or SharedModule:

import { FlagPipeModule } from "flag-pipe";
  • Import FlagPipeModule in ngModule:

@NgModule({
  imports: [
		flagPipeModule.forRoot({
			config: {
				flagExtensions: "png",
				flagType: "FIXED_HEIGHT",
				flagSize: "h20",
			},
		}),
  ]
})

Usage :

  • Use flag pipe in your template (Required):

  • Use CountryCode as [ ISO 3166-1 alpha-2 ] format

    -> CountryCode type already implemented in flag-pipe library you can use it as CountryCode type. REF : ISO 3166-1 alpha-2 + Country Codes in Json

  • Use flagExtension as [ "png" | "svg" | "webp" ]

    -> flagExtension type already implemented in flag-pipe library you can use it as flagExtension type.

  • Use flagTypies [ 'WAVY' | 'FIXED_HEIGHT' | 'FIXED_WIDTH' ]

    -> flagTypies type already implemented in flag-pipe library you can use it as flagTypies type.

  • Use flagSize [ "w160" | "h240" | "256x192" ]

    -> FlagSize type already implemented in flag-pipe library you can use it as FlagSize type.

    flag Type FIXED_HEIGHT FIXED_WIDTH WAVY
    flag Size Format h20 w20 36x27
    Img Fixed height Fixed Width Wavy image


Full Example :
<img [src]="'qa' | flag : 'svg' : flagType : 'w160'" />

Future Plans

  • [ In-Progress ] Create a component to use it as <flag> tag.
  • Add more features to the component.
  • CI/CD with Github Actions.

Acknowledgments

Inspirations.

Contributions

This project is an easy and simple project to contribute to. Feel free to open issues and pull requests.