Merge pull request #5079 from portainer/fix/EE-769/code-editor-prompt-on-change

fix(stacks): check for editor change before setting as dirty
pull/5090/head
wheresolivia 2021-05-20 18:44:46 +12:00 committed by GitHub
commit ef8794c2b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 10 deletions

View File

@ -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;
}
}
}

View File

@ -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) {

View File

@ -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() {

View File

@ -201,12 +201,11 @@ 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);
}
$scope.stackFileContent = cm.getValue();
$scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames);
$scope.state.isEditorDirty = true;
};
$scope.stopStack = stopStack;