|
|
|
@ -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 |
|
|
|
|