mirror of https://github.com/node-red/node-red.git
Merge branch 'dev' into check-for-updates
commit
fc666fe13d
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue