Skip to content
This repository was archived by the owner on Jul 19, 2022. It is now read-only.

Commit 8440516

Browse files
committed
Perspective change: Fix CodebaseTree re-render
1 parent f9e2d54 commit 8440516

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

src/UnisonLocal/App.elm

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,12 @@ update msg ({ env } as model) =
152152
{ model2 | workspace = workspace, env = newEnv params }
153153

154154
( model4, fetchPerspectiveCmd ) =
155-
fetchPerspective model3
155+
fetchPerspectiveAndCodebaseTree env.perspective model3
156156
in
157157
( model4, Cmd.batch [ Cmd.map WorkspaceMsg cmd, fetchPerspectiveCmd ] )
158158

159159
Route.Perspective params ->
160-
fetchPerspective { model2 | env = newEnv params }
160+
fetchPerspectiveAndCodebaseTree env.perspective { model2 | env = newEnv params }
161161

162162
ChangePerspective perspective ->
163163
navigateToPerspective model perspective
@@ -315,8 +315,8 @@ navigateToPerspective model perspective =
315315
( { model | workspace = workspace }, changeRouteCmd )
316316

317317

318-
fetchPerspective : Model -> ( Model, Cmd Msg )
319-
fetchPerspective ({ env } as model) =
318+
fetchPerspectiveAndCodebaseTree : Perspective -> Model -> ( Model, Cmd Msg )
319+
fetchPerspectiveAndCodebaseTree oldPerspective ({ env } as model) =
320320
let
321321
( codebaseTree, codebaseTreeCmd ) =
322322
CodebaseTree.init env
@@ -335,6 +335,9 @@ fetchPerspective ({ env } as model) =
335335
]
336336
)
337337

338+
else if not (Perspective.equals oldPerspective env.perspective) then
339+
( model, Cmd.map CodebaseTreeMsg codebaseTreeCmd )
340+
338341
else
339342
( model, Cmd.none )
340343

src/UnisonShare/App.elm

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,12 @@ update msg ({ env } as model) =
156156
{ model2 | workspace = workspace, env = newEnv params }
157157

158158
( model4, fetchPerspectiveCmd ) =
159-
fetchPerspective model3
159+
fetchPerspectiveAndCodebaseTree env.perspective model3
160160
in
161161
( model4, Cmd.batch [ Cmd.map WorkspaceMsg cmd, fetchPerspectiveCmd ] )
162162

163163
Route.Perspective params ->
164-
fetchPerspective { model2 | env = newEnv params }
164+
fetchPerspectiveAndCodebaseTree env.perspective { model2 | env = newEnv params }
165165

166166
ChangePerspective perspective ->
167167
navigateToPerspective model perspective
@@ -319,8 +319,8 @@ navigateToPerspective model perspective =
319319
( { model | workspace = workspace }, changeRouteCmd )
320320

321321

322-
fetchPerspective : Model -> ( Model, Cmd Msg )
323-
fetchPerspective ({ env } as model) =
322+
fetchPerspectiveAndCodebaseTree : Perspective -> Model -> ( Model, Cmd Msg )
323+
fetchPerspectiveAndCodebaseTree oldPerspective ({ env } as model) =
324324
let
325325
( codebaseTree, codebaseTreeCmd ) =
326326
CodebaseTree.init env
@@ -339,6 +339,9 @@ fetchPerspective ({ env } as model) =
339339
]
340340
)
341341

342+
else if not (Perspective.equals oldPerspective env.perspective) then
343+
( model, Cmd.map CodebaseTreeMsg codebaseTreeCmd )
344+
342345
else
343346
( model, Cmd.none )
344347

0 commit comments

Comments
 (0)