From d38e7f8f2a4d775e376d34e394e7c4e1cd101361 Mon Sep 17 00:00:00 2001 From: Waldemar Gregorczyk Date: Thu, 20 Sep 2018 10:00:29 +0200 Subject: [PATCH 1/3] #87 fixed save comments --- .../layout/modal/note/noteModal.controller.js | 18 +++++++--- .../webapp/app/services/metadata.service.js | 35 +++++++++++++++++-- .../app/services/metadataAccess.service.js | 4 +++ .../main/webapp/app/services/notes.service.js | 20 ++++++++--- 4 files changed, 67 insertions(+), 10 deletions(-) diff --git a/report/src/main/webapp/app/layout/modal/note/noteModal.controller.js b/report/src/main/webapp/app/layout/modal/note/noteModal.controller.js index 8b440b7b9..9a1a93ce6 100644 --- a/report/src/main/webapp/app/layout/modal/note/noteModal.controller.js +++ b/report/src/main/webapp/app/layout/modal/note/noteModal.controller.js @@ -19,8 +19,9 @@ define(['angularAMD'], function (angularAMD) { 'use strict'; angularAMD.controller('noteModalController', NoteModalController); - function NoteModalController($scope, $uibModalInstance, model, viewMode, - notesService) { + function NoteModalController($scope, $uibModalInstance, model, viewMode, viewModeService, + notesService, $stateParams) { + var vm = this; init(); @@ -33,12 +34,21 @@ define(['angularAMD'], function (angularAMD) { vm.cancelNote = cancelNote; vm.deleteNote = deleteNote; vm.viewMode = viewMode; - vm.noteText = model.comment ? model.comment : ''; + vm.noteText = getComment(viewMode); vm.model = model; } + function getComment(viewMode) { + if (viewMode === viewModeService.COMPARATOR) { + return model.comparator.comment ? model.comparator.comment : ''; + } + else { + return model.comment ? model.comment : ''; + } + } + function updateNote() { - notesService.updateNote(vm.model, vm.noteText); + notesService.updateNote(vm, $stateParams); $uibModalInstance.close(); } diff --git a/report/src/main/webapp/app/services/metadata.service.js b/report/src/main/webapp/app/services/metadata.service.js index 9e7f10645..06d12150f 100644 --- a/report/src/main/webapp/app/services/metadata.service.js +++ b/report/src/main/webapp/app/services/metadata.service.js @@ -31,7 +31,9 @@ define(['angularAMD', 'metadataCacheService', 'metadataEndpointService'], getTest: getTest, getUrl: getUrl, getStep: getStep, + getStepComparator: getStepComparator, notifyMetadataChanged: notifyMetadataChanged, + updateComment: updateComment, saveChangesLocally: saveChangesLocally, discardLocalChanges: discardLocalChanges, commitLocalChanges: commitLocalChanges @@ -89,10 +91,38 @@ define(['angularAMD', 'metadataCacheService', 'metadataEndpointService'], return step; } + function getStepByStepName(testName, urlName, stepName) { + var step = null; + var url = getUrl(testName, urlName); + for (var stepNr = 0; stepNr < url.steps.length; stepNr++) { + if (url.steps[stepNr].name === stepName) { + step = url.steps[stepNr]; + } + } + return step; + } + + function getStepComparator(testName, urlName, stepName, comparatorIndex) { + var step = getStepByStepName(testName, urlName, stepName); + var comparator = null; + if (step !== null && step.comparators[comparatorIndex] !== null ) { + comparator = step.comparators[comparatorIndex]; + } + return comparator + } + function notifyMetadataChanged() { $rootScope.$emit('metadata:changed'); } + function updateComment(vm, param) { + var caseName = vm.model.displayName.split(" ")[0]; + var testName = param.test; + var comparatorIndex = vm.model.index; + var comparator = getStepComparator(testName, param.url, caseName, comparatorIndex); + comparator.comment = vm.noteText; + } + function saveChangesLocally() { metadataCacheService.put(suite); } @@ -251,7 +281,7 @@ define(['angularAMD', 'metadataCacheService', 'metadataEndpointService'], function hasStepComparatorAcceptedChanges(comparator) { return comparator && comparator.stepResult && - comparator.stepResult.rebaseable && + comparator.stepResult.rebaseable && comparator.stepResult.status === 'REBASED'; } @@ -354,4 +384,5 @@ define(['angularAMD', 'metadataCacheService', 'metadataEndpointService'], } } } - }); + } +); diff --git a/report/src/main/webapp/app/services/metadataAccess.service.js b/report/src/main/webapp/app/services/metadataAccess.service.js index ab3db2a03..e0e088c54 100644 --- a/report/src/main/webapp/app/services/metadataAccess.service.js +++ b/report/src/main/webapp/app/services/metadataAccess.service.js @@ -30,6 +30,7 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { getUrl: getUrl, getTestUrls: getTestUrls, getStep: getStep, + getStepComparator:getStepComparator, getUrlSteps: getUrlSteps }; @@ -64,5 +65,8 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { function getStep(testName, urlName, stepIndex) { return metadataService.getStep(testName, urlName, stepIndex); } + function getStepComparator(testName, urlName, stepIndex) { + return metadataService.getStepComparator(testName, urlName, stepIndex); + } } }); diff --git a/report/src/main/webapp/app/services/notes.service.js b/report/src/main/webapp/app/services/notes.service.js index 03f107a8f..e82c08643 100644 --- a/report/src/main/webapp/app/services/notes.service.js +++ b/report/src/main/webapp/app/services/notes.service.js @@ -22,7 +22,7 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { /** * Service responsible adding and removing notes from metadata. */ - function NotesService(metadataService) { + function NotesService(metadataService, viewModeService) { var service = { updateNote: updateNote, deleteNote: deleteNote, @@ -31,13 +31,25 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { return service; - function updateNote(object, text) { - object.comment = text; + function updateNote(vm, param) { + if (vm.viewMode === viewModeService.COMPARATOR) { + updateComparatorComment(vm, param); + } else { + updateUrlComment(vm); + } updateUnsavedNotesFlag(); metadataService.saveChangesLocally(); metadataService.notifyMetadataChanged(); } + function updateUrlComment(vm) { + vm.model.comment = vm.noteText; + } + + function updateComparatorComment(vm, param) { + metadataService.updateComment(vm, param); + } + function deleteNote(object) { var text = object.comment; delete object.comment; @@ -53,7 +65,7 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { } /*************************************** - *********** Private methods ********* + *********** Private methods *********ó ***************************************/ function updateUnsavedNotesFlag() { From 06084a644c122633541b2ff5b3443bd8c4e67e10 Mon Sep 17 00:00:00 2001 From: Waldemar Gregorczyk Date: Thu, 20 Sep 2018 11:32:35 +0200 Subject: [PATCH 2/3] #87 fixed tooltip and fix delete button --- .../layout/main/url/navigation/navigation.comments.html | 4 ++-- report/src/main/webapp/app/services/notes.service.js | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/report/src/main/webapp/app/layout/main/url/navigation/navigation.comments.html b/report/src/main/webapp/app/layout/main/url/navigation/navigation.comments.html index 1a2ed2a1a..14c81a3da 100644 --- a/report/src/main/webapp/app/layout/main/url/navigation/navigation.comments.html +++ b/report/src/main/webapp/app/layout/main/url/navigation/navigation.comments.html @@ -19,8 +19,8 @@ --> diff --git a/report/src/main/webapp/app/services/notes.service.js b/report/src/main/webapp/app/services/notes.service.js index e82c08643..213f4a9a8 100644 --- a/report/src/main/webapp/app/services/notes.service.js +++ b/report/src/main/webapp/app/services/notes.service.js @@ -52,7 +52,13 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { function deleteNote(object) { var text = object.comment; - delete object.comment; + if (object.comment) { + text = object.comment; + delete object.comment; + } else { + text = object.comparator.comment; + delete object.comparator.comment; + } updateUnsavedNotesFlag(); metadataService.saveChangesLocally(); metadataService.notifyMetadataChanged(); From 0eba7692fef40c63abf7e8d6f9297c2aefa7a35d Mon Sep 17 00:00:00 2001 From: Waldemar Gregorczyk Date: Thu, 20 Sep 2018 11:50:56 +0200 Subject: [PATCH 3/3] #87 unnecessary letter --- report/src/main/webapp/app/services/notes.service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report/src/main/webapp/app/services/notes.service.js b/report/src/main/webapp/app/services/notes.service.js index 213f4a9a8..c9372106c 100644 --- a/report/src/main/webapp/app/services/notes.service.js +++ b/report/src/main/webapp/app/services/notes.service.js @@ -71,7 +71,7 @@ define(['angularAMD', 'metadataService'], function (angularAMD) { } /*************************************** - *********** Private methods *********ó + *********** Private methods ********* ***************************************/ function updateUnsavedNotesFlag() {