From a26970b33bfd372cb3d03dab0e42ab66a0e78681 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 19 May 2017 22:20:20 -0400 Subject: [PATCH] (js) Remove bindings on message flags in directive --- .../Mailer/sgMessageListItemMain.directive.js | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/UI/WebServerResources/js/Mailer/sgMessageListItemMain.directive.js b/UI/WebServerResources/js/Mailer/sgMessageListItemMain.directive.js index a39fe60a1..0c1d8aebb 100644 --- a/UI/WebServerResources/js/Mailer/sgMessageListItemMain.directive.js +++ b/UI/WebServerResources/js/Mailer/sgMessageListItemMain.directive.js @@ -14,9 +14,6 @@ require: '^^sgMessageListItem', scope: {}, template: [ - '
', '
', '
', '
', @@ -57,8 +54,8 @@ /** * @ngInject */ - sgMessageListItemMainController.$inject = ['$scope', '$element', '$parse', '$state', '$mdToast', 'Mailbox', 'Message', 'encodeUriFilter']; - function sgMessageListItemMainController($scope, $element, $parse, $state, $mdToast, Mailbox, Message, encodeUriFilter) { + sgMessageListItemMainController.$inject = ['$scope', '$element', '$parse', '$state', '$mdUtil', '$mdToast', 'Mailbox', 'Message', 'encodeUriFilter']; + function sgMessageListItemMainController($scope, $element, $parse, $state, $mdUtil, $mdToast, Mailbox, Message, encodeUriFilter) { var $ctrl = this; this.$postLink = function () { @@ -113,15 +110,20 @@ this.parentController.onUpdate = function () { var i; $ctrl.message = $ctrl.parentController.message; - console.debug('onUpdate ' + $ctrl.message.uid); // Flags - for (i = 0; i < $ctrl.message.flags && i < 5; i++) { + var flagElements = $mdUtil.nodesToArray($element[0].querySelectorAll('.sg-category')); + _.forEach(flagElements, function(flagElement) { + $element[0].removeChild(flagElement); + }); + for (i = 0; i < $ctrl.message.flags.length && i < 5; i++) { var tag = $ctrl.message.flags[i]; - var flagElement = angular.element('
'); - flagElement.css('left', (i*3) + 'px'); - flagElement.css('background-color', $ctrl.service.$tags[tag][1]); - $element.prepend(flagElement); + if ($ctrl.service.$tags[tag]) { + var flagElement = angular.element('
'); + flagElement.css('left', (i*3) + 'px'); + flagElement.css('background-color', $ctrl.service.$tags[tag][1]); + $element.prepend(flagElement); + } } // Mailbox name when in virtual mode