|
|
|
@ -53,7 +53,30 @@ Project = (self, todod-ws, users-cache) ->
|
|
|
|
|
h \p.title.is-4 [
|
|
|
|
|
column.title
|
|
|
|
|
|
|
|
|
|
h \a.is-pulled-right.icon.has-text-grey {
|
|
|
|
|
if tasks-to-display.length == 0
|
|
|
|
|
h \a.is-pulled-right.icon.has-text-danger.visible-on-hover {
|
|
|
|
|
key: \remove
|
|
|
|
|
onclick: ->
|
|
|
|
|
modal := Modal {
|
|
|
|
|
+visible
|
|
|
|
|
content: [ "Are you sure you want to remove this column?" ]
|
|
|
|
|
on-validation: ->
|
|
|
|
|
console.log "column removal:", column
|
|
|
|
|
modal.visible := false
|
|
|
|
|
|
|
|
|
|
extra_properties = deep-copy(self.extra_properties)
|
|
|
|
|
extra_properties.columns = extra_properties.columns.filter((.id != column.id))
|
|
|
|
|
|
|
|
|
|
todod-ws.edit-list self.id, {
|
|
|
|
|
extra_properties: extra_properties
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} [
|
|
|
|
|
icon \skull-crossbones
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
h \a.is-pulled-right.icon.has-text-grey.visible-on-hover {
|
|
|
|
|
key: \edit
|
|
|
|
|
onclick: ->
|
|
|
|
|
modal := ColumnEditModal self, column, {
|
|
|
|
|
on-validation: (column) ->
|
|
|
|
@ -134,21 +157,44 @@ Project = (self, todod-ws, users-cache) ->
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
self.render = ->
|
|
|
|
|
|
|
|
|
|
h \div.project {} [
|
|
|
|
|
|
|
|
|
|
h \div.columns [
|
|
|
|
|
if columns = self.extra_properties.columns
|
|
|
|
|
for column in columns
|
|
|
|
|
is-last = column == columns[columns.length-1]
|
|
|
|
|
[
|
|
|
|
|
for column in columns
|
|
|
|
|
is-last = column == columns[columns.length-1]
|
|
|
|
|
|
|
|
|
|
if is-last
|
|
|
|
|
self.render-column column, is-last
|
|
|
|
|
else
|
|
|
|
|
[
|
|
|
|
|
if is-last
|
|
|
|
|
self.render-column column, is-last
|
|
|
|
|
h \div.is-divider-vertical
|
|
|
|
|
else
|
|
|
|
|
[
|
|
|
|
|
self.render-column column, is-last
|
|
|
|
|
h \div.is-divider-vertical {key: column.id + ".divider"}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
h \div.is-divider-vertical {
|
|
|
|
|
key: "final.divider"
|
|
|
|
|
}
|
|
|
|
|
h \div.column.is-narrow [
|
|
|
|
|
h \div.button.is-outlined.is-large {
|
|
|
|
|
onclick: ->
|
|
|
|
|
modal := ColumnEditModal self, void, {
|
|
|
|
|
on-validation: (column) ->
|
|
|
|
|
console.log "column creation:", column
|
|
|
|
|
modal.visible := false
|
|
|
|
|
|
|
|
|
|
extra_properties = deep-copy(self.extra_properties)
|
|
|
|
|
extra_properties.columns.push column
|
|
|
|
|
|
|
|
|
|
todod-ws.edit-list self.id, {
|
|
|
|
|
extra_properties: extra_properties
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} [
|
|
|
|
|
"+"
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
if modal
|
|
|
|
|