Files
old-wiaas-legacy/api-wiaas/client/js/components/packages/create-packages.directive.js
2018-06-11 11:09:35 +02:00

61 lines
2.1 KiB
JavaScript

global.dashModule
.directive('createPackages', createPackagesDirective)
.controller('createPackagesCtrl', ['$scope', '$http', '$', '$translate', 'utilsService', 'packagesUtilsService', createPackagesCtrl]);
function createPackagesDirective() {
return {
restrict: 'E',
templateUrl: 'packages/html/createPackagesTemplate'
};
}
function createPackagesCtrl($scope, $http, $, $translate, utilsService, packagesUtilsService) {
$scope.initializeCreatePackages = initializeCreatePackages;
$scope.isCountrySelected = isCountrySelected;
$scope.getCountryTranslationKey = getCountryTranslationKey;
$scope.setCountrySelectedName = setCountrySelectedName;
function initializeCreatePackages() {
const params = {getArray: true};
httpCall('countries/api/getAllCountries', getCountries, params);
}
function httpCall(httpUrl, successCallback, params) {
const urlParams = params ? $.param(params) : {};
$http({
method: 'POST',
url: httpUrl,
data: urlParams
}).then(successCallback, utilsService.onHttpError);
}
function isCountrySelected() {
return typeof $scope.selectedCountryId !== 'undefined' && $scope.selectedCountryId !== 0;
}
function getCountries(response) {
$scope.countries = response.data;
}
function getCountryTranslationKey() {
const countrySelected = packagesUtilsService.getCountryAndPackageSelected().countrySelected || {};
const countryName = countrySelected.name || '';
$scope.translationData = {
country: countryName
};
return !countryName ? 'SELECT_COUNTRY' : 'SELECTED_COUNTRY';
}
function setCountrySelectedName() {
packagesUtilsService.setCountryAndPackageSelected(searchPackageNameSelected(), $scope.selectedCountryId);
}
function searchPackageNameSelected() {
const countrySelected = $scope.countries.find(info => {
return info.id === $scope.selectedCountryId;
});
return countrySelected ? countrySelected.name : '';
}
}