From 1cf9f2598eb2bd7d692016e5d9635914b823f1c3 Mon Sep 17 00:00:00 2001 From: rnentjes Date: Sat, 29 Apr 2017 13:28:46 +0200 Subject: [PATCH] KeyPress io KeyDown --- .../Gradle__nl_astraeus_komp_0_0_1_SNAPSHOT.xml | 2 +- src/main/kotlin/nl/astraeus/komp/todo/Todo.kt | 11 +++++------ web/index.html | 1 - web/js/kotlin/komp-todo.js | 6 +++--- web/js/kotlin/komp-todo.js.map | 2 +- web/js/kotlin/komp.meta.js | 2 +- 6 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.idea/libraries/Gradle__nl_astraeus_komp_0_0_1_SNAPSHOT.xml b/.idea/libraries/Gradle__nl_astraeus_komp_0_0_1_SNAPSHOT.xml index 0655aa2..de63549 100644 --- a/.idea/libraries/Gradle__nl_astraeus_komp_0_0_1_SNAPSHOT.xml +++ b/.idea/libraries/Gradle__nl_astraeus_komp_0_0_1_SNAPSHOT.xml @@ -1,7 +1,7 @@ - + diff --git a/src/main/kotlin/nl/astraeus/komp/todo/Todo.kt b/src/main/kotlin/nl/astraeus/komp/todo/Todo.kt index 17e1c2e..d3edceb 100644 --- a/src/main/kotlin/nl/astraeus/komp/todo/Todo.kt +++ b/src/main/kotlin/nl/astraeus/komp/todo/Todo.kt @@ -1,10 +1,7 @@ package nl.astraeus.komp.todo import kotlinx.html.* -import kotlinx.html.js.onClickFunction -import kotlinx.html.js.onDoubleClickFunction -import kotlinx.html.js.onKeyDownFunction -import kotlinx.html.js.section +import kotlinx.html.js.* import nl.astraeus.komp.HtmlComponent import nl.astraeus.komp.Komp import org.w3c.dom.HTMLElement @@ -120,13 +117,14 @@ class TodoApp: HtmlComponent() { id = "todo_input" placeholder = "What needs to be done?" autoFocus = true - onKeyDownFunction = { e -> + onKeyPressFunction = { e -> if (e is KeyboardEvent && e.keyCode == 13) { addTodo(e) } } } } + section(classes = "main") { input(classes = "toggle-all") { type = InputType.checkBox @@ -145,7 +143,7 @@ class TodoApp: HtmlComponent() { classes += "editing" input(classes = "edit") { value = todo.title - onKeyDownFunction = { e -> + onKeyPressFunction = { e -> if (e is KeyboardEvent && e.keyCode == 13) { editTodo(e, todo) } @@ -183,6 +181,7 @@ class TodoApp: HtmlComponent() { } } } + footer(classes = "footer") { span(classes = "todo-count") { strong { + "${getItemsLeft()}" } diff --git a/web/index.html b/web/index.html index f4aa195..507864a 100644 --- a/web/index.html +++ b/web/index.html @@ -9,7 +9,6 @@ diff --git a/web/js/kotlin/komp-todo.js b/web/js/kotlin/komp-todo.js index eca5ad7..5f3bfb1 100644 --- a/web/js/kotlin/komp-todo.js +++ b/web/js/kotlin/komp-todo.js @@ -14,7 +14,7 @@ this['komp-todo'] = function (_, Kotlin, $module$komp, $module$kotlinx_html_js) var HtmlComponent = $module$komp.nl.astraeus.komp.HtmlComponent; var h1 = $module$kotlinx_html_js.kotlinx.html.h1_vmej1w$; var set_id = $module$kotlinx_html_js.kotlinx.html.set_id_ueiko3$; - var set_onKeyDownFunction = $module$kotlinx_html_js.kotlinx.html.js.set_onKeyDownFunction_pszlq2$; + var set_onKeyPressFunction = $module$kotlinx_html_js.kotlinx.html.js.set_onKeyPressFunction_pszlq2$; var input = $module$kotlinx_html_js.kotlinx.html.input_e1g74z$; var header = $module$kotlinx_html_js.kotlinx.html.header_8btlf7$; var InputType = $module$kotlinx_html_js.kotlinx.html.InputType; @@ -190,7 +190,7 @@ this['komp-todo'] = function (_, Kotlin, $module$komp, $module$kotlinx_html_js) set_id($receiver, 'todo_input'); $receiver.placeholder = 'What needs to be done?'; $receiver.autoFocus = true; - set_onKeyDownFunction($receiver, TodoApp$render$lambda$lambda$lambda$lambda(this$TodoApp)); + set_onKeyPressFunction($receiver, TodoApp$render$lambda$lambda$lambda$lambda(this$TodoApp)); }; } function TodoApp$render$lambda$lambda(this$TodoApp) { @@ -216,7 +216,7 @@ this['komp-todo'] = function (_, Kotlin, $module$komp, $module$kotlinx_html_js) function TodoApp$render$lambda$lambda$lambda$lambda$lambda(closure$todo, this$TodoApp) { return function ($receiver) { $receiver.value = closure$todo.title; - set_onKeyDownFunction($receiver, TodoApp$render$lambda$lambda$lambda$lambda$lambda$lambda(closure$todo, this$TodoApp)); + set_onKeyPressFunction($receiver, TodoApp$render$lambda$lambda$lambda$lambda$lambda$lambda(closure$todo, this$TodoApp)); }; } function TodoApp$render$lambda$lambda$lambda$lambda$lambda$lambda$lambda(closure$todo, this$TodoApp) { diff --git a/web/js/kotlin/komp-todo.js.map b/web/js/kotlin/komp-todo.js.map index 2c35138..c97671f 100644 --- a/web/js/kotlin/komp-todo.js.map +++ b/web/js/kotlin/komp-todo.js.map @@ -1 +1 @@ -{"version":3,"file":"komp-todo.js","sources":["file:///home/rnentjes/Development/komp/komp-todo/src/main/kotlin/nl/astraeus/komp/todo/Todo.kt"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoD2B;;gBAAA;;;;;;;;;;;;;;;;;;;;kDAoCN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAtDiB;;;;IAI9B,aAAa;IAEb,kBAAI;WACA,mBAAa,SAAK,CAAG,kCAAoB;MAEzC;;;;IAKJ,aAAa;IAEb,kBAAI;MACA,AAAA,aAAa;MACb,AAAA,eAAe;MAEf;;;;SAMJ,sBAAgB;IAEhB;;;IAIA,gBAAW;IAEX;;;;WAIa,oBAAU;IAAvB;;MACI,IAAI;aACA,sBAAgB;;;IAIxB;;;IAIA,AAAA,iBAAiB,CAAC;IAElB;;;;IAIA,aAAa;gBACA;IAAb;;MACI,IAAI,CAAC;;;;IAIT,OAAO;;;;gBAIM;IAAb;;MACI,AAAA,eAAe,cAAA,MAAQ;;IAG3B;;;;IAMA,eAAe;IAEf,kBAAI;MACA;;;;IAMK;;;;MAMG,IAAI,cAAA,qBAAsB,AAAA,cAyBiC;QAxBvD,6BAAQ;;;;;;MALhB;MACA;MACA,sBA8F4B;MA7F5B;;;;;MALJ;MACA;;;;IAaI;;;IAGA;IACA;;;;MAawB,IAAI,cAAA,qBAAsB,AAAA,cAAa;QACnC,8BAAS,GAAG;;;;;;MAHpB,kBAAQ;MACR;;;;;MAgBQ,iCAAY;;;;;MAHhB;MACA,oBAAU;MACV;;;;;MAQI,gCAAW;;;;;MAHf,4BAAC;MAED;;;;;MAMI,iCAAY;;;;;MADhB;;;;;MAfJ;MAOA;MAOA;;;;;MA9BR,IAAI;QACA;QACA;;;QASA,IAAI;UACA;;;;;QAGJ;;;;;;;0BApBH;MAAb;;QACI,IAAI,AAAA,AAAA,aAAA,6CACC,AAAA,kBAAkB,aAAA,oDAClB,AAAA,CAAC,kBAAkB,aAAA;UACpB;;;;;;;MAZZ;MAGA;MAIA;;;;;MAkDa,4BAAE,AAAG;;;;;MAAd;MACA;;;;;MAUY,qCAAgB;;;;;MAJpB,IAAI,AAAA,mCAAa;QAAY;;MAC7B;MACA,4BAAE;MACF;;;;;MAJJ;;;;;;;MAFJ,cAvGK;;QAwGL;;;;;;MAcI;;;;;MAFJ;MACA;;;;;MAnBJ;MAIA;MAaA;;;;;MAvFJ;MAaA;MAwDA;;;;qBAtEsD;;;;;;;;;yGAoGlB;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"komp-todo.js","sources":["file:///home/rnentjes/Development/komp/komp-todo/src/main/kotlin/nl/astraeus/komp/todo/Todo.kt","file:///home/rnentjes/Development/komp/komp/src/main/kotlin/nl/astraeus/komp/Komp.kt"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiD2B;;gBAAA;;;;;;;;;;;;;;;;;;;;kDAoCN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAtDiB;;;;IAI9B,aAAa;IAEb,kBAAI;WACA,mBAAa,SAAK,CAAG,kCAAoB;MAEzC;;;;IAKJ,aAAa;IAEb,kBAAI;MACA,AAAA,aAAa;MACb,AAAA,eAAe;MAEf;;;;SAMJ,sBAAgB;IAEhB;;;IAIA,gBAAW;IAEX;;;;WAIa,oBAAU;IAAvB;;MACI,IAAI;aACA,sBAAgB;;;IAIxB;;;IAIA,AAAA,iBAAiB,CAAC;IAElB;;;;IAIA,aAAa;gBACA;IAAb;;MACI,IAAI,CAAC;;;;IAIT,OAAO;;;;gBAIM;IAAb;;MACI,AAAA,eAAe,cAAA,MAAQ;;IAG3B;;;;IAMA,eAAe;IAEf,kBAAI;MACA;;;;IAMK;;;;MAMG,IAAI,cAAA,qBAAsB,AAAA,cAyBiC;QAxBvD,6BAAQ;;;;;;MALhB;MACA;MACA,sBA8F4B;MA7F5B;;;;;MALJ;MACA;;;;IAaI;;;IAGA;IACA;;;;MAawB,IAAI,cAAA,qBAAsB,AAAA,cAAa;QACnC,8BAAS,GAAG;;;;;;MAHpB,kBAAQ;MACR;;;;;MAgBQ,iCAAY;;;;;MAHhB;MACA,oBAAU;MACV;;;;;MAQI,gCAAW;;;;;MAHf,4BAAC;MAED;;;;;MAMI,iCAAY;;;;;MADhB;;;;;MAfJ;MAOA;MAOA;;;;;MA9BR,IAAI;QACA;QACA;;;QASA,IAAI;UACA;;;;;QAGJ;;;;;;;0BApBH;MAAb;;QACI,IAAI,AAAA,AAAA,aAAA,6CACC,AAAA,kBAAkB,aAAA,oDAClB,AAAA,CAAC,kBAAkB,aAAA;UACpB;;;;;;;MAZZ;MAGA;MAIA;;;;;MAkDa,4BAAE,AAAG;;;;;MAAd;MACA;;;;;MAUY,qCAAgB;;;;;MAJpB,IAAI,AAAA,mCAAa;QAAY;;MAC7B;MACA,4BAAE;MACF;;;;;MAJJ;;;;;;;MAFJ,cAvGK;;QAwGL;;;;;;MAcI;;;;;MAFJ;MACA;;;;;MAnBJ;MAIA;MAaA;;;;;MAvFJ;MAaA;MAwDA;;;;qBAtEsD;;;;;;;;;yDC7DZ,gDDiKN;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/web/js/kotlin/komp.meta.js b/web/js/kotlin/komp.meta.js index e17f6ff..46a680c 100644 --- a/web/js/kotlin/komp.meta.js +++ b/web/js/kotlin/komp.meta.js @@ -1 +1 @@ -// Kotlin.kotlin_module_metadata(1, "komp", "H4sIAAAAAAAAAI1WS3PjRBCWJVkatR+ZKC+vkiW7oQjLQhZXlqJYCg7JLlQwhKp9QO1VUcaOHFkyIznJXjlw4LinnPgVHPwLuPKToEexZVvJWPZBHk339Nfd0/21FPshKLbiNK7Jf+NfaWhN1u+JYn8EVTDOoyTwQ1C7sQ2gUgV0otCSY1wT1E/V/i3DXyqoYQDEjRPuskEM+nnU60PtKOkFz3EVhSxMMlvaQfgOTBawntjVIt4B7fKpB9pp1IPK0Zvjn74byQyPMzdhYHLW5iw+A/2X0MdtzsJTxoF4URgPergyb0xfgX6GkFB543aej2X6j8IXMsKLoeJFQcC8xEcFgONB4p4E7Njtg9F3uUC1vMzlmh/GjCcH8fc+jxMwD6MoYG4Ixilr+yETnvSiCybSA0Yr/tntMdBD8TT90AsGpwy0Fz/8av9ZmuQOnyWqgkFUqjUU3NdxrdNyujZRalCCT5NauE8o4L6Q11I5RUmFLuNOldqpRKUrDWFZp2v4tkTXR/rOaPc+vtn0g3S3Sh82FOe+s0YfOGoTHqvN1X2DNnCtDYlyTdShpe4ckt2Gtq82y4dKy6AVFFr4XxUHWuu0Lt73q3TJIbZu47pZO9p9VaGGozdKTevtH3W0tPN3ifyjNuqpFZWorQepHUCwjfT8CHSfoPv3cLWMljdHGsa0Rqt+g5y909E7GSO2tunWtMaR+Z5UyYpNyLatE/JoC01sTZt+tUZXnfqN8+lTa9K3v+tDgtWsg4J98TmsZ8VaZVd9xn1ROm4ga4E9WM0OgBuGUeKK8pKp70Jt0gxY9DK9j6Ge6ekJixOZ4pewMdVHFXS4HfGeG3rMpvnCE+fEPY8BZhpXBvAElqYb9eqMzzd8ADuThHgRjwYJtkucy+ZcEx8CTCBlfjVhecqvctsPWFwccnrCPD/jURhJQ84l/0qa/C2wMv6xdaEjpMrQUjIS7f42YPwdqANfnuC1DK0i+MflfowEJdP/Cu7lSY/4YRdpLSq4mmfg5E9aYx4tyN03M2WW0rXBLgSp2uu3+E0X/CZOa0NLE6c3QBfFdjtFj/ESx7GbJzy6RMqVxf0MOy3ngjbgwSL4nwDNYAzuhh0mze4+rEyhmJcRPy9MziaQ8UXfDlFc18RgDQnCb/teShIFZu8KOL7oLBLwF1M1JSaoGHrpIJ8LmKvEbFTKcvUp2Jk+lmDCeCgnSpHYXPEt4NBSLgPz9RtQTvUlvTj+oPGjhdh8Ql4y9dfwpJjrADA1HL8mfG+hZnmKPuQSVRx5WoI3h24Hj10P5Zfi++m2LE+jLPHO5kPNjLDuhXSEicmUi8PAWcPcglDuKnsvXih1M9fX5xFeQuLLr+9r2Mx7CG6Cd3UySIqGyQvYvrPDphphAYcfYYHPeiDz9TNsnzGeFTMkGxzx0shE/8+MOihfspNOwdydYeNRTPMQcrnT/V6/AEG0YepXuTsQ5Sgx/i008iVg4liM/XAR9nNGMThLI//2hHt73fh/59xTEPsMAAA="); +// Kotlin.kotlin_module_metadata(1, "komp", "H4sIAAAAAAAAAI1WS3PjRBCWJVkatR+ZKC+vkiW7oQjLQhZXlqJYCg7ZDVQwhKp9QO1VUSa2HHlkRnKSvXLgwHFPOfErOPgXcOcXQY9iy7YSWdZBNZru6a+7p/trKfZDUGzFaVyT/8ZPaWhN1u+JYn8EVTDOwzjwOajdyAZQqQI6UWjJMa4J6idq/5bhLxVUHgBxo1i4bBCBfh72+lA7invBC1yFnPE4taUd8HdgsoD15K4WijZol0890E7DHlSO3hz/9N1IZniCuTEDU7AzwaIO6L9wH7cF46dMAPFCHg16uDJvTF+B3kFIqLxx2y/GMv1H6QsZ4UVQ8cIgYF7sowLA8SB2TwJ27PbB6LtColpe6nLN5xET8UH0vS+iGMznYRgwl4Nxys58zqQnvfCCyfSA0Yp+dnsMdC7fps+9YHDKQDv84Vf7z9Ikd/guURUMolKtoeC+jmudlpO1iVKDEnyb1MJ9QgH3pbyWyClKKnQZd6rUTiQqXWlIyzpdw68luj7Sd0a79/HLph8ku1X6sKE49501+sBRm/BYba7uG7SBa21IlGuiDi1155DsNrR9tVl+rrQMWkGh1SK0Kg8crbfWaV3u7FfpkkNs3cZ1s3a0+6pCDUdvlJrW2z/qaGvn7xL5R23UEzsqUVsPEkuAcBvJ+RHsPsEA7uFqGS1vjjSMaY1W/QY7/aajbzJGbG3TrWmNI/M9qZIVm5BtWyfk0Raa2Jo2/WqNrjr1G+eTt9akb3/XhwTrWQcFO+NzWE/Ltcqu+kz4snjcIK8J9mA1PQAu52HsygLLU9+F2qQdsOzz9D6GeqqnxyyK8xS/hI2pTqqgw2eh6LncYzbNlp48J296DDDTunkAT2BpulWvOmK+4QPYmSTEC0U4iLFhokw255r4EGACmedXE5an/Cqf+QGLikNOTpjnHRHyMDfkTPKvcpO/BVbKQLYudaRUGVpKSqPd3wZMvAN14OcneC1Fq0gGcoUfIUXl6X8F97K0R3zeRWILC67mGTjZk9aYSQty981MmSWEbbALSav2+i2G0yXDydPa0NLk6Q3QZbHdTtFjvMRx7OaJCC+RdPPifoadlnFBG4hgEfxPgKYwhnB5m+Vmdx9WplDMy1CcFyZnE8j4om+HKK9rYrCGBOGf+V5CEgVm7wo4umgvEvAXUzUlZ6gce8konwuYqcR0WObl6lOwU30swZgJnk+UMrGZ4lvAoaVMBubrN6Cc6Of04viXxg8XYvMJeeWpv4YnxVwHgKkR+D/hews1y1P0IZOo4siTErw5dDt47Hoov5R/ULdlWRplsdeZDzUzwroXuSNMTqZMHAbOGuYWhHJX2XvRQqmbub6+CPESYj//+r6GzayH4MZ4VyeDuGiYHML2nR021QgLOPwIC3zWgzxfP8P2GeNZEUOywRGfG5ns/5lRB+VLdtIumLszbDyKaR5CJne63+sXIMg2TPwqdweyHHOMfwuNbAmYOBYjny/Cfs4oBmdp5N+edG+vG/0PIllWXv0MAAA=");