From ea25406d0094f13742d99b178e6d388fe5d693e9 Mon Sep 17 00:00:00 2001 From: Joe Pavitt Date: Tue, 15 Apr 2025 14:26:47 +0100 Subject: [PATCH] Sort by downloads when doing a search of modules --- .../editor-client/locales/en-US/editor.json | 2 +- .../editor-client/src/js/ui/palette-editor.js | 22 +++++++++---------- .../src/sass/palette-editor.scss | 5 ++++- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index 5a35135ee..b14e13b2f 100644 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -647,7 +647,7 @@ "tab-nodes": "Nodes", "tab-install": "Install", "sort": "sort:", - "sortRelevance": "relevance", + "sortDownloads": "downloads", "sortAZ": "a-z", "sortRecent": "recent", "more": "+ __count__ more", diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js index 3926ca430..20729d5ff 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js @@ -583,7 +583,9 @@ RED.palette.editor = (function() { packageList.editableList('addItem',{count:loadedList.length}) return; } + // sort the filtered modules filteredList.sort(activeSort); + // render the items in the package list for (var i=0;i').appendTo(sortGroup); const sortAZ = $('').appendTo(sortGroup); const sortRecent = $('').appendTo(sortGroup); - RED.popover.tooltip(sortRelevance,RED._("palette.editor.sortRelevance")); + RED.popover.tooltip(sortRelevance,RED._("palette.editor.sortDownloads")); RED.popover.tooltip(sortAZ,RED._("palette.editor.sortAZ")); RED.popover.tooltip(sortRecent,RED._("palette.editor.sortRecent")); @@ -1120,8 +1117,9 @@ RED.palette.editor = (function() { var descRow = $('
').appendTo(headerRow); $('
',{class:"red-ui-palette-module-description"}).text(entry.description).appendTo(descRow); var metaRow = $('
').appendTo(headerRow); - $(' '+entry.version+'').appendTo(metaRow); - $(' '+formatUpdatedAt(entry.updated_at)+'').appendTo(metaRow); + $(' '+entry.version+'').appendTo(metaRow); + $(' '+formatUpdatedAt(entry.updated_at)+'').appendTo(metaRow); + $(' '+(new Intl.NumberFormat().format(entry.downloads.week))+'').appendTo(metaRow); if (loadedCatalogs.length > 1) { $('' + (entry.catalog.name || entry.catalog.url) + '').appendTo(metaRow); } diff --git a/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss b/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss index 48706bda8..cdbfa406b 100644 --- a/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss +++ b/packages/node_modules/@node-red/editor-client/src/sass/palette-editor.scss @@ -119,6 +119,9 @@ .red-ui-palette-module-updated { margin-left: 10px; } + .red-ui-palette-module-downloads { + margin-left: 10px; + } .red-ui-palette-module-link { margin-left: 5px; } @@ -230,7 +233,7 @@ white-space: nowrap; @include mixins.enable-selection; } -.red-ui-palette-module-version, .red-ui-palette-module-updated, .red-ui-palette-module-link { +.red-ui-palette-module-version, .red-ui-palette-module-updated, .red-ui-palette-module-link, .red-ui-palette-module-downloads { font-style:italic; font-size: 0.8em; @include mixins.enable-selection;