SmartIT_Extensions/BMC/smart-it-full/scripts/app/resource/rs-ka-tickets.js

53 lines
2.0 KiB
JavaScript

"use strict";
/**
* Created by dmytro.novosad on 7/23/2015.
*/
/**
* Created by dmytro.novosad on 7/22/2015.
*/
angular.module('resourceModule')
.directive('rsKaTickets', ['relationModel', 'events',
function (relationModel, events) {
return {
require: '^rs',
restrict: 'E',
scope: {},
templateUrl: 'views/resource/rs-ka-tickets.html',
link: function (scope, element, attrs, rsController) {
angular.extend(scope, rsController);
var context = scope.context, refresh = false, state = {
itemLimit: 4,
loadingRelatedTickets: false
};
getRelatedTickets();
scope.$on(events.REFRESH_RESOURCE_FEED, function () {
refresh = true;
getRelatedTickets();
});
function getRelatedTickets() {
state.loadingRelatedTickets = true;
var promise;
if (refresh) {
promise = relationModel.refreshRelations(scope.context.id, scope.context.type);
}
else {
promise = relationModel.getRelations(scope.context.id, scope.context.type);
}
promise.then(function () {
if (relationModel.cache[scope.context.id]) {
scope.relatedTickets = _.filter(relationModel.cache[scope.context.id], function (ticket) {
return ticket.type !== EntityVO.TYPE_KNOWLEDGE;
});
}
})
.finally(function () {
refresh = false;
state.loadingRelatedTickets = false;
});
}
scope.context = context;
scope.state = state;
}
};
}]);