GUI -- Cleaned up directives - onos-sortable-header and icon no longer use isolate scope. Icon directive moved to icon.js. Deleted unneeded TableService.

Change-Id: I53970176b9ca021d1aa7d844ccd961cbf6ac6b51
diff --git a/web/gui/src/main/webapp/app/fw/widget/table.js b/web/gui/src/main/webapp/app/fw/widget/table.js
index 9bdf1c1..21baaa3 100644
--- a/web/gui/src/main/webapp/app/fw/widget/table.js
+++ b/web/gui/src/main/webapp/app/fw/widget/table.js
@@ -189,44 +189,26 @@
 
         .directive('onosSortableHeader', ['$log', 'IconService',
             function (_$log_, _is_) {
-            return {
-                scope: {
-                    sortCallback: '&',
-                    sortParams: '='
-                },
-                link: function (scope, element) {
-                    $log = _$log_;
-                    is = _is_;
-                    var header = d3.select(element[0]);
-                        sortIconAPI = is.sortIcons();
+            return function (scope, element) {
+                $log = _$log_;
+                is = _is_;
+                var header = d3.select(element[0]);
+                    sortIconAPI = is.sortIcons();
 
-                    // when a header is clicked, change its sort direction
-                    // and get sorting order to send to the server.
-                    header.selectAll('td').on('click', function () {
-                        var col = d3.select(this);
+                header.selectAll('td').on('click', function () {
+                    var col = d3.select(this);
 
-                        if (col.attr('sortable') === '') {
-                            updateSortDirection(col);
-                            scope.$apply(function () {
-                                scope.sortParams = sortRequestParams();
-                            });
-                            scope.sortCallback({
-                                requestParams: scope.sortParams
-                            });
-                        }
-                    });
-                }
-            };
-        }])
+                    if (col.attr('sortable') === '') {
+                        updateSortDirection(col);
+                        scope.sortParams = sortRequestParams();
+                        scope.sortCallback(scope.sortParams);
+                    }
+                });
 
-        .factory('TableService', ['IconService',
-
-            function (is) {
-                sortIconAPI = is.sortIcons();
-
-                return {
-                    resetSort: resetSort
-                };
+                scope.$on('$destroy', function () {
+                    resetSort();
+                });
+            }
         }]);
 
 }());