Feliz: рдХреБрдВрдЬреА рдкреНрд░реЗрд╕ рдИрд╡реЗрдВрдЯ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП KeyboardEvent рдЕрдЪреНрдЫрд╛рдИ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдирд╡ре░ 2019  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Zaid-Ajaj/Feliz

рдореИрдВ рдХреБрдВрдЬреАрдкрдЯрд▓ рдШрдЯрдирд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдирд┐рдореНрди рдХреА рддрд░рд╣ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдирджрд╛рд░ рд╣реЛрдЧрд╛:

рдкрд░рд┐рджреГрд╢реНрдп 1: рдПрдХ рд╣реА рдкреНрд░рдореБрдЦ рдШрдЯрдирд╛ (рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛) рд╕реЗ рдЬреБрдбрд╝рдирд╛

Html.input [
    prop.onKeyUp(key.enter, fun _ -> dispatch Login)
    prop.onChange (UsernameChanged >> dispatch)
    prop.valueOrDefault state.Username
]

рдкрд░рд┐рджреГрд╢реНрдп 2.1: рдПрдХрд╛рдзрд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рдмрд╛рдЗрдВрдб

Html.input [
    prop.onKeyUp [ key.enter, fun _ -> dispatch Login ]
    prop.onChange (UsernameChanged >> dispatch)
    prop.valueOrDefault state.Username
]

рдкрд░рд┐рджреГрд╢реНрдп 2.2: рдПрдХрд╛рдзрд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рдмрд╛рдЗрдВрдб

Html.input [
    prop.onKeyUp(dispatch, [ key.enter, Login; key.esc, Reset ])
    prop.onChange (UsernameChanged >> dispatch)
    prop.valueOrDefault state.Username
]

рдпрд╣ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ! рдкреАрдЖрд░ рдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдореБрдЭреЗ рдФрд░ рдЕрдиреНрдп рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

Feliz good first issue help wanted

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдУрд╣, рдЕрдЪреНрдЫрд╛, рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЖрдк рдХреИрд╕рд╛ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ!

IMHO Key Keys , рдпрд╛рдиреА Key.Enter рдмрдирд╛рдо Keys.Enter рд╕реЗ рдмреЗрд╣рддрд░ рдкрдврд╝рддрд╛ рд╣реИред

@cmeeren рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдЗрд╕реЗ рд╕реБрд╕рдВрдЧрдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд▓рдХреНрд╖рдг рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ prop , style рдФрд░ key (рд▓реЛрдЕрд░-рдХреЗрд╕) рдПрдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛ рдореИрдВ

рд╣рд╛рдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ colors рдФрд░ рдЕрдм fonts ... рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИред :)

@cmeeren рдиреЗ #95 . рдкрд░ colors рдФрд░ fonts рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛

рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рд╢реЛрдзрди

рдкрд░рд┐рджреГрд╢реНрдп 2.2 рдмрд╛рдХреА рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ onClick(dispatch, Login) рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рдлреАрдбрдмреИрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ)

рдкрд░рд┐рджреГрд╢реНрдп 1 рдФрд░ рдкрд░рд┐рджреГрд╢реНрдп 2 рдХреЗ рд▓рд┐рдП, рд╡рд╣рд╛рдВ рдХреЗ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ KeyboardEvent рдХреЛ рд▓реИрдореНрдмреНрдбрд╛ (рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде) рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА рдХреАрдмреЛрд░реНрдб рдИрд╡реЗрдВрдЯ рдУрд╡рд░рд▓реЛрдб рд▓реЗ рд▓реЗрдВрдЧреЗ:

KeyboardEvent -> unit // default
IKeyboardKey * (KeyboardEvent -> unit) // scenario 1
(IKeyboardKey * (KeyboardEvent -> unit)) list // scenario 2

рдореБрдЭреЗ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рд╕рдмреВрдд рд╣рд▓рд╡рд╛ рдореЗрдВ рд╣реИ, рдпрджреНрдпрдкрд┐ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред :)

рдХреАрдмреЛрд░реНрдб рдЕрдЪреНрдЫрд╛рдИ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:

// Enter only
prop.onKeyUp (key.enter, fun _ -> dispatch Login)
// Enter + CTRL
prop.onKeyUp (key.ctrl(key.enter), fun _ -> dispatch Login)
// Enter + SHIFT
prop.onKeyUp (key.shift(key.enter), fun _ -> dispatch Login)
// Enter + CTRL + SHIFT
prop.onKeyUp (key.ctrlAndShift(key.enter), fun _ -> dispatch Login)
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Dzoukr picture Dzoukr  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mastoj picture mastoj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nojaf picture nojaf  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Dzoukr picture Dzoukr  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

l3m picture l3m  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ