Skip to content

Commit

Permalink
Fixes #19720: when clicking on \"show docs\" on a generic method in t…
Browse files Browse the repository at this point in the history
…he middle part of technique editor, it doesn't unfold the right part
  • Loading branch information
ElaadF committed Feb 1, 2022
1 parent cab7ad2 commit c37e212
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ type Msg =
| UpdateTechniqueFilter TreeFilters
| UpdateMethodFilter MethodFilter
| ToggleDoc MethodId
| ShowDoc MethodId
| OpenMethods
| OpenTechniques
| NewTechnique TechniqueId
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import File.Select
import Http.Detailed as Detailed
import Json.Decode exposing ( Value )
import Json.Encode
import JsonEncoder exposing (encodeDraft, encodeExportTechnique, encodeTechnique)
import JsonEncoder exposing (encodeDraft, encodeExportTechnique)
import JsonDecoder exposing (decodeDraft, decodeErrorDetails, decodeTechnique)
import List.Extra
import Maybe.Extra
Expand All @@ -27,7 +27,6 @@ import ViewTechnique exposing ( view, checkTechniqueName, checkTechniqueId )
import ViewMethod exposing ( accumulateErrorConstraint )
import ViewTechniqueList exposing (allMethodCalls)
import MethodElemUtils exposing (..)
import Http exposing ( Error )
import AgentValueParser exposing (..)

--
Expand All @@ -46,7 +45,6 @@ port errorNotification : String -> Cmd msg
port infoNotification : String -> Cmd msg
port pushUrl : String -> Cmd msg
port getUrl : () -> Cmd msg

port readUrl : (String -> msg) -> Sub msg


Expand Down Expand Up @@ -180,6 +178,17 @@ updateParameter paramId newValue x =
case x of
Call p c -> Call p { c | parameters = List.Extra.updateIf (.id >> (==) paramId) (\param -> { param | value = (getAgentValue newValue) } ) c.parameters }
Block p b -> Block p { b | calls = List.map (updateParameter paramId newValue) b.calls}

scrollInMethod: String -> Cmd Msg
scrollInMethod containerId =
let
task = (Browser.Dom.getElement "methods-list-container")
|> ((Browser.Dom.getViewportOf "methods-list-container")
|> ((Browser.Dom.getElement containerId)
|> Task.map3 (\elem viewport container -> viewport.viewport.y + elem.element.y - container.element.y )) )
|> Task.andThen (Browser.Dom.setViewportOf "methods-list-container" 0)
in
Task.attempt (always Ignore) task
--
-- update loop --
--
Expand Down Expand Up @@ -553,21 +562,21 @@ update msg model =


ScrollCategory category ->
let
task = (Browser.Dom.getElement "methods-list-container")
|> ((Browser.Dom.getViewportOf "methods-list-container")
|> ((Browser.Dom.getElement category)
|> Task.map3 (\elem viewport container -> viewport.viewport.y + elem.element.y - container.element.y )) )
|> Task.andThen (Browser.Dom.setViewportOf "methods-list-container" 0)
in
(model, Task.attempt (always Ignore) task )
(model, scrollInMethod category )

ToggleDoc methodId ->
let
ui = model.methodsUI
newDocs = if List.member methodId ui.docsOpen then List.Extra.remove methodId ui.docsOpen else methodId :: ui.docsOpen
in
( { model | methodsUI = { ui | docsOpen = newDocs } } , Cmd.none )
( { model | methodsUI = { ui | docsOpen = newDocs }, genericMethodsOpen = True } , scrollInMethod methodId.value)

ShowDoc methodId ->
let
ui = model.methodsUI
newDocs = if List.member methodId ui.docsOpen then ui.docsOpen else methodId :: ui.docsOpen
in
( { model | methodsUI = { ui | docsOpen = newDocs }, genericMethodsOpen = True } , scrollInMethod methodId.value)

AddMethod method newId ->
if model.hasWriteRights then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ methodDetail method call parentId ui model =
classes = "btn btn-sm btn-primary " ++
if List.member method.id model.methodsUI.docsOpen then "doc-opened" else ""
in
button [ class classes, type_ "button", onClick (ToggleDoc call.methodName) ] [
button [ class classes, type_ "button", onClick (ShowDoc call.methodName) ] [
text "Show docs "
, i [ class "fa fa-book"] []
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,7 @@ button.btn.clipboard:hover {
#methods-list-container{
position: relative;
scrollbar-width: thin;
scroll-behavior: smooth;
}

#methods-list-container::-webkit-scrollbar{
Expand Down Expand Up @@ -998,6 +999,7 @@ ul.list-unstyled > li{
}
.method-elmt {
border: 1px solid #e5e5e5;
min-width:350px;
}
ul li.hide-method {
margin-bottom : 0px !important;
Expand Down

0 comments on commit c37e212

Please sign in to comment.