Skip to content

It is a library that converts alphabet (and cyrillic) character inputs in textarea (input) tags to traditional Mongolian script.

Notifications You must be signed in to change notification settings

sura0111/writtenMongolianKeyboard

Repository files navigation

Written Mongol Keyboard

"written-mongol-keyboard" is a library that converts alphabet character input and cyrillic character input in textarea (input) tags to traditional Mongolian script.

image

It also has builtInConversionView and uses an open source dictionary. This will show you the closest conversion word choices.

Installation

yarn add written-mongol-keyboard

How to Use

  • For textarea and input elements
import WrittenMongolKeyboard from 'written-mongol-keyboard'

const writtenMongolKeyboard = new WrittenMongolKeyboard(target, options)

target

  • target is optional, and if it is not set, it works on all textarea and input elements

options

  • hasBuiltInConversionView option is optional and the default value is true
  • maxConversion option is optional and the default value is 8
target?: HTMLInputElement | HTMLTextAreaElement
options?: { hasBuiltInConversionView?: boolean; maxConversions?: number }
  • For contenteditable elements
import { WrittenMongolForContentEditable } from 'written-mongol-keyboard'

const editor = new WrittenMongolForContentEditable('#writtenMongolEditor')

Switcher

You can enable and disable the conversion by setting the switch property. Also you can toggle switch by typing (cmd|ctrl) + m. Everytime when you set this flag, onSwitch event will be triggered

writtenMongolKeyboard.switch = true

Change Event

writtenMongolKeyboard.onChange((change) => {
  // Do something
})

Type of 'change' parameter

// textarea
{
  selectedWord: string
  selectedWordBeforeConversion: string
  wordBeforeSelectedWord: string
  element: HTMLInputElement | HTMLTextAreaElement | null
  conversions: WrittenMongol.DictionaryList
  conversionId: number
  coordinate: {
    left: number
    top: number
  }
  caret: {
    start: number
    end: number
  }
}

// contenteditable
TODO

Switch event

writtenMongolKeyboard.onSwitch((isOn) => {
  // Do something
})

typeof 'isOn' parameter

isOn: boolean

Change the current word by one of the conversion

This method can be called from onChange event etc if you needed. It will replace the current word by selected conversion word id. You may don't need it, if you use builtInConversionView

writtenMongolKeyboard.selectConversion(id)

Key mapping

Alphabet to Mongolian Traditional

key value
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w ᠎᠊
x
y
z
shift
shifta ᠎᠊ᠠ
shiftc
shiftd ᠊ᠳ
shifte ᠎᠊ᠡ
shifti ᠊ᠢ
shiftn
shifto
shiftt ᠊ᠲ
shiftu
shiftz

Mongolian Cyrillic to Mongolian Traditional

key value
а
б
в
г
д
е ᠶᠡ
ё ᠶᠣ
ж
з
и
й
к
л
м
н
о
ө
п
р
с
т
у
ү
ф
х
ц
ч
ш
щ
ъ
ы
ь
э
ю ᠶᠦ
я ᠶᠠ
shiftа ᠎᠊ᠠ
shiftд ᠊ᠳ
shiftц
shiftз
shiftи ᠊ᠢ
shiftн
shiftо ᠊ᠣ
shiftө ᠊ᠥ
shiftт ᠊ᠲ
shiftу ᠊ᠤ
shiftү ᠊ᠦ
shiftэ ᠎᠊ᠡ

Limitations

  • Only tested on Chrome Browser

About

It is a library that converts alphabet (and cyrillic) character inputs in textarea (input) tags to traditional Mongolian script.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published