use latest imba version
While at it upgrade all dependencies and move some styles into their respective files.
This commit is contained in:
parent
c9f2bb8d0f
commit
a79ab9c6fb
14
package.json
14
package.json
|
@ -21,18 +21,18 @@
|
||||||
"homepage": "http://imba.io",
|
"homepage": "http://imba.io",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/somebee/hello-world-imba.git"
|
"url": "git://github.com/imba/hello-world-imba.git"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"css-loader": "^3.2.0",
|
"css-loader": "^3.6.0",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"imba": "^1.5.2",
|
"imba": "^2.0.0-alpha.95",
|
||||||
"style-loader": "^1.0.0",
|
"style-loader": "^1.2.1",
|
||||||
"webpack": "^4.39.3",
|
"webpack": "^4.44.1",
|
||||||
"webpack-dev-server": "^3.8.0"
|
"webpack-dev-server": "^3.11.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"webpack-cli": "^3.3.7"
|
"webpack-cli": "^3.3.12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,16 +11,37 @@ var store = {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
css header, footer
|
||||||
|
flex: 0 0 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
padding: 10px 6px;
|
||||||
|
background: #e8e8e8;
|
||||||
|
|
||||||
|
css .vbox d: flex fld: column jc: center ai: stretch
|
||||||
|
|
||||||
tag App
|
tag App
|
||||||
|
|
||||||
|
css button -webkit-appearance: none
|
||||||
|
bg: #4a95eb bg@hover: #3a8eef fs: 13px d: flex
|
||||||
|
ai: center jc: center bd: 0px
|
||||||
|
p: 2px 10px rd: 2px c: white
|
||||||
|
m: 0px 4px fl: 0 0 auto h: 24px
|
||||||
|
css input d: block p: 0px 12px bg: transparent
|
||||||
|
bd: none fs: inherit w: 50px h: 24px
|
||||||
|
fl: 1 1 auto
|
||||||
|
|
||||||
def addItem
|
def addItem
|
||||||
data:items.push(title: data:title)
|
data.items.push(title: $title.value)
|
||||||
data:title = ""
|
$title.value = ""
|
||||||
|
|
||||||
def render
|
def render
|
||||||
<self.{vbox}>
|
<self.{vbox}>
|
||||||
<header>
|
<header>
|
||||||
<input[data:title] placeholder="New..." :keyup.enter.addItem>
|
<input$title placeholder="New..." @keyup.enter.addItem()>
|
||||||
<button :tap.addItem> 'Add item'
|
<button @click.addItem()> 'Add item'
|
||||||
<List list=data:items>
|
<List list=data.items>
|
||||||
|
|
||||||
Imba.mount <App[store]>
|
imba.mount <App data=store>
|
||||||
|
|
|
@ -1,11 +1,20 @@
|
||||||
export tag List
|
export tag List
|
||||||
|
|
||||||
|
css .completed td: line-through
|
||||||
|
css ul m: 0 p: 0
|
||||||
|
list-style: none inside none
|
||||||
|
fl: 1 1 auto
|
||||||
|
css li p: 8px 12px d: flex fld: row
|
||||||
|
jc: flex-start ai: center
|
||||||
|
bdb: 1px solid whitesmoke
|
||||||
|
|
||||||
prop list
|
prop list
|
||||||
|
|
||||||
def completeItem item
|
def completeItem item
|
||||||
console.log "clicked,{item:completed}"
|
console.log "clicked,{item.completed}"
|
||||||
item:completed = !item:completed
|
item.completed = !item.completed
|
||||||
|
|
||||||
def render
|
def render
|
||||||
<self>
|
<self>
|
||||||
<ul> for item in list
|
<ul> for item in list
|
||||||
<li .completed=(item:completed) :tap.completeItem(item)> item:title
|
<li .completed=(item.completed) @click.completeItem(item)> item.title
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
var express = require 'express'
|
import express from 'express'
|
||||||
var server = express()
|
const server = express()
|
||||||
|
|
||||||
server.use(express.static('./dist'))
|
server.use(express.static('./dist'))
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ server.get '/' do |req,res|
|
||||||
|
|
||||||
return res.send html.toString
|
return res.send html.toString
|
||||||
|
|
||||||
var port = process:env.PORT or 8080
|
var port = process.env.PORT or 8080
|
||||||
|
|
||||||
var server = server.listen(port) do
|
server.listen(port) do
|
||||||
console.log 'server is running on port ' + port
|
console.log 'server is running on port ' + port
|
||||||
|
|
|
@ -21,78 +21,6 @@ body {
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vbox {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: stretch;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
body,div,form,header,footer,section,input,button,nav,aside,article {
|
body,div,form,header,footer,section,input,button,nav,aside,article {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
div,section,input,ul,main,article,.grow {
|
|
||||||
flex: 1 1 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
display: block;
|
|
||||||
padding: 0px 12px;
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
font-size: inherit;
|
|
||||||
width: 50px;
|
|
||||||
height: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
background: #4a95eb;
|
|
||||||
font-size: 13px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
border: 0px;
|
|
||||||
padding: 2px 10px;
|
|
||||||
border-radius: 2px;
|
|
||||||
color: white;
|
|
||||||
margin: 0px 4px;
|
|
||||||
flex: 0 0 auto;
|
|
||||||
height: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:hover {
|
|
||||||
background: #3a8eef;
|
|
||||||
}
|
|
||||||
|
|
||||||
header,footer {
|
|
||||||
flex: 0 0 auto;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: center;
|
|
||||||
padding: 10px 6px;
|
|
||||||
background: #e8e8e8;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
list-style: none inside none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.completed {
|
|
||||||
text-decoration: line-through;
|
|
||||||
}
|
|
||||||
|
|
||||||
li {
|
|
||||||
padding: 8px 12px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: center;
|
|
||||||
border-bottom: 1px solid whitesmoke;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue