1/**
2 * Directive to inline an svg icon
3 *
4 * To use–add an <icon> directive with a file attribute with
5 * a value that corresponds to the desired svg file to inline
6 * from the icons directory.
7 *
8 * Example: <icon file="icon-export.svg"></icon>
9 *
10 */
11window.angular && ((angular) => {
12  'use-strict';
13
14  angular.module('app.common.directives').directive('icon', () => {
15    return {
16      restrict: 'E', link: (scope, element, attrs) => {
17        const file = attrs.file;
18        if (file === undefined) {
19          console.log('File name not provided for <icon> directive.')
20          return;
21        }
22        const svg = require(`../../assets/icons/${file}`);
23        element.html(svg);
24        element.addClass('icon');
25      }
26    }
27  })
28})(window.angular);