diff --git a/webapp/sources/rudder/rudder-web/src/main/elm/editor/sources/Editor.elm b/webapp/sources/rudder/rudder-web/src/main/elm/editor/sources/Editor.elm index fa47784d3d3..2078480cc1b 100755 --- a/webapp/sources/rudder/rudder-web/src/main/elm/editor/sources/Editor.elm +++ b/webapp/sources/rudder/rudder-web/src/main/elm/editor/sources/Editor.elm @@ -31,21 +31,22 @@ import AgentValueParser exposing (..) -- -- Port for interacting with external JS -- -port copy : String -> Cmd msg -port storeDraft : Value -> Cmd msg -port clearDraft : String -> Cmd msg -port getDrafts : () -> Cmd msg -port draftsResponse : (Value -> msg) -> Sub msg -port openManager : String -> Cmd msg -port updateResources : (() -> msg) -> Sub msg -port successNotification : String -> Cmd msg -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 -port clearTooltips : String -> Cmd msg -port scrollMethod : (Bool , String) -> Cmd msg +port copy : String -> Cmd msg +port storeDraft : Value -> Cmd msg +port clearDraft : String -> Cmd msg +port getDrafts : () -> Cmd msg +port draftsResponse : (Value -> msg) -> Sub msg +port openManager : String -> Cmd msg +port updateResources : (() -> msg) -> Sub msg +port successNotification : String -> Cmd msg +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 +port clearTooltips : String -> Cmd msg +port scrollMethod : (Bool , String) -> Cmd msg +port preventReloadingBehavior : () -> Cmd msg -- utility to write a understandable debug message from a get response debugHttpErr : Detailed.Error String -> String @@ -167,7 +168,7 @@ selectTechnique model technique = in ({ model | mode = TechniqueDetails effectiveTechnique state ui } ) |> update OpenMethods - |> Tuple.mapSecond ( always ( Cmd.batch [ getRessources state model, action ] )) + |> Tuple.mapSecond ( always ( Cmd.batch [ getRessources state model, action, preventReloadingBehavior () ] )) generator : Random.Generator String generator = Random.map (UUID.toString) UUID.generator @@ -206,7 +207,7 @@ update msg model = ( model , Cmd.none ) GetTechniques (Ok (metadata, techniques)) -> - ({ model | techniques = techniques, loadingTechniques = False}, getUrl () ) + ({ model | techniques = techniques, loadingTechniques = False}, Cmd.batch[getUrl (), preventReloadingBehavior()]) GetTechniques (Err err) -> ({ model | loadingTechniques = False} , errorNotification ("Error when getting techniques: " ++ debugHttpErr err ) ) @@ -314,7 +315,7 @@ update msg model = m -> (m, technique.id) drafts = Dict.remove idToClean.value model.drafts in - ({ model | techniques = techniques, mode = newMode, drafts = drafts}, Cmd.batch [ clearDraft idToClean.value, successNotification "Technique saved!", pushUrl technique.id.value] ) + ({ model | techniques = techniques, mode = newMode, drafts = drafts}, Cmd.batch [ clearDraft idToClean.value, successNotification "Technique saved!", pushUrl technique.id.value, preventReloadingBehavior ()] ) SaveTechnique (Err err) -> ( model , errorNotification ("Error when saving technique: " ++ debugHttpErr err ) ) diff --git a/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/Rules.elm b/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/Rules.elm index 1385b397daf..48e842022ea 100644 --- a/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/Rules.elm +++ b/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/Rules.elm @@ -16,12 +16,13 @@ import Random import UUID -- PORTS / SUBSCRIPTIONS -port successNotification : String -> Cmd msg -port errorNotification : String -> Cmd msg -port pushUrl : (String,String) -> Cmd msg -port initTooltips : String -> Cmd msg -port readUrl : ((String, String) -> msg) -> Sub msg -port copy : String -> Cmd msg +port successNotification : String -> Cmd msg +port errorNotification : String -> Cmd msg +port pushUrl : (String,String) -> Cmd msg +port initTooltips : String -> Cmd msg +port readUrl : ((String, String) -> msg) -> Sub msg +port copy : String -> Cmd msg +port preventReloadingBehavior : () -> Cmd msg subscriptions : Model -> Sub Msg subscriptions _ = @@ -139,7 +140,7 @@ update msg model = let modelUI = model.ui in - (model, Cmd.batch [getRuleDetails model rId, pushUrl ("rule", rId.value)]) + (model, Cmd.batch [getRuleDetails model rId, pushUrl ("rule", rId.value), preventReloadingBehavior ()]) OpenRuleDetails rId False -> (model, getRuleDetails model rId) @@ -298,9 +299,10 @@ update msg model = , getRulesTree newModel , getRulesComplianceDetails ruleDetails.id newModel , getRuleNodesDirectives ruleDetails.id newModel + , preventReloadingBehavior() ] ) - _ -> (model, Cmd.none) + _ -> (model, preventReloadingBehavior()) SaveRuleDetails (Err err) -> diff --git a/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/ruleManagement.html b/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/ruleManagement.html index 49e59d46a74..9a31ff00408 100644 --- a/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/ruleManagement.html +++ b/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/ruleManagement.html @@ -73,6 +73,12 @@ }); }, 950); + app.ports.preventReloadingBehavior.subscribe(function() { + $('.jstree-anchor').click(function (event) { + event.preventDefault(); + }); + }); + }); diff --git a/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/techniqueEditor.html b/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/techniqueEditor.html index 0996531309b..34582cda352 100644 --- a/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/techniqueEditor.html +++ b/webapp/sources/rudder/rudder-web/src/main/webapp/secure/configurationManager/techniqueEditor.html @@ -142,6 +142,12 @@ }); }, 950); + app.ports.preventReloadingBehavior.subscribe(function() { + $('.jstree-anchor').click(function (event) { + event.preventDefault(); + }); + }); + }); function scrollToMethod(target){