/**
* @ngdoc directives
* @name botao-Leitura-Arquivo
* @module s4c.directives.botaoLeituraArquivo.botaoLeituraArquivo
*
* @description `botaoLeituraArquivo` Inclui a opção de anexar arquivo
*
*
*
* @example <botao-leitura-arquivo></botao-leitura-arquivo>
*
*/
(function () {
'use strict';
botaoLeituraArquivo.$inject = [
'BotaoLeituraArquivo'
];
function botaoLeituraArquivo(BotaoLeituraArquivo) {
return {
templateUrl: 'app/directives/botao-leitura-arquivo/botao-leitura-arquivo.html',
link: function ($scope, $elem, $attrs) {
$scope.res = $scope.$root.res;
/**
*
* Abre a janela para selecionar o arquivo
*
* @method abrirUpload
*
*
*/
$scope.abrirUpload = function (e) {
var input = $elem.find('input[type="file"]');
e.stopPropagation();
input.attr('value', '');
input.click();
};
/**
* Faz a conversão do arquivo para binario para poder ser lido na tela
*
* @method uploadImage
*
* @param ctx {Object} Arquivos selecionados
*
*/
$scope.uploadImage = function (ctx) {
ctx = ctx.target;
console.log(ctx);
$elem.find('.nomeArquivo').text(ctx.name);
var files = ctx.files;
var i, f;
for (i = 0, f = files[i]; i != files.length; ++i) {
var reader = new FileReader();
var name = f.name;
reader.onload = function (e) {
var data = e.target.result;
var workbook = XLSX.read(data, { type: 'binary' });
workbook.Custprops.name = name;
BotaoLeituraArquivo.getInstance($attrs.id).trigger('upload', workbook);
};
reader.readAsBinaryString(f);
}
};
}
};
}
angular.module('s4c.directives.botaoLeituraArquivo', [])
.directive('botaoLeituraArquivo', botaoLeituraArquivo);
}());