SmartIT_Extensions/BMC/smart-it-full-helix/scripts/app/change/impacted-areas-directive.js

45 lines
1.9 KiB
JavaScript

"use strict";
(function () {
'use strict';
angular.module('changeModule')
.directive('impactedAreas', [
function () {
return {
restrict: 'E',
templateUrl: 'views/change/impacted-areas.html',
scope: {
ticket: '=',
removable: '='
},
link: function (scope) {
scope.formatImpactedArea = function (impactedArea) {
var formattedImpactedArea = _.filter([
impactedArea.company.name,
impactedArea.site ? impactedArea.site.region : null,
impactedArea.site ? impactedArea.site.siteGroup : null,
impactedArea.site ? impactedArea.site.name : null,
impactedArea.organization,
impactedArea.department
], function (item) {
return item;
}).join(' > ');
return formattedImpactedArea;
};
scope.removeImpactedArea = function (index) {
scope.ticket.addedImpactedAreas = scope.ticket.addedImpactedAreas || [];
scope.ticket.removedImpactedAreas = scope.ticket.removedImpactedAreas || [];
var impactedArea = scope.ticket.impactedAreas[index];
scope.ticket.impactedAreas.splice(index, 1);
if (_.includes(scope.ticket.addedImpactedAreas, impactedArea)) {
_.remove(scope.ticket.addedImpactedAreas, impactedArea);
}
else {
scope.ticket.removedImpactedAreas.push(impactedArea);
}
};
}
};
}
]);
})();