2019-12-06 21:07:39 +01:00
|
|
|
|
2019-12-07 02:55:02 +01:00
|
|
|
h = require 'maquette' .h
|
2019-12-06 21:07:39 +01:00
|
|
|
Modal = require './modal.ls'
|
2019-12-07 02:55:02 +01:00
|
|
|
UUID = require "uuid/v4"
|
|
|
|
bulma = require "./bulma.ls"
|
2019-12-06 21:07:39 +01:00
|
|
|
|
|
|
|
ProjectCreationModal = (project, todod-ws) ->
|
2019-12-07 05:11:47 +01:00
|
|
|
|
|
|
|
# work on a copy of the columns
|
|
|
|
# in case of cancelled modifications, only the copies are changed
|
|
|
|
columns-copy = []
|
|
|
|
for col in project.extra_properties.columns
|
|
|
|
new-col = {}
|
|
|
|
for k,v of col
|
|
|
|
console.log "element : ", k, "value: ", v
|
|
|
|
new-col[k] = v
|
|
|
|
columns-copy ++= [ new-col ]
|
|
|
|
|
2019-12-06 21:07:39 +01:00
|
|
|
self = {
|
|
|
|
title: project.title || ""
|
2019-12-07 05:11:47 +01:00
|
|
|
# TODO XXX FIXME
|
2019-12-07 02:55:02 +01:00
|
|
|
new-user: "Coucou 2 le retour"
|
2019-12-07 05:11:47 +01:00
|
|
|
new-column-input: {
|
|
|
|
title: "New column !"
|
|
|
|
}
|
|
|
|
|
2019-12-06 21:07:39 +01:00
|
|
|
extra_properties:
|
2019-12-07 05:11:47 +01:00
|
|
|
columns: columns-copy
|
2019-12-06 21:07:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
modal = Modal {
|
|
|
|
+visible
|
2019-12-07 02:55:02 +01:00
|
|
|
content-render: (self) ->
|
|
|
|
h \div.form [
|
|
|
|
h \input.input {
|
|
|
|
value: self.title
|
|
|
|
oninput: (e) ->
|
|
|
|
self.title := e.target.value
|
|
|
|
}
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
name: \new-user
|
|
|
|
id: \user-add
|
|
|
|
}
|
|
|
|
]
|
2019-12-06 21:07:39 +01:00
|
|
|
|
|
|
|
h \input.input {
|
2019-12-07 02:55:02 +01:00
|
|
|
value: self.title
|
2019-12-06 21:07:39 +01:00
|
|
|
oninput: (e) ->
|
2019-12-07 02:55:02 +01:00
|
|
|
self.title := e.target.value
|
|
|
|
}
|
|
|
|
|
|
|
|
h \aside.menu [
|
|
|
|
h \p.menu-label [ "Choose the columns" ]
|
|
|
|
|
|
|
|
h \ul.menu-list self.extra_properties.columns.map (column) ->
|
|
|
|
|
2019-12-07 05:11:47 +01:00
|
|
|
h \li {
|
|
|
|
key: column.id
|
|
|
|
} [
|
2019-12-07 02:55:02 +01:00
|
|
|
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
|
2019-12-07 05:11:47 +01:00
|
|
|
self.extra_properties.columns := self.extra_properties.columns.filter((.id != column.id))
|
|
|
|
# self.todod-ws.edit-list
|
|
|
|
# todod-ws.edit-list project.id, self
|
2019-12-07 02:55:02 +01:00
|
|
|
} [ "X" ]
|
|
|
|
]
|
|
|
|
|
|
|
|
h \input.input {
|
2019-12-07 05:11:47 +01:00
|
|
|
value: self.new-column-input.title
|
2019-12-07 02:55:02 +01:00
|
|
|
oninput: (e) ->
|
2019-12-07 05:11:47 +01:00
|
|
|
self.new-column-input.title := e.target.value
|
2019-12-07 02:55:02 +01:00
|
|
|
} [ ]
|
|
|
|
|
|
|
|
h \div.button {
|
|
|
|
onclick: ->
|
|
|
|
# TODO: create a new entry in self.extra_properties.columns
|
2019-12-07 05:11:47 +01:00
|
|
|
new-col = {
|
|
|
|
id: UUID!
|
|
|
|
title: self.new-column-input.title
|
|
|
|
}
|
|
|
|
self.extra_properties.columns ++= [ new-col ]
|
|
|
|
self.new-column-input.title := "New column !"
|
2019-12-07 02:55:02 +01:00
|
|
|
} [ "+" ]
|
|
|
|
]
|
2019-12-06 21:07:39 +01:00
|
|
|
]
|
2019-12-07 02:55:02 +01:00
|
|
|
|
2019-12-06 21:07:39 +01:00
|
|
|
on-validation: ->
|
|
|
|
if project.id
|
|
|
|
todod-ws.edit-list project.id, self
|
|
|
|
else
|
|
|
|
todod-ws.add-list self.title, self
|
2019-12-07 02:55:02 +01:00
|
|
|
}, self
|
2019-12-06 21:07:39 +01:00
|
|
|
|
|
|
|
self.render = ->
|
|
|
|
modal.render!
|
|
|
|
|
|
|
|
self
|
|
|
|
|
|
|
|
module.exports = ProjectCreationModal
|
|
|
|
|