Files
2016-10-20 10:04:28 -04:00

58 lines
1.5 KiB
JavaScript

(function() {
"use strict";
window.app.directive('inventoryImport',
function() {
return {
templateUrl: '/inventory/template/inventoryImport.tmpl.cshtml',
controller: controller,
controllerAs: 'vm'
};
});
controller.$inject = ['$scope', 'inventorySvc'];
function controller($scope, inventorySvc) {
var vm = this;
vm.uploading = false;
vm.file = "";
vm.statusMessage = "Select your inventory excel document to import.";
vm.errorMessages = [];
// upload later on form submit or something similar
vm.submit = function () {
console.log("vm.submit");
if (vm.form.file.$valid && vm.file) {
console.log("if (vm.form.file.$valid && vm.file)");
vm.upload(vm.file);
}
};
// upload on file select or drop
vm.upload = function(file) {
console.log("vm.upload");
vm.uploading = true;
angular.copy([], vm.errorMessages);
inventorySvc
.importFile(file)
.then(function(resp) {
console.log("Success " + resp.config.data.file.name + "uploaded. Response: " + resp.data);
vm.uploading = false;
},
function (resp) {
if (angular.isArray(resp.data))
angular.copy(resp.data, vm.errorMessages);
else
angular.copy([resp.data], vm.errorMessages);
console.log("Error status: " + resp.status + " message: " + resp.data);
vm.uploading = false;
},
function(evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log("progress: " + progressPercentage + "% " + evt.config.data.file.name);
});
};
}
})();