Yangman - fix saving collections
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / directives / read_file.directive.js
1 define([], function () {
2     'use strict';
3
4     angular.module('app.yangman').directive('onReadFile', readFileDirective);
5
6     readFileDirective.$inject = ['$parse'];
7
8     function readFileDirective($parse) {
9         return {
10             restrict: 'A',
11             scope: false,
12             link: function (scope, element, attrs) {
13                 var fn = $parse(attrs.onReadFile);
14
15                 element.on('change', function (onChangeEvent) {
16                     var reader = new FileReader();
17
18                     reader.onload = function (onLoadEvent) {
19                         scope.$apply(function () {
20                             fn(scope, { $fileContent: onLoadEvent.target.result });
21                         });
22                     };
23
24                     reader.readAsText((onChangeEvent.srcElement || onChangeEvent.target).files[0]);
25                 });
26             },
27         };
28     }
29 });