From fb46723759318b54bc8af3789cd70dad6a036a74 Mon Sep 17 00:00:00 2001
From: Philippe PITTOLI
Date: Fri, 6 Dec 2019 21:46:40 +0100
Subject: [PATCH] Update project list every time we get the project list page.
---
client/index.ls | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/client/index.ls b/client/index.ls
index 1559de0..55100ad 100644
--- a/client/index.ls
+++ b/client/index.ls
@@ -163,19 +163,19 @@ model.todod-ws.user-on-socket-error ++= [ on-websocket-error ]
model.todod-ws.user-on-socket-close ++= [ on-websocket-close ]
model.todod-ws.add-event-listener \lists-list, (message) ->
- # console.log message
+ console.log "Project list received", message
model.project-list := message.lists.map (x) ->
Project x, model.todod-ws
projector.schedule-render!
model.todod-ws.add-event-listener \new-list, (message) ->
- console.log message
+ console.log "New project", message
model.project-list := model.project-list ++ [ (Project message.list, model.todod-ws) ]
projector.schedule-render!
model.todod-ws.add-event-listener \list-updated, (message) ->
- console.log message
+ console.log "Project updated", message
new-project = Project message.list, model.todod-ws
@@ -194,12 +194,11 @@ model.todod-ws.add-event-listener \tasks, (message) ->
console.log "Tasks received", message
project = model.project-list.find((.id == message.list))
model.project-list.find((.id == message.list)).tasks := message.tasks.map (e) -> Task e, project, model.todod-ws
- console.log "Once done: ", model.project-list.find((.id == message.list)).tasks
projector.schedule-render!
model.todod-ws.add-event-listener \list-removed, (message) ->
console.log "A list has been removed", message
- if model.current-view == "project" && model.viewed-project == message.list
+ if model.current-view == "project" && model.viewed-project.id == message.list
model.current-view := "project-list"
model.viewed-project := void
projector.schedule-render!
@@ -249,6 +248,7 @@ render-navbar = ->
h \a.navbar-item.is-size-2 {
onclick: ->
model.todod-ws.unsubscribe model.viewed-project.id
+ model.todod-ws.list-lists!
model.viewed-project := void
model.current-view := "project-list"
} [ "⌂" ]
@@ -269,7 +269,7 @@ render-project-list = ->
key: project.id
onclick: ->
model.current-view := "project"
- model.viewed-project := project.id
+ model.viewed-project := project
model.todod-ws.subscribe project.id
model.todod-ws.get-list project.id
model.todod-ws.get-tasks project.id
@@ -299,14 +299,12 @@ render-new-project-button = ->
}
} [ "New project!" ]
-render-project = (project-id) ->
- project = model.project-list.find((.id == project-id))
-
+render-project = (project) ->
if project
project.render!
else
h \div.notification.is-error [
- bulma.title 3 "Error, we did not get the project id " + project-id
+ bulma.title 3 "Error, we did not get the project id " + project.id
]
render-body = ->