From 9a07fc03c605c55f4528cddd2b237a9e340534c1 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Mon, 25 Mar 2024 20:47:55 +0100 Subject: [PATCH] Retain palette collapse and filter to localStorage --- .../@node-red/editor-client/src/js/ui/palette.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js index 23f30fc61c..27f6bb6df2 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js @@ -73,11 +73,15 @@ RED.palette = (function() { $("#red-ui-palette-header-"+category+" i").addClass("expanded"); }, toggle: function() { + const collapse = JSON.parse(localStorage.getItem("palette-collapse") || "[]"); if (catDiv.hasClass("red-ui-palette-open")) { categoryContainers[category].close(); + collapse.push(category); } else { categoryContainers[category].open(); + collapse.splice(collapse.indexOf(category), 1); } + localStorage.setItem("palette-collapse", JSON.stringify(collapse.filter((c, i, array) => array.indexOf(c) === i))); } }; @@ -602,8 +606,9 @@ RED.palette = (function() { delay: 100, change: function() { filterChange($(this).val()); + localStorage.setItem("palette-filter", $(this).val()); } - }) + }); sidebarControls = $('
').appendTo($("#red-ui-palette")); RED.popover.tooltip(sidebarControls,RED._("keyboard.togglePalette"),"core:toggle-palette"); @@ -669,6 +674,12 @@ RED.palette = (function() { togglePalette(state); } }); + + const collapse = JSON.parse(localStorage.getItem("palette-collapse") || "[]"); + setTimeout(function () { + collapse.forEach((category) => categoryContainers[category]?.close()); + $("#red-ui-palette-search input").searchBox("value", (localStorage.getItem("palette-filter") || "")); + }, 1000); } function togglePalette(state) { if (!state) {