65 lines
2.3 KiB
JavaScript
65 lines
2.3 KiB
JavaScript
(function() {
|
|
global.dashModule.directive('uploadImageCdn', uploadImageCdnDirective);
|
|
|
|
function uploadImageCdnDirective() {
|
|
return {
|
|
restrict: 'EA',
|
|
scope: {
|
|
uploadParams: '@'
|
|
},
|
|
controller: uploadImageCdnCtrl,
|
|
templateUrl: 'packages/html/uploadImageCdnTemplate'
|
|
};
|
|
}
|
|
|
|
function uploadImageCdnCtrl($scope, $, $http, $translate, utilsService, Upload) {
|
|
$scope.uploadImage = uploadImage;
|
|
$scope.options = {};
|
|
$scope.parseUploadParams = parseUploadParams;
|
|
|
|
|
|
function parseUploadParams() {
|
|
$scope.uploadParams = JSON.parse($scope.uploadParams);
|
|
$scope.showUseProfilePictureBox = 'shouldShowBox' in $scope.uploadParams ? $scope.uploadParams.shouldShowBox : true;
|
|
}
|
|
|
|
function uploadImage(file) {
|
|
if(typeof $scope.uploadParams === 'string') {
|
|
$scope.uploadParams = JSON.parse($scope.uploadParams);
|
|
}
|
|
$scope.options.idPackage = $scope.uploadParams.idPackage || 0;
|
|
$scope.options.folder = $scope.uploadParams.idCountry || 0;
|
|
|
|
Upload.upload({
|
|
url: 'packages/api/uploadNewImage',
|
|
method: 'POST',
|
|
file,
|
|
data: {
|
|
options: $scope.options
|
|
}
|
|
}).then(getUploadedImageUrl, utilsService.onHttpError);
|
|
}
|
|
|
|
function getUploadedImageUrl(response) {
|
|
if (typeof response.data.imageUrl !== 'undefined') {
|
|
$scope.imageUrl = response.data.imageUrl;
|
|
}
|
|
displayUpdateMessage(response);
|
|
}
|
|
|
|
function displayUpdateMessage(response) {
|
|
if (typeof response.data.messages !== 'undefined') {
|
|
response.data.messages.forEach((messageObj) => {
|
|
const translatedMessage = $translate.instant('packages.forms.messages.' + messageObj.message);
|
|
utilsService.displayMessage(messageObj.code, translatedMessage);
|
|
|
|
if(messageObj.code === 'success') {
|
|
$scope.options = {};
|
|
utilsService.executeRegisteredFunction('getImagesFromCdn');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
})();
|