diff --git a/app/common/directives/file.js b/app/common/directives/file.js
index 11adf8a..8ed6c2e 100644
--- a/app/common/directives/file.js
+++ b/app/common/directives/file.js
@@ -1,21 +1,21 @@
-window.angular && (function (angular) {
-    'use strict';
+window.angular && (function(angular) {
+  'use strict';
 
-    angular
-        .module('app.common.directives')
-        .directive('file', function () {
-            return {
-                scope: {
-                    file: '='
-                },
-                link: function (scope, el, attrs) {
-                    el.bind('change', function (event) {
-                        var file = event.target.files[0];
-                        scope.file = file ? file : undefined;
-                        scope.$apply();
-                    });
-                }
-            };
-        });
+  angular
+    .module('app.common.directives')
+    .directive('file', function() {
+      return {
+        scope: {
+          file: '='
+        },
+        link: function(scope, el, attrs) {
+          el.bind('change', function(event) {
+            var file = event.target.files[0];
+            scope.file = file ? file : undefined;
+            scope.$apply();
+          });
+        }
+      };
+    });
 
-})(window.angular);
\ No newline at end of file
+})(window.angular);
