sleeb

an experimental input method
git clone https://tongong.net/git/sleeb.git
Log | Files | Refs | README

page-input.js (886B)


      1 const m = require("mithril");
      2 const input = require("../modules/input.js");
      3 const keyBoxes = require("./key-boxes.js");
      4 
      5 module.exports = () => {
      6     let written = "";
      7     let blind = false;
      8     let oninput = (c) => {
      9         // clear input on "-" -> new bullet point / new thought
     10         if (c == "-") written = "";
     11         else if (c == input.deletechar)
     12             written = written.substring(0, written.length - 1)
     13         else written += c;
     14     };
     15     let blindhandler = (e) => {
     16         if (e.key == input.blindkey) blind = !blind;
     17         m.redraw();
     18     };
     19     return {
     20         view: () => m("div",
     21             m("div.inputTop", "> " + written),
     22             m("div.inputBottom", m(keyBoxes, {
     23                 inputCallback: oninput,
     24                 keyCallback: blindhandler
     25             })),
     26             m(".blindOverlay", {class: blind? "" : "invisible"})
     27         )
     28     }
     29 };