@@ -120,19 +120,7 @@ update msg ({ env } as model) =
120120 ( { model | route = Route . fromUrl env. basePath url }, Cmd . none )
121121
122122 ChangePerspective perspective ->
123- let
124- newEnv =
125- { env | perspective = perspective }
126-
127- ( codebaseTree, codebaseTreeCmd ) =
128- CodebaseTree . init newEnv
129-
130- changeRouteCmd =
131- Route . replacePerspective model. navKey ( Perspective . toParams perspective) model. route
132- in
133- ( { model | env = newEnv, codebaseTree = codebaseTree }
134- , Cmd . batch [ Cmd . map CodebaseTreeMsg codebaseTreeCmd, changeRouteCmd ]
135- )
123+ replacePerspective model perspective
136124
137125 Keydown event ->
138126 keydown model event
@@ -228,6 +216,23 @@ openDefinition model ref =
228216 ( model3, Cmd . batch [ cmd, Cmd . map WorkspaceMsg wCmd ] )
229217
230218
219+ replacePerspective : Model -> Perspective -> ( Model , Cmd Msg )
220+ replacePerspective ( { env } as model) perspective =
221+ let
222+ newEnv =
223+ { env | perspective = perspective }
224+
225+ ( codebaseTree, codebaseTreeCmd ) =
226+ CodebaseTree . init newEnv
227+
228+ changeRouteCmd =
229+ Route . replacePerspective model. navKey ( Perspective . toParams perspective) model. route
230+ in
231+ ( { model | env = newEnv, codebaseTree = codebaseTree }
232+ , Cmd . batch [ Cmd . map CodebaseTreeMsg codebaseTreeCmd, changeRouteCmd ]
233+ )
234+
235+
231236handleWorkspaceOutMsg : Model -> Workspace .OutMsg -> ( Model , Cmd Msg )
232237handleWorkspaceOutMsg model out =
233238 case out of
@@ -243,6 +248,11 @@ handleWorkspaceOutMsg model out =
243248 Workspace . Emptied ->
244249 ( model, Route . navigateToCurrentPerspective model. navKey model. route )
245250
251+ Workspace . ChangePerspectiveToNamespace fqn ->
252+ fqn
253+ |> Perspective . toNamespacePerspective model. env. perspective
254+ |> replacePerspective model
255+
246256
247257keydown : Model -> KeyboardEvent -> ( Model , Cmd Msg )
248258keydown model keyboardEvent =
@@ -370,9 +380,9 @@ viewPerspective env =
370380
371381 back =
372382 Tooltip . tooltip
373- ( Button . buttonIcon ( ChangePerspective ( Codebase codebaseHash)) Icon . arrowLeftUp |> Button . small |> Button . view)
374- ( text ( " You're currently viewing a subset of " ++ context ++ " (" ++ fqnText ++ " ), click to view everything." ))
375- |> Tooltip . withArrow Tooltip . TopRight
383+ ( Button . icon ( ChangePerspective ( Codebase codebaseHash)) Icon . arrowLeftUp |> Button . small |> Button . view)
384+ ( Tooltip . Text ( " You're currently viewing a subset of " ++ context ++ " (" ++ fqnText ++ " ), click to view everything." ))
385+ |> Tooltip . withArrow Tooltip . End
376386 |> Tooltip . view
377387 in
378388 header
0 commit comments