Merge branch 'dev' into check-for-updates

pull/4936/head
GogoVega 2024-12-08 11:48:19 +01:00
commit fc666fe13d
No known key found for this signature in database
GPG Key ID: E1E048B63AC5AC2B
4 changed files with 77 additions and 45 deletions

View File

@ -92,7 +92,6 @@
"ctrl-+": "core:zoom-in",
"ctrl--": "core:zoom-out",
"ctrl-0": "core:zoom-reset"
},
"red-ui-editor-stack": {
"ctrl-enter": "core:confirm-edit-tray",

View File

@ -3013,7 +3013,12 @@ RED.nodes = (function() {
});
RED.events.on('deploy', function () {
allNodes.clearState()
})
});
RED.actions.add("core:trigger-selected-nodes-action", function () {
const selectedNodes = RED.view.selection().nodes || [];
// Triggers the button action of the selected nodes
selectedNodes.forEach((node) => RED.view.clickNodeButton(node));
});
},
registry:registry,
setNodeList: registry.setNodeList,

View File

@ -15,26 +15,35 @@
**/
RED.palette.editor = (function() {
var disabled = false;
let catalogues = []
const loadedCatalogs = []
var editorTabs;
let filterInput;
let searchInput;
let nodeList;
let packageList;
let fullList = []
// Loaded modules
let loadedList = [];
let filteredList = [];
let loadedIndex = {};
var typesInUse = {};
var nodeEntries = {};
var eventTimers = {};
var activeFilter = "";
// Module list
let fullList = [];
let filteredList = [];
var semverre = /^(\d+)(\.(\d+))?(\.(\d+))?(-([0-9A-Za-z-]+))?(\.([0-9A-Za-z-.]+))?$/;
var NUMBERS_ONLY = /^\d+$/;
// Modules installed
let nodeEntries = {};
// EditableList
let nodeList;
let packageList;
// Nodes tab - filter
let activeFilter = "";
// Nodes tab - search input
let filterInput;
// Install tab - search input
let searchInput;
const typesInUse = {};
const semverre = /^(\d+)(\.(\d+))?(\.(\d+))?(-([0-9A-Za-z-]+))?(\.([0-9A-Za-z-.]+))?$/;
const NUMBERS_ONLY = /^\d+$/;
function SemVerPart(part) {
this.number = 0;
@ -196,6 +205,7 @@ RED.palette.editor = (function() {
}
}
const eventTimers = {};
function refreshNodeModule(module) {
if (!eventTimers.hasOwnProperty(module)) {
eventTimers[module] = setTimeout(function() {
@ -272,7 +282,6 @@ RED.palette.editor = (function() {
}
}
function _refreshNodeModule(module) {
if (!nodeEntries.hasOwnProperty(module)) {
nodeEntries[module] = {info:RED.nodes.registry.getModule(module)};
@ -422,16 +431,10 @@ RED.palette.editor = (function() {
}
}
var catalogueCount;
var catalogueLoadStatus = [];
var catalogueLoadStart;
var activeSort = sortModulesRelevance;
let activeSort = sortModulesRelevance;
function refreshCatalogues (done) {
catalogueLoadStatus = [];
catalogueCount = catalogues.length;
const catalogueCount = catalogues.length;
loadedList = []
loadedIndex = {}
loadedCatalogs.length = 0
@ -441,7 +444,7 @@ RED.palette.editor = (function() {
$.getJSON(url, {_: new Date().getTime()},function(v) {
loadedCatalogs.push({ index: index, url: url, name: v.name, updated_at: v.updated_at, modules_count: (v.modules || []).length })
handleCatalogResponse({ url: url, name: v.name},index,v);
}).fail(function(jqxhr, textStatus, error) {
}).fail(function(_jqxhr, _textStatus, error) {
console.warn("Error loading catalog",url,":",error);
}).always(function() {
handled++;
@ -494,7 +497,7 @@ RED.palette.editor = (function() {
$(".red-ui-palette-module-shade-status").text(RED._('palette.editor.loading'));
$("#red-ui-palette-module-install-shade").show();
catalogueLoadStart = Date.now()
const catalogueLoadStart = Date.now()
refreshCatalogues(function () {
refreshNodeModuleList();
updateCatalogFilter(loadedCatalogs)
@ -609,39 +612,44 @@ RED.palette.editor = (function() {
return -1 * (A.info.timestamp-B.info.timestamp);
}
var installAllowList = ['*'];
var installDenyList = [];
var updateAllowed = true;
var updateAllowList = ['*'];
var updateDenyList = [];
let installAllowList = ['*'];
let installDenyList = [];
let updateAllowed = true;
let updateAllowList = ['*'];
let updateDenyList = [];
var settingsPane;
let editorTabs;
let settingsPane;
function init() {
catalogues = RED.settings.theme('palette.catalogues')||['https://catalogue.nodered.org/catalogue.json']
if (RED.settings.get('externalModules.palette.allowInstall', true) === false) {
return;
}
var settingsAllowList = RED.settings.get("externalModules.palette.allowList")
var settingsDenyList = RED.settings.get("externalModules.palette.denyList")
const settingsAllowList = RED.settings.get("externalModules.palette.allowList")
const settingsDenyList = RED.settings.get("externalModules.palette.denyList")
const settingsUpdateAllowList = RED.settings.get("externalModules.palette.allowUpdateList")
const settingsUpdateDenyList = RED.settings.get("externalModules.palette.denyUpdateList")
if (settingsAllowList || settingsDenyList) {
installAllowList = settingsAllowList;
installDenyList = settingsDenyList
installDenyList = settingsDenyList;
}
installAllowList = RED.utils.parseModuleList(installAllowList);
installDenyList = RED.utils.parseModuleList(installDenyList);
var settingsUpdateAllowList = RED.settings.get("externalModules.palette.allowUpdateList")
var settingsUpdateDenyList = RED.settings.get("externalModules.palette.denyUpdateList")
if (settingsUpdateAllowList || settingsUpdateDenyList) {
updateAllowList = settingsUpdateAllowList;
updateDenyList = settingsUpdateDenyList;
}
installAllowList = RED.utils.parseModuleList(installAllowList);
installDenyList = RED.utils.parseModuleList(installDenyList);
updateAllowed = RED.settings.get("externalModules.palette.allowUpdate", true);
updateAllowList = RED.utils.parseModuleList(updateAllowList);
updateDenyList = RED.utils.parseModuleList(updateDenyList);
updateAllowed = RED.settings.get("externalModules.palette.allowUpdate",true);
if (RED.settings.get("editorTheme.palette.checkForUpdates", true) === true) {
catalogues = RED.settings.theme('palette.catalogues') || ['https://catalogue.nodered.org/catalogue.json'];
if (RED.settings.get("editorTheme.palette.checkForUpdates", false) === true) {
// Enable checking for updates triggered every 30 minutes
initCheckForUpdatesInterval();
}
@ -665,7 +673,7 @@ RED.palette.editor = (function() {
// Add the update status to the status bar
addUpdateInfoToStatusBar();
// Load catalogues
refreshCatalogues()
RED.actions.add("core:manage-palette",function() {

View File

@ -26,6 +26,26 @@
@include disable-selection;
@include component-border;
transition: width 0.2s ease-in-out;
&:before {
content: '';
top: 0px;
bottom: 0px;
right: 0px;
width: 7px;
height: 100%;
z-index: 4;
position: absolute;
-webkit-mask-image: url(images/grip.svg);
mask-image: url(images/grip.svg);
-webkit-mask-size: auto;
mask-size: auto;
-webkit-mask-position: 50% 50%;
mask-position: 50% 50%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: var(--red-ui-grip-color);
}
}
.red-ui-palette-closed {