KeyPress io KeyDown

This commit is contained in:
2017-04-29 13:28:46 +02:00
parent 60381af65f
commit 1cf9f2598e
6 changed files with 11 additions and 13 deletions

View File

@@ -1,7 +1,7 @@
<component name="libraryTable"> <component name="libraryTable">
<library name="Gradle: nl.astraeus:komp:0.0.1-SNAPSHOT"> <library name="Gradle: nl.astraeus:komp:0.0.1-SNAPSHOT">
<CLASSES> <CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/nl.astraeus/komp/0.0.1-SNAPSHOT/c73c4f94b9037de18242c1c0a3428dcfea0ec3e2/komp-0.0.1-SNAPSHOT.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/nl.astraeus/komp/0.0.1-SNAPSHOT/70b9337fd9e82adb2031645d963fe8414285fe4/komp-0.0.1-SNAPSHOT.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES /> <SOURCES />

View File

@@ -1,10 +1,7 @@
package nl.astraeus.komp.todo package nl.astraeus.komp.todo
import kotlinx.html.* import kotlinx.html.*
import kotlinx.html.js.onClickFunction import kotlinx.html.js.*
import kotlinx.html.js.onDoubleClickFunction
import kotlinx.html.js.onKeyDownFunction
import kotlinx.html.js.section
import nl.astraeus.komp.HtmlComponent import nl.astraeus.komp.HtmlComponent
import nl.astraeus.komp.Komp import nl.astraeus.komp.Komp
import org.w3c.dom.HTMLElement import org.w3c.dom.HTMLElement
@@ -120,13 +117,14 @@ class TodoApp: HtmlComponent() {
id = "todo_input" id = "todo_input"
placeholder = "What needs to be done?" placeholder = "What needs to be done?"
autoFocus = true autoFocus = true
onKeyDownFunction = { e -> onKeyPressFunction = { e ->
if (e is KeyboardEvent && e.keyCode == 13) { if (e is KeyboardEvent && e.keyCode == 13) {
addTodo(e) addTodo(e)
} }
} }
} }
} }
section(classes = "main") { section(classes = "main") {
input(classes = "toggle-all") { input(classes = "toggle-all") {
type = InputType.checkBox type = InputType.checkBox
@@ -145,7 +143,7 @@ class TodoApp: HtmlComponent() {
classes += "editing" classes += "editing"
input(classes = "edit") { input(classes = "edit") {
value = todo.title value = todo.title
onKeyDownFunction = { e -> onKeyPressFunction = { e ->
if (e is KeyboardEvent && e.keyCode == 13) { if (e is KeyboardEvent && e.keyCode == 13) {
editTodo(e, todo) editTodo(e, todo)
} }
@@ -183,6 +181,7 @@ class TodoApp: HtmlComponent() {
} }
} }
} }
footer(classes = "footer") { footer(classes = "footer") {
span(classes = "todo-count") { span(classes = "todo-count") {
strong { + "${getItemsLeft()}" } strong { + "${getItemsLeft()}" }

View File

@@ -9,7 +9,6 @@
<footer class="info"> <footer class="info">
<p>Double-click to edit a todo</p> <p>Double-click to edit a todo</p>
<p>Created by <a href="#">Rien Nentjes</a></p>
<p>Compare other javascript MVC* frameworks with <a href="http://todomvc.com">TodoMVC</a></p> <p>Compare other javascript MVC* frameworks with <a href="http://todomvc.com">TodoMVC</a></p>
</footer> </footer>

View File

@@ -14,7 +14,7 @@ this['komp-todo'] = function (_, Kotlin, $module$komp, $module$kotlinx_html_js)
var HtmlComponent = $module$komp.nl.astraeus.komp.HtmlComponent; var HtmlComponent = $module$komp.nl.astraeus.komp.HtmlComponent;
var h1 = $module$kotlinx_html_js.kotlinx.html.h1_vmej1w$; var h1 = $module$kotlinx_html_js.kotlinx.html.h1_vmej1w$;
var set_id = $module$kotlinx_html_js.kotlinx.html.set_id_ueiko3$; 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 input = $module$kotlinx_html_js.kotlinx.html.input_e1g74z$;
var header = $module$kotlinx_html_js.kotlinx.html.header_8btlf7$; var header = $module$kotlinx_html_js.kotlinx.html.header_8btlf7$;
var InputType = $module$kotlinx_html_js.kotlinx.html.InputType; 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'); set_id($receiver, 'todo_input');
$receiver.placeholder = 'What needs to be done?'; $receiver.placeholder = 'What needs to be done?';
$receiver.autoFocus = true; $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) { 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) { function TodoApp$render$lambda$lambda$lambda$lambda$lambda(closure$todo, this$TodoApp) {
return function ($receiver) { return function ($receiver) {
$receiver.value = closure$todo.title; $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) { function TodoApp$render$lambda$lambda$lambda$lambda$lambda$lambda$lambda(closure$todo, this$TodoApp) {

View File

@@ -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;;;;;;;;;;;;;;;;;;;;;;;"} {"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;;;;;;;;;;;;;;;;;;;;;;;"}

View File

@@ -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=");