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 4d3ac6fcc..19d9e42d7 100755
--- 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
@@ -135,7 +135,12 @@
"updated": "Project '__project__' updated",
"pull": "Project '__project__' reloaded",
"revert": "Project '__project__' reverted",
- "merge-complete": "Git merge completed"
+ "merge-complete": "Git merge completed",
+ "setupCredentials": "Setup credentials",
+ "setupProjectFiles": "Setup project files",
+ "no": "No thanks",
+ "createDefault": "Create default project files",
+ "mergeConflict": "Show merge conflicts"
},
"label": {
"manage-project-dep": "Manage project dependencies",
@@ -544,14 +549,19 @@
"removeFromProject": "remove from project",
"addToProject": "add to project",
"files": "Files",
+ "package": "Package",
"flow": "Flow",
"credentials": "Credentials",
+ "package":"Package",
+ "packageCreate":"File will be created when changes are saved",
+ "fileNotExist":"File does not exist",
+ "selectFile": "Select File",
"invalidEncryptionKey": "Invalid encryption key",
"encryptionEnabled": "Encryption enabled",
"encryptionDisabled": "Encryption disabled",
- "setTheEncryptionKey": "Set the encryption key:",
- "resetTheEncryptionKey": "Reset the encryption key:",
- "changeTheEncryptionKey": "Change the encryption key:",
+ "setTheEncryptionKey": "Set the encryption key",
+ "resetTheEncryptionKey": "Reset the encryption key",
+ "changeTheEncryptionKey": "Change the encryption key",
"currentKey": "Current key",
"newKey": "New key",
"credentialsAlert": "This will delete all existing credentials",
diff --git a/packages/node_modules/@node-red/editor-client/src/js/red.js b/packages/node_modules/@node-red/editor-client/src/js/red.js
index b00413e8a..4d02a189a 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/red.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/red.js
@@ -211,7 +211,7 @@ var RED = (function() {
}
]
} else if (msg.error === "missing-types") {
- text+="
";
+ text+="- "+msg.types.map(RED.utils.sanitize).join("
- ")+"
";
if (!!RED.projects.getActiveProject()) {
options.buttons = [
{
@@ -239,7 +239,7 @@ var RED = (function() {
if (RED.user.hasPermission("projects.write")) {
options.buttons = [
{
- text: "Setup credentials",
+ text: RED._("notification.project.setupCredentials"),
click: function() {
persistentNotifications[notificationId].hideNotification();
RED.projects.showCredentialsPrompt();
@@ -250,7 +250,7 @@ var RED = (function() {
} else {
options.buttons = [
{
- text: "Close",
+ text: RED._("common.label.close"),
click: function() {
persistentNotifications[notificationId].hideNotification();
}
@@ -261,7 +261,7 @@ var RED = (function() {
if (RED.user.hasPermission("projects.write")) {
options.buttons = [
{
- text: "Setup project files",
+ text: RED._("notification.project.setupProjectFiles"),
click: function() {
persistentNotifications[notificationId].hideNotification();
RED.projects.showFilesPrompt();
@@ -273,10 +273,10 @@ var RED = (function() {
if (RED.user.hasPermission("projects.write")) {
options.buttons = [
{
- text: "Create default package file",
+ text: RED._("notification.project.setupProjectFiles"),
click: function() {
persistentNotifications[notificationId].hideNotification();
- RED.projects.createDefaultPackageFile();
+ RED.projects.showFilesPrompt();
}
}
]
@@ -285,13 +285,13 @@ var RED = (function() {
if (RED.user.hasPermission("projects.write")) {
options.buttons = [
{
- text: "No thanks",
+ text: RED._("notification.project.no"),
click: function() {
persistentNotifications[notificationId].hideNotification();
}
},
{
- text: "Create default project files",
+ text: RED._("notification.project.createDefault"),
click: function() {
persistentNotifications[notificationId].hideNotification();
RED.projects.createDefaultFileSet();
@@ -305,7 +305,7 @@ var RED = (function() {
if (RED.user.hasPermission("projects.write")) {
options.buttons = [
{
- text: "Show merge conflicts",
+ text: RED._("notification.project.mergeConflict"),
click: function() {
persistentNotifications[notificationId].hideNotification();
RED.sidebar.versionControl.showLocalChanges();
diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js b/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js
index 9e0333c5a..16a31390e 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js
@@ -526,7 +526,7 @@ RED.projects.settings = (function() {
}
- function showProjectFileListing(row,activeProject,current,filter,done) {
+ function showProjectFileListing(row,activeProject,current,selectFilter,done) {
var dialog;
var dialogBody;
var filesList;
@@ -569,14 +569,15 @@ RED.projects.settings = (function() {
})
return result;
}
- var files = sortFiles("",files,"");
- createFileSubList(container,files.children,current,filter,done,"height: 175px");
+ var files = sortFiles("",files,"")
+
+ createFileSubList(container,files.children,current,selectFilter,done,"height: 175px");
spinner.remove();
});
return container;
}
- function createFileSubList(container, files, current, filter, onselect, style) {
+ function createFileSubList(container, files, current, selectFilter, onselect, style) {
style = style || "";
var list = $('',{class:"projects-dialog-file-list", style:style}).appendTo(container).editableList({
addButton: false,
@@ -592,7 +593,7 @@ RED.projects.settings = (function() {
} else {
children.hide();
}
- createFileSubList(children,entry.children,current,filter,onselect);
+ createFileSubList(children,entry.children,current,selectFilter,onselect);
header.addClass("selectable");
header.click(function(e) {
if ($(this).hasClass("expanded")) {
@@ -618,7 +619,7 @@ RED.projects.settings = (function() {
header.addClass("projects-dialog-file-list-entry-file-type-git");
}
$(' ').appendTo(header);
- if (filter.test(entry.name)) {
+ if (selectFilter(entry)) {
header.addClass("selectable");
if (entry.path === current) {
header.addClass("selected");
@@ -626,7 +627,7 @@ RED.projects.settings = (function() {
header.click(function(e) {
$(".projects-dialog-file-list-entry.selected").removeClass("selected");
$(this).addClass("selected");
- onselect(entry.path);
+ onselect(entry.path,true);
})
header.dblclick(function(e) {
e.preventDefault();
@@ -730,18 +731,27 @@ RED.projects.settings = (function() {
var title = $('').text(RED._("sidebar.project.projectSettings.files")).appendTo(pane);
var filesContainer = $('').appendTo(pane);
if (RED.user.hasPermission("projects.write")) {
- var editFilesButton = $('')
+ var editFilesButton = $('')
.appendTo(title)
.click(function(evt) {
evt.preventDefault();
formButtons.show();
editFilesButton.hide();
+ // packageFileLabelText.hide();
+
+ if (!activeProject.files.package) {
+ packageFileSubLabel.find(".projects-edit-form-sublabel-text").text(RED._("sidebar.project.projectSettings.packageCreate"));
+ packageFileSubLabel.show();
+ }
+
+ packageFileInputSearch.show();
+ // packageFileInputCreate.show();
flowFileLabelText.hide();
flowFileInput.show();
flowFileInputSearch.show();
- credFileLabel.hide();
- credFileInput.show();
- flowFileInput.focus();
+
+ flowFileInputResize();
+
// credentialStateLabel.parent().hide();
credentialStateLabel.addClass("uneditable-input");
$(".user-settings-row-credentials").show();
@@ -752,14 +762,76 @@ RED.projects.settings = (function() {
}
var row;
+ // Flow files
+ row = $('').appendTo(filesContainer);
+ $('').text(RED._("sidebar.project.projectSettings.package")).appendTo(row);
+ var packageFileLabel = $('