forked from sunyymq/JSBox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChars Keyboard.js
121 lines (106 loc) · 6.1 KB
/
Chars Keyboard.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
var point = "。,、:∶;‘’“”〝〞ˆˇ﹕︰﹔﹖﹑·¨.¸;´?!~—|‖"〃`@﹫¡¿﹏﹋︴々﹟#﹩$﹠&﹪%﹡﹢×﹦‐ ̄¯―﹨˜﹍﹎_-~()〈〉‹›﹛﹜『』〖〗[]《》〔〕{}「」【】︵︷︿︹︽_︶︸﹀︺︾ˉ﹂﹄︼﹁﹃︻▲●□…→"
var math = "≥≮≠^∽≌≯≈<>≥≤=≈‖∠≡+-×÷+-±/=≤㏑∨⊙㏒‖∑∈∠⌒∶%∪∴∵∝∞∏∫∮∟⊿∷⊥∧∩√℃℉㎎㎏㎜㎝㎞㎡㏄㏎㏕℅‰‱∫∬∭∮∯∰∱∲∳½⅓⅔¼¾⅛⅜⅝⅞₁₂₃₄º¹²³⁴ⁿ"
var star = "♥❤❥❣❦❧♡۵ღ♠♣♥♤♡ஐ⋆☆★✫✬✭✮✯✩✰⁂⁑✢✣✤✥❋✦✧✪❂✡✱✲✳✴✵✶✷✸✹✺✻✼❄❅❆❇❈❉❊♔♚♕♛♖♜♗♝♘♞♙♟☤♧♨♪♫♩♬♭♮♯°ø¶‖§∮"
var other = "®©℗℠℡™℻⚀⚁⚂⚃⚄⚅⚲⚢⚣⚤⚦⚧⚨⚩♂♀☿㊚㊛☺☻☹〠㋡㋛シッツヅ〲〴ϡتﭢ☚☛☜☝☞☟✌✍☑✓✔√☓☒✘ㄨ✕✖ރ✗✢✣☩╳メ"
var No = "①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿⓪ⓞ⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇➊➋➌➍➎➏➐➑➒➓⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴º¹²³⁴⁵⁶⁷⁸⁹₀₁₂₃₄₅₆₇₈₉⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩"
var letter = "ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵ɑɓɕɗȡᶒʄɠɦɧɨɉᶄȴɱȵɵᶈᶐᵲʂȶƫųʋωȿỿʑʐḀḁḂḃḄḅḆḇḈḉḊḋḌḍḎḏḐḑḒḓḔḕḖḗḘḙḚḛḜḝḞḟḠḡḢḣḤḥḦḧḨḩḪḫḬḭḮḯḰḱḲḳḴḵḶḷḸḹḺḻḼḽḾḿṀṁṂṃṄṅṆṇṈṉṊṋṌṍṎṏṐṑṒṓṔṕṖṗṘṙṚṛṜṝṞṟṠṡṢṣṤṥṦṧṨṩṪṫṬṭṮṯṰṱṲṳṴṵṶṷṸṹṺṻṼṽṾṿẀẁẂẃẄẅẆẇẈẉẊẋẌẍẎẏẐẑẒẓẔẕ"
var lang = "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζνξοπρσηθικλμτυφχψωАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя"
var geometry = "❏❐❑❒▏▐░▒▓▔▕■□▢▣▤▥▦▧▨▩▪▫▬▭▮▯ˍ∎⊞⊟⊠⊡⋄▱◆◇◈◧◨◩◪◫◰◱◲◳◻◼◽◾⧈⧫⎔◙◘▀▁▂▃▄▅▆▇▉▊▋█▌▍▎▛▜▝▞▟▖▗▘▙▚▰⊙●○◎◕¤☪❂✪☻☼Θ⊖⊘⊕⊚⊛⊜⊝◉◌◍◐◑◒◓◔⊗◖◗◯◴◵◶◷⚫❍⦁⦶⦸◤◥◄►▶◀◣◢▲▼▸◂▴▾△▽▷◁⊿▻◅▵▿▹◃∆◬◭◮◸◹◺◿∇☢"
var arrow = "➟➡➢➣➤➥➦➧➨➚➘➙➛➜➝➞➸♐➲➳⏎➴➵➶➷➸➹➺➻➼➽←↑→↓↔↕↖↗↘↙↚↛↜↝↞↟↠↡↢↣↤↥↦↧↨➫➬➩➪➭➮➯➱↩↪↫↬↭↮↯↰↱↲↳↴↵↶↷↸↹↺↻↼↽↾↿⇀⇁⇂⇃⇄⇅⇆⇇⇈⇉⇊⇋⇌⇍⇎⇏⇐⇑⇒⇓⇔⇕⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟⇠⇡⇢⇣⇤⇥⇦⇧⇨⇩⇪"
var draw = "┌┬┐┏┳┓╒╤╕╭─╮├┼┤┣╋┫╞╪╡│╳│└┴┘┗┻┛╘╧╛╰─╯┏┳┓┏━┓┎┰┒┍┯┑┣╋┫┃┃┠╂┨┝┿┥┗┻┛┗━┛┖┸┚┕┷┙┏┱┐┌┲┓┌┬┐┏┳┓┡╃┤├╄┩┟╁┧┞┴┦└┴┘└┴┘┗╁┛└┴┘─━┄┅┈┈╲│┃┆┇┊┋╱ϟ≡—╾╭╮╯╰◜◝◞◟◠◡╴╵╶╷╸╹╺╻╼╽╿▏▕╌╍╎╏═`ˊᐟ‐‒―⁃≣⋐⋑⋒⋓⌒⌜⌝⌞⌟⎯─━│┃┄┅┆┇┈┉┊┋☰☱☲☳☴☵☶☷~≈∽≋~﹏﹋﹌˜ˆ︴"
var item1 = $cache.get("histories")
if (item1) {
var item1Data = item1.history
} else {
var item1Data = []
}
var items = ["◷", "。", "½", "❥", "™", "①", "ⓐ", "Α", "❏", "➟", "┌"]
var symbols = [item1Data, point, math, star, other, No, letter, lang, geometry, arrow, draw]
$ui.render({
props: {
title: "Chars Keyboard"
},
views: [{
type: "matrix",
props: {
columns: 9,
spacing: 0,
square: true,
bgcolor: $color("white"),
data: item1Data,
template: {
props: {},
views: [{
type: "label",
props: {
id: "label",
textColor: $color("gray"),
bgcolor: $color("white"),
radius: 0,
align: $align.center,
font: $font(25)
},
layout: $layout.fill
}]
}
},
layout: function(make, view) {
make.edges.insets($insets(0, 0, 35, 0))
},
events: {
didSelect: function(sender, indexPath, data) {
$keyboard.insert(data.label.text)
historyCache(data.label.text)
}
}
}, {
type: "menu",
props: {
items: items
},
layout: function(make, view) {
make.bottom.inset(0)
make.width.equalTo(view.super)
make.height.equalTo(35)
},
events: {
changed: function(sender) {
dataPick(sender.index)
}
}
}]
})
function dataPick(index) {
if (index == 0) {
$("matrix").data = item1Data
} else {
var data = symbols[index]
$("matrix").data = dataPush(data)
}
}
function dataPush(data) {
var dataX = []
for (var i in data) {
dataX.push({
label: {
text: data[i]
}
})
}
return dataX
}
function historyCache(symbol) {
var item1 = ""
for (var i in item1Data) {
if (i == 35) break
item1 = item1 + item1Data[i].label.text
}
var duplicate = item1.replace(symbol, "")
item1 = symbol + duplicate
var history = dataPush(item1)
$cache.set("histories", {
history: history
})
item1 = $cache.get("histories")
item1Data = item1.history
}