From d1d701e51f7ef2e608a865d76e5edfe38001035c Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Fri, 9 Dec 2016 11:11:52 +0000 Subject: [PATCH] SSDM-4407 : Dataset menu tree can now close all nodes at once SVN: 37464 --- .../DataSetForm/widgets/DatasetViewerView.js | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/DatasetViewerView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/DatasetViewerView.js index ab8acd4c0a3..7227d3e92b9 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/DatasetViewerView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/DatasetViewerView.js @@ -49,10 +49,26 @@ function DataSetViewerView(dataSetViewerController, dataSetViewerModel) { var $filesContainer = $("<div>"); $containerContent.append($filesContainer); if (this._dataSetViewerModel.enableDeepUnfolding) { - var b = FormUtil.getButtonWithIcon("glyphicon-chevron-down", function() { - _this._expandAll(); - }, null, "Expand all"); - $filesContainer.append(b); + var expandCollapseAll = FormUtil.getButtonWithIcon("glyphicon-chevron-down", function() { + var icon = $($(this).children()[0]); + + if(icon.hasClass("glyphicon-chevron-down")) { + _this._expandAll(); + icon.removeClass("glyphicon-chevron-down"); + icon.addClass("glyphicon-chevron-up"); + } else if(icon.hasClass("glyphicon-chevron-up")) { + + $("#filestree").fancytree("getRootNode").visit(function(node) { + node.setExpanded(false); + }); + + icon.removeClass("glyphicon-chevron-up"); + icon.addClass("glyphicon-chevron-down"); + } + + }, null, "Expand/Collapse all"); + $filesContainer.append(expandCollapseAll); + var $treeContainer = $("<div>"); $filesContainer.append($treeContainer); $filesContainer = $treeContainer; -- GitLab