Skip to content

Commit

Permalink
Fixes #24563: JS error when opening directive form more than once
Browse files Browse the repository at this point in the history
  • Loading branch information
clarktsiory committed Mar 25, 2024
1 parent 298507a commit 52a353b
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ import com.normation.rudder.repository.FullActiveTechnique
import com.normation.rudder.repository.FullActiveTechniqueCategory
import com.normation.rudder.web.model.JsTreeNode
import net.liftweb.common.Loggable
import net.liftweb.http.S
import net.liftweb.http.SHtml
import net.liftweb.http.js.JE.*
import net.liftweb.http.js.JE.JsRaw
Expand Down Expand Up @@ -514,29 +513,6 @@ object DisplayDirectiveTree extends Loggable {
}
}
}
S.appendJs(
JsRaw(s"""
var main = document.getElementById("filters-app")
|var initValues = {
| contextPath : contextPath,
| objectType : "directive"
|};
|filterApp = Elm.Filters.init({node: main, flags: initValues});
|filterApp.ports.toggleTree.subscribe(function(result) {
| toggleTree('#activeTechniquesTree', this);
|});
|filterApp.ports.searchTree.subscribe(function(filters) {
| $$("#activeTechniquesTree").jstree("searchtag", filters.filter, filters.tags, {"key":false , "value":false});
|});
|filterApp.ports.sendFilterTags.subscribe(function(tags) {
| if (typeof tagsApp === "undefined") return false;
| tagsApp.ports.getFilterTags.send(tags);
|});
$$(".bsTooltip").bsTooltip({container: "${if (addEditLink) { "#editRuleZonePortlet" }
else { "#boxDirectiveTree" }}"})
""".stripMargin)
)
directiveLib.subCategories.filterNot(_.isSystem).sortBy(_.name).flatMap(cat => displayCategory(cat, cat.id.value).toXml)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
<link media="screen" data-lift="with-cached-resource" href="/style/rudder/rudder-directives.css" rel="stylesheet" type="text/css">
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/tree-tag-plugin.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/directive.js"></script>
<script data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-directivecompliance.js"></script>
<script data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-filters.js"></script>
<script data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-techniqueversion.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-directivecompliance.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-filters.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-techniqueversion.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-filemanager.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-tags.js"></script>
</head>

<div data-lift="configuration.DirectiveManagement.head"></div>

<div id="filemanager-editor">
</div>
<div class="rudder-template">


Expand All @@ -34,6 +34,25 @@ <h1>Directives</h1>
</div>
</div>
<div data-lift="configuration.DirectiveManagement.userLibrary" ></div>
<script>
var main = document.getElementById("filters-app")
var initValues = {
contextPath : contextPath,
objectType : "directive"
};
filterApp = Elm.Filters.init({node: main, flags: initValues});
filterApp.ports.toggleTree.subscribe(function(result) {
toggleTree('#activeTechniquesTree', this);
});
filterApp.ports.searchTree.subscribe(function(filters) {
$("#activeTechniquesTree").jstree("searchtag", filters.filter, filters.tags, {"key":false , "value":false});
});
filterApp.ports.sendFilterTags.subscribe(function(tags) {
if (typeof tagsApp === "undefined") return false;
tagsApp.ports.getFilterTags.send(tags);
});
$(".bsTooltip").bsTooltip({container: "#boxDirectiveTree" })
</script>
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@
}
</style>
<link rel="stylesheet" data-lift="with-cached-resource" href="/style/rudder/rudder-filemanager.css" />
<script data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-filemanager.js"></script>
<script type="text/javascript" data-lift="with-cached-resource" src="/javascript/rudder/elm/rudder-tags.js"></script>

<script>
var hasWriteRights = false;
Expand All @@ -41,27 +39,6 @@
var hasWriteRights = true;
</script>
</lift:authz>
<script>
var baseUrl = contextPath ? contextPath : "/rudder";
var apiPath = baseUrl + '/secure/api/sharedfile';

var container = document.getElementById("filemanager-editor")
var fm = Elm.FileManager.init({
node: container,
flags: {
api: apiPath,
thumbnailsUrl: apiPath,
downloadsUrl: apiPath,
dir: "/",
hasWriteRights : hasWriteRights,
initRun : true;
}
});

fm.ports.errorNotification.subscribe(function(errorMessage) {
createErrorNotification(errorMessage);
});
</script>

<div id="editForm">
<div class="main-header">
Expand Down

0 comments on commit 52a353b

Please sign in to comment.