webcomp-ts
Version:
Base class for web components has basic boilerplate code to simplify custom element implementation
48 lines • 1.16 kB
JavaScript
import { WebComp } from "../web-comp.js";
export class TodoNewTask extends WebComp {
constructor() {
super();
const newTask = this.dom("new-task");
if (newTask) {
newTask.addEventListener("submit", (e) => {
e.preventDefault();
const taskInput = this.dom("task-input");
const task = taskInput.value || "none";
taskInput.value = "";
this.dispatch("new-task", task);
});
}
}
get html() {
return `
<todo-row>
<form elem="new-task">
<label for="task">New Task:</label>
<input name="task" type="text" elem="task-input"></input>
<button type="submit">➕</input>
</form>
</todo-row>
`;
}
get css() {
return `
form {
display: flex;
align-items: center;
}
form * {
margin: 0 3px;
}
input[type="text"] {
flex: 1;
color: navy;
padding: .3rem;
background-color: palegoldenrod;
border: 2px solid white;
box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.4);
border-radius: 7px;
}
`;
}
}
//# sourceMappingURL=todo-new-task.js.map