From a02bd5ab52d196145f0b551d3f83d6c7bb88bf6b Mon Sep 17 00:00:00 2001 From: Michael Weimann Date: Thu, 6 Sep 2018 21:05:28 +0200 Subject: [PATCH] Implements a validation for empty titles input in the card directly Signed-off-by: Michael Weimann --- js/controller/BoardController.js | 32 +++++++++++++++++++++++++++++++ templates/part.board.mainView.php | 16 ++++++++++------ 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/js/controller/BoardController.js b/js/controller/BoardController.js index 12d32d281..2e3653ad0 100644 --- a/js/controller/BoardController.js +++ b/js/controller/BoardController.js @@ -42,6 +42,38 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St $scope.board = BoardService.getCurrent(); $scope.uploader = FileService.uploader; + $scope.startTitleEdit = function(card) { + card.renameTitle = card.title; + card.status = card.status || {}; + card.status.editCard = true; + }; + + $scope.finishTitleEdit = function(card) { + var newTitle; + if (!card.renameTitle || !card.renameTitle.trim()) { + newTitle = ''; + } else { + newTitle = card.renameTitle.trim(); + } + + if (newTitle === card.title) { + // title unchanged + card.status.editCard = false; + delete card.renameTitle; + } else if (newTitle !== '') { + // title changed + card.title = newTitle; + CardService.update(card).then(function (data) { + card.status.editCard = false; + delete card.renameTitle; + }); + } else { + // empty title + card.status.editCard = false; + delete card.renameTitle; + } + }; + $scope.$watch(function() { return $state.current; }, function(currentState) { diff --git a/templates/part.board.mainView.php b/templates/part.board.mainView.php index d09bcdac0..fb91b9a01 100644 --- a/templates/part.board.mainView.php +++ b/templates/part.board.mainView.php @@ -73,12 +73,16 @@

{{cardservice.get(c.id).title}} - -
- + ng-click="startTitleEdit(c)">{{cardservice.get(c.id).title}} + +