From 5a8c6c6c4e753ef40379a9ed7b217a6408f6a2b2 Mon Sep 17 00:00:00 2001
From: Philippe PITTOLI
Date: Sat, 7 Dec 2019 02:55:02 +0100
Subject: [PATCH] callback function in the modal prototype
---
client/modal.ls | 6 +-
client/project-creation-modal.ls | 100 +++++++++++++++++++------------
2 files changed, 67 insertions(+), 39 deletions(-)
diff --git a/client/modal.ls b/client/modal.ls
index bed07f2..a5d6f9a 100644
--- a/client/modal.ls
+++ b/client/modal.ls
@@ -5,11 +5,12 @@ h = require 'maquette' .h
# formulaire création de tâches
# confirmation de suppression de listes, de tâches, de colonnes
-Modal = (args) ->
+Modal = (args, caller) ->
self = {
modal-args: args.modal-args || {}
visible: args.visible || false
content: args.content || []
+ content-render: args.content-render || ->
background-args: args.background-args || []
on-validation: args.on-validation || ->
on-cancellation: args.on-cancellation || ->
@@ -26,8 +27,11 @@ Modal = (args) ->
h \div.modal-content {} [
h \div.box [
+
self.content
+ self.content-render caller
+
h \hr []
h \div.columns {} [
diff --git a/client/project-creation-modal.ls b/client/project-creation-modal.ls
index a60da42..175d002 100644
--- a/client/project-creation-modal.ls
+++ b/client/project-creation-modal.ls
@@ -1,12 +1,13 @@
-h = require 'maquette' .h
+h = require 'maquette' .h
Modal = require './modal.ls'
-UUID = require "uuid/v4"
+UUID = require "uuid/v4"
+bulma = require "./bulma.ls"
ProjectCreationModal = (project, todod-ws) ->
-
self = {
title: project.title || ""
+ new-user: "Coucou 2 le retour"
extra_properties:
columns: project.extra_properties.columns || []
}
@@ -15,53 +16,76 @@ ProjectCreationModal = (project, todod-ws) ->
+visible
new-column-input: "New column !"
- content: h \div.form [
- h \input.input {
- value: self.title
- oninput: (e) ->
- self.title := e.target.value
- }
+ content-render: (self) ->
+ h \div.form [
+ h \input.input {
+ value: self.title
+ oninput: (e) ->
+ self.title := e.target.value
+ }
- h \aside.menu [
- h \p.menu-label [ "Choose the columns" ]
+ bulma.field [
+ console.log "THEAFOEIOEAI JOAEJFOI JOJFOAEJ USER NAME: " + self.new-user
+ bulma.label "Valeur actuelle : " + self.new-user
+ bulma.label "Adding a user"
+ bulma.input {
+ value: self.new-user
+ oninput: (e) ->
+ self.new-user := e.target.value
+ console.log "NEW USER NAME: " + self.new-user
- h \ul.menu-list self.extra_properties.columns.map (column) ->
-
- h \li [
- h \input.input {
- key: column.id
- value: column.title
- oninput: (e) ->
- self.extra_properties.columns.find((.id == column.id)).title := e.target.value
- } [ ]
-
- h \div.button {
- onclick: ->
- # TODO: create a new entry in self.extra_properties.columns
- self.extra_properties.columns = self.extra_properties.select((.id != column.id))
- } [ "X" ]
- ]
+ name: \new-user
+ id: \user-add
+ }
+ ]
h \input.input {
- value: self.new-column-input
+ value: self.title
oninput: (e) ->
- self.new-column-input := e.target.value
- } [ ]
+ self.title := e.target.value
+ }
- h \div.button {
- onclick: ->
- # TODO: create a new entry in self.extra_properties.columns
- self.extra_properties.columns ++= [ self.new-column-input ]
- self.new-column-input := "New column !"
- } [ "+" ]
+ h \aside.menu [
+ h \p.menu-label [ "Choose the columns" ]
+
+ h \ul.menu-list self.extra_properties.columns.map (column) ->
+
+ h \li [
+ h \input.input {
+ key: column.id
+ value: column.title
+ oninput: (e) ->
+ self.extra_properties.columns.find((.id == column.id)).title := e.target.value
+ } [ ]
+
+ h \div.button {
+ onclick: ->
+ # TODO: create a new entry in self.extra_properties.columns
+ self.extra_properties.columns = self.extra_properties.select((.id != column.id))
+ } [ "X" ]
+ ]
+
+ h \input.input {
+ value: self.new-column-input
+ oninput: (e) ->
+ self.new-column-input := e.target.value
+ } [ ]
+
+ h \div.button {
+ onclick: ->
+ # TODO: create a new entry in self.extra_properties.columns
+ self.extra_properties.columns ++= [ self.new-column-input ]
+ self.new-column-input := "New column !"
+ } [ "+" ]
+ ]
]
- ]
+
on-validation: ->
if project.id
todod-ws.edit-list project.id, self
else
todod-ws.add-list self.title, self
- }
+ }, self
self.render = ->
modal.render!