1.3.0 • Published 6 months ago

ng-thaana v1.3.0

Weekly downloads
-
License
-
Repository
-
Last release
6 months ago

ngThaana

N|Solid

Build Status

ngThaana is a port of v-thaana for angular

Features!

  • Converts text to thaana (unicode)

Installation

ngThaana requires nothing in particular as a dependancy.

Install the dependencies and devDependencies and start the server.

$ yarn add ng-thaana

# or if you prefer npm
$ npm i ng-thaana

Usage

// import the module
import { NgThaanaModule } from 'ng-thaana';

// Register the module in the app.modules.ts or the main module.ts file

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
    FormsModule,
    // as such
    NgThaanaModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

ng-thaana supports pasting latin characters which on the fly will transliterate the provide string into the preferred flavor. Here flavors are phonetic (default), typewriter and faseyha

For example when divehi is pasted it will be ދިވެހި in phonetic flavor however the same will be ިިހެވިދ in faseyha flavor. In each flavor the keyboard layout is slightly different.

In the template

<div>

  <input [(ngModel)]='name' ng-thaana placeholder="Your name please..." />
  
  <!-- With explicit flavor -->
  <input [(ngModel)]='name' flavor='faseyha' ng-thaana placeholder="Your name please..." />

  
  <!-- With post callback -->
  <input [(ngModel)]='name' (ng-thaana)='postCallback($event)' placeholder="Your name please..." />

</div>

Toggling

ng-thaana now supports toggling its effective state. Meaning you can turn off ng-thaana and vise-versa. This can be done by pressing shift key twice under a second.

This has several interesting use cases such as when a charactor from English/Any language is required maybe in the middle of a word or sentence. For instance ID card number requires an A prefixed. There are plenty of such if you think about it.

You will want to indicate the toggling of ng-thaana which can be handled like so.

In the template/view

<input [(ngModel)]='name' (thaana-toggled)="toggled($event)" ng-thaana placeholder="Search..." />

And on the js side

toggled(e: boolean) {
  // Maybe show something like a toast or indicate it on the input itself
  console.log('You toggled ng-thaana: ', e); 
}

Todos

  • Write Tests
  • Better doc

License

MIT

Free Software, Hell Yeah!

1.3.0

6 months ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

3 years ago

0.0.1

3 years ago