41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
"use strict";
|
|
/**
|
|
* Created by ygowtham on 6/12/2015.
|
|
*/
|
|
angular.module('assetModule')
|
|
.directive('assetContract', ['relationModel', 'metadataModel', '$q', function (relationModel, metadataModel, $q) {
|
|
return {
|
|
restrict: 'E',
|
|
replace: true,
|
|
scope: {
|
|
context: '=',
|
|
isDraft: '='
|
|
},
|
|
link: function (scope) {
|
|
scope.state = {
|
|
loadingContracts: true
|
|
};
|
|
function getRelatedContracts() {
|
|
$q.all([metadataModel.getMetadataByType(EntityVO.TYPE_CONTRACT), relationModel.getRelations(scope.context.reconciliationId, scope.context.ticketType)])
|
|
.then(function (result) {
|
|
scope.metadata = result[0];
|
|
scope.savedContracts = _.filter(result[1], ({ type: EntityVO.TYPE_CONTRACT }));
|
|
}).finally(function () {
|
|
scope.state.loadingContracts = false;
|
|
});
|
|
}
|
|
scope.getSelectedTypeObject = function (type, value) {
|
|
var val = _.find(scope.metadata[type], { name: value });
|
|
if (!val) {
|
|
return value;
|
|
}
|
|
else {
|
|
return val.label;
|
|
}
|
|
};
|
|
getRelatedContracts();
|
|
},
|
|
templateUrl: 'views/resource/asset-contract.html'
|
|
};
|
|
}]);
|