From 87e7d8ada8e630725de831db574a727174384857 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Tue, 18 May 2021 13:43:27 +0300 Subject: [PATCH 1/4] fix(stacks): check for editor change before setting as dirty --- app/portainer/views/stacks/edit/stackController.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/portainer/views/stacks/edit/stackController.js b/app/portainer/views/stacks/edit/stackController.js index f7e8b05d2..4e4619864 100644 --- a/app/portainer/views/stacks/edit/stackController.js +++ b/app/portainer/views/stacks/edit/stackController.js @@ -203,10 +203,9 @@ angular.module('portainer.app').controller('StackController', [ $scope.editorUpdate = function (cm) { if ($scope.stackFileContent !== cm.getValue()) { $scope.state.isEditorDirty = true; + $scope.stackFileContent = cm.getValue(); + $scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames); } - $scope.stackFileContent = cm.getValue(); - $scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames); - $scope.state.isEditorDirty = true; }; $scope.stopStack = stopStack; From e54d99fd3d6f762cbc2e97c0cb0dd525b755023b Mon Sep 17 00:00:00 2001 From: Felix Han Date: Wed, 19 May 2021 12:09:11 +1200 Subject: [PATCH 2/4] fix(stacks): remove line breaks in web editors value --- app/portainer/views/stacks/edit/stackController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/portainer/views/stacks/edit/stackController.js b/app/portainer/views/stacks/edit/stackController.js index 4e4619864..a8954d665 100644 --- a/app/portainer/views/stacks/edit/stackController.js +++ b/app/portainer/views/stacks/edit/stackController.js @@ -201,7 +201,7 @@ angular.module('portainer.app').controller('StackController', [ }; $scope.editorUpdate = function (cm) { - if ($scope.stackFileContent !== cm.getValue()) { + if ($scope.stackFileContent.replace(/(\r\n|\n|\r)/gm, '') !== cm.getValue().replace(/(\r\n|\n|\r)/gm, '')) { $scope.state.isEditorDirty = true; $scope.stackFileContent = cm.getValue(); $scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames); From 47d462f085790ad74c43b56605aa62ae61a0803f Mon Sep 17 00:00:00 2001 From: Felix Han Date: Thu, 20 May 2021 10:22:07 +1200 Subject: [PATCH 3/4] fix(web-editor): check for editor change before setting as dirty. --- .../edit-edge-stack-form/editEdgeStackFormController.js | 6 ++++-- .../editCustomTemplateViewController.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js b/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js index bcef9c9f6..5e6482ee4 100644 --- a/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js +++ b/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js @@ -5,7 +5,9 @@ export class EditEdgeStackFormController { } editorUpdate(cm) { - this.model.StackFileContent = cm.getValue(); - this.isEditorDirty = true; + if (this.model.StackFileContent.replace(/(\r\n|\n|\r)/gm, '') !== cm.getValue().replace(/(\r\n|\n|\r)/gm, '')) { + this.model.StackFileContent = cm.getValue(); + this.isEditorDirty = true; + } } } diff --git a/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js b/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js index e53e291e3..941d1870b 100644 --- a/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js +++ b/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js @@ -96,8 +96,10 @@ class EditCustomTemplateViewController { } editorUpdate(cm) { - this.formValues.FileContent = cm.getValue(); - this.state.isEditorDirty = true; + if (this.formValues.FileContent.replace(/(\r\n|\n|\r)/gm, '') !== cm.getValue().replace(/(\r\n|\n|\r)/gm, '')) { + this.formValues.FileContent = cm.getValue(); + this.state.isEditorDirty = true; + } } async uiCanExit() { From 56187949276e1d35aecf7c806daf5756fed89a30 Mon Sep 17 00:00:00 2001 From: Felix Han Date: Thu, 20 May 2021 11:46:17 +1200 Subject: [PATCH 4/4] fix(k8s-config): check for config editor change before setting as dirty --- .../kubernetesConfigurationDataController.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js b/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js index 593fdc347..af7685b12 100644 --- a/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js +++ b/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js @@ -43,8 +43,10 @@ class KubernetesConfigurationDataController { } async editorUpdateAsync(cm) { - this.formValues.DataYaml = cm.getValue(); - this.isEditorDirty = true; + if (this.formValues.DataYaml !== cm.getValue()) { + this.formValues.DataYaml = cm.getValue(); + this.isEditorDirty = true; + } } editorUpdate(cm) {