Index: branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/wwwroot/js/hubs/okbmanagerhubber.js
===================================================================
--- branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/wwwroot/js/hubs/okbmanagerhubber.js	(revision 13862)
+++ branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/wwwroot/js/hubs/okbmanagerhubber.js	(revision 13871)
@@ -22,5 +22,7 @@
     var vm = $scope;
     var hubber = $.connection.okbManagerHub;
-    vm.currentData = {'name' : '', 'data' : null}
+   $("#success-alert").hide();
+
+    vm.currentData = {'name' : '','type': '' , 'data' : null}
 
     vm.init = function () {
@@ -29,10 +31,18 @@
         $.connection.hub.qs = { 'userid': uid };
         //Connection string set to identify the unique session ID for the user
-        $.connection.hub.start().done(function () {
-           // hubber.server.requestInfo();//initial data request
-        });
-        hubber.client.processData = function (filters) {
-
+        $.connection.hub.start().done();
+        hubber.client.deleteComplete = function (text) {
+            vm.notify(text);
+            $scope.$apply();
         };
+        hubber.client.saveComplete = function (text) {
+            vm.notify(text);
+            $scope.$apply();
+        }
+        hubber.client.refreshData = function ( name, json) {
+            vm.initData(JSON.parse(json), name);
+            vm.selectDataCat(name); 
+            $scope.$apply();
+        }
 
     }
@@ -41,17 +51,22 @@
         switch (name) {
             case "platforms":
-                vm.platforms = {'selected' : null, 'arr' : coll}
+                vm.platforms = { 'selected': null, 'new': { 'Id': -1 }, 'arr': coll }
+                vm.platforms.selected = vm.platforms.new;
                 break;
             case "algoclass":
-                vm.algoclass = { 'selected': null, 'arr': coll }
+                vm.algoclass = { 'selected': null, 'new': { 'Id': -1 }, 'arr': coll }
+                vm.algoclass.selected = vm.algoclass.new;
                 break;
             case "algos":
-                vm.algos = { 'selected': null, 'arr': coll }
+                vm.algos = { 'selected': null, 'new': { 'Id': -1 }, 'arr': coll }
+                vm.algos.selected = vm.algos.new;
                 break;
             case "probclass":
-                vm.probclass = { 'selected': null, 'arr': coll }
+                vm.probclass = { 'selected': null, 'new': { 'Id': -1 }, 'arr': coll }
+                vm.probclass.selected = vm.probclass.new;
                 break;
             case "problems":
-                vm.problems = { 'selected': null, 'arr': coll }
+                vm.problems = { 'selected': null, 'new': { 'Id': -1 }, 'arr': coll }
+                vm.problems.selected = vm.problems.new;
                 break;
 
@@ -63,20 +78,25 @@
              case "platforms":
                  vm.currentData.name = "Platforms";
+                 vm.currentData.type = "ND";
                  vm.currentData.data = vm.platforms;
                  break;
              case "algoclass":
                  vm.currentData.name = "Algorithm classes";
+                 vm.currentData.type = "ND";
                  vm.currentData.data = vm.algoclass;
                  break;
              case "algos":
                  vm.currentData.name = "Algorithms";
+                 vm.currentData.type = "ALG";
                  vm.currentData.data = vm.algos;
                  break;
              case "probclass":
                  vm.currentData.name = "Problem classes";
+                 vm.currentData.type = "ND";
                  vm.currentData.data = vm.probclass;
                  break;
              case "problems":
                  vm.currentData.name = "Problems";
+                 vm.currentData.type = "PROB"
                  vm.currentData.data = vm.problems;
                  break;
@@ -84,3 +104,23 @@
          }
      }
+     vm.selectDataMember = function (index) {
+         if (index === null)
+             vm.currentData.data.selected = vm.currentData.data.new;
+         else {
+             vm.currentData.data.selected = vm.currentData.data.arr[index];
+         }
+     }
+     vm.saveCurrent = function () {
+         hubber.server.save(JSON.stringify(vm.currentData.data.selected), vm.currentData.name);
+     }
+     vm.deleteCurrent = function () {
+         hubber.server.delete(vm.currentData.data.selected.Id, vm.currentData.name);
+     }
+     vm.notify = function (text) {
+         $("#succText").html(text);
+         $("#success-alert").alert();
+         $("#success-alert").fadeTo(2000, 500).slideUp(500, function () {
+             $("#success-alert").hide();
+         });
+     }
 });
