Forráskód Böngészése

updated proces view

Piotr Labudda 9 éve
szülő
commit
aab35ac464
2 módosított fájl, 818 hozzáadás és 296 törlés
  1. 153 14
      SE/se-lib/Route/UrlAction/ProcesView.php
  2. 665 282
      SE/static/procesView.js

+ 153 - 14
SE/se-lib/Route/UrlAction/ProcesView.php

@@ -13,7 +13,7 @@ class Route_UrlAction_ProcesView extends RouteBase {// TODO: UrlActionBase @see
 	public function getAllAjaxAction(){
 		try {
 				$rows = DB::getPDO()->fetchAll("
-					select `ID`, `PARENT_ID`, `DESC`, `OPIS`, `TYPE`
+					select `ID`, `PARENT_ID`, `DESC`, `OPIS`, `TYPE`, `IF_TRUE_GOTO`, `IF_TRUE_GOTO_FLAG`
 					from CRM_PROCES
 					WHERE `PARENT_ID`>=0
 						AND `A_STATUS` <> 'DELETED'
@@ -28,18 +28,108 @@ class Route_UrlAction_ProcesView extends RouteBase {// TODO: UrlActionBase @see
 					$state[$id]["DESC"] = $value["DESC"];
 					$state[$id]["OPIS"] = $value["OPIS"];
 					$state[$id]["TYPE"] = $value["TYPE"];
+					$state[$id]["IF_TRUE_GOTO"] = intval($value["IF_TRUE_GOTO"]);
+					$state[$id]["IF_TRUE_GOTO_FLAG"] = $value["IF_TRUE_GOTO_FLAG"];
+					if(intval($value["PARENT_ID"]) != 0)
+						$state[$id]["PARENT_ID"] = intval($value["PARENT_ID"]);
+					else
+						$state[$id]["PARENT_ID"] = "#";
+					if(!isset($state[$id]["childs"]))
+						$state[$id]["childs"] = array();
+
+					if(!isset($state[$value["PARENT_ID"]])){
+						$state[$parent_id]["childs"] = array();
+					}
+					$temp = array();
+					$temp["ID"] = $id;
+					array_push($state[$parent_id]["childs"], $temp);
+
+				}
+				//print_r($state);
+				Response::sendJsonExit($state);
+			} catch (Exception $e) {
+				UI::alert('danger', "Error: " . $e->getMessage());
+			}
+	}
+
+	public function getConnectedProcAjaxAction(){
+		try {
+				$id = V::get('id', 0, $_REQUEST, 'int');
+				$rows = DB::getPDO()->fetchAll("
+					SELECT * FROM `CRM_WSKAZNIK` WHERE `ID_ZASOB` = $id AND `A_STATUS` <> 'DELETED'
+				");
+				$state = array();
+				$state["wsk"] = array();
+				foreach($rows as $key => $value){
+					$temp["ID"] = $value["ID"];
+					$temp["ID_PROCES"] = $value["ID_PROCES"];
+					$temp["ID_ZASOB"] = $value["ID_ZASOB"];
+					//print_r($temp);
+
+					array_push($state["wsk"], $temp);
+				}
+				Response::sendJsonExit($state);
+			} catch (Exception $e) {
+				UI::alert('danger', "Error: " . $e->getMessage());
+			}
+	}
+
+
+	public function getDetailsAjaxAction(){
+		try {
+				$id = V::get('id', 0, $_REQUEST, 'int');
+				$rows = DB::getPDO()->fetchAll("
+					SELECT * FROM `CRM_WSKAZNIK` WHERE `ID_PROCES` = $id AND `A_STATUS` <> 'DELETED'
+				");
+				$state = array();
+				$state["wsk"] = array();
+				foreach($rows as $key => $value){
+					$temp["ID"] = $value["ID"];
+					$temp["ID_PROCES"] = $value["ID_PROCES"];
+					$temp["ID_ZASOB"] = $value["ID_ZASOB"];
+					//print_r($temp);
+
+					array_push($state["wsk"], $temp);
+				}
+				$count = DB::getPDO()->fetchAll("
+					SELECT count(*) as imgCount FROM `CRM_IMAGE` WHERE `REMOTE_ID` = $id AND `REMOTE_TABLE` = 'CRM_PROCES'
+				");
+				//print_r($count[0]["c"]);
+				//print_r($state);
+				$state["IMG_COUNT"] = $count[0]["imgCount"];
+				Response::sendJsonExit($state);
+			} catch (Exception $e) {
+				UI::alert('danger', "Error: " . $e->getMessage());
+			}
+	}
+
+	public function getAllResAjaxAction(){
+		try {
+				$rows = DB::getPDO()->fetchAll("
+					select `ID`, `PARENT_ID`, `DESC`, `OPIS`, `ALIAS_ID`, `TYPE`
+					from CRM_LISTA_ZASOBOW
+					WHERE `PARENT_ID`>=0
+						AND `A_STATUS` <> 'DELETED'
+						AND `ID` <> `PARENT_ID`
+					ORDER BY `SORT_PRIO` ASC, `ID` DESC
+				");
+				$state = array();
+				foreach($rows as $key => $value){
+					$id = intval($value["ID"]);
+					$parent_id = intval($value["PARENT_ID"]);
+					$state[$id]["ALIAS_ID"] = intval($value["ALIAS_ID"]);
+					$state[$id]["ID"] = $value["ID"];
+					$state[$id]["DESC"] = $value["DESC"];
+					$state[$id]["TYPE"] = $value["TYPE"];
+					$state[$id]["OPIS"] = $value["OPIS"];
 					if(intval($value["PARENT_ID"]) != 0)
 						$state[$id]["PARENT_ID"] = intval($value["PARENT_ID"]);
 					else
 						$state[$id]["PARENT_ID"] = "#";
-					$state[$id]["active"] = false;
-					$state[$id]["details"] = false;
 					if(!isset($state[$id]["childs"]))
 						$state[$id]["childs"] = array();
 
 					if(!isset($state[$value["PARENT_ID"]])){
-						$state[$parent_id]["active"] = false;
-						$state[$parent_id]["details"] = false;
 						$state[$parent_id]["childs"] = array();
 					}
 					$temp = array();
@@ -68,7 +158,13 @@ class Route_UrlAction_ProcesView extends RouteBase {// TODO: UrlActionBase @see
 		UI::gora();
 		UI::menu();
 		try {
-				$this->showView();
+				$start_id = V::get('START_ID', 0, $_REQUEST, 'int');
+				$type = V::get('TYPE', 0, $_REQUEST, 'string');
+				if($type === "zasoby")
+					$type = "res";
+				else
+					$type = "childs";
+				$this->showView($start_id, $type);
 		} catch (Exception $e) {
 			UI::alert('danger', "Error: " . $e->getMessage());
 		}
@@ -76,21 +172,21 @@ class Route_UrlAction_ProcesView extends RouteBase {// TODO: UrlActionBase @see
 		UI::dol();
 	}
 
-	public function showView() {
+	public function showView($start_id, $type) {
 
 		echo "<div class=container-fluid>";
 		echo "<div class=row>";
-		echo "<div class=col-md-12 style=padding-top:15px;><a id=toggleMenu style=cursor:pointer;>Przełącz menu</a><a style=float:right;cursor:pointer; id=toggleView>Przełącz na widok drzewa</a></div>";
+		echo "<div class=col-md-12 style=padding-top:15px;><a id=toggleMenu style=cursor:pointer;>Przełącz menu</a><a style=float:right;cursor:pointer; id=toggleView>Przełącz widok</a></div>";
 		echo "<div class=col-md-12 id=view>";
 		echo "";
 		echo "</div>";
 		echo "</div>";
-		echo "<script>var BASE_URL = '".Request::getPathUri()."';var ProcesTableId=".ProcesHelper::getZasobTableID('CRM_PROCES').";</script>";
+		echo "<script>var TYPE = '".$type."';var START_ID = '".$start_id."';var BASE_URL = '".Request::getPathUri()."';var ProcesTableId=".ProcesHelper::getZasobTableID('CRM_PROCES').";</script>";
 		echo '<script src="static/sweetalert2.min.js"></script>';
 		echo '<link rel="stylesheet" type="text/css" href="static/sweetalert2.min.css">';
 		echo '<link rel="stylesheet" href="static/jstree-theme/style.min.css" />';
 		echo '<script src="static/jstree.min.js"></script>';
-		echo '<script src="static/procesView.js?v=1"></script>';
+		echo '<script src="static/procesView.js?v='.time().'"></script>';
     $this->showViewCss();
 
 	}
@@ -102,13 +198,56 @@ class Route_UrlAction_ProcesView extends RouteBase {// TODO: UrlActionBase @see
   float:left;
 	padding-bottom:20px;
 	display:block;
-
-
-	overflow-y:scroll;
-  cursor:pointer;
   width:460px;
   }
 
+	.toggleRoute{
+		text-align:center;
+		margin-top:10px;
+		padding:5px;
+		background-color:#ededed;
+		opacity:0.6;
+		cursor:pointer;
+	}
+
+	.route{
+		border-style:solid;
+		border-width:2px;
+		padding:5px;
+		display:none;
+		border-radius:2px;
+		border-color:#ededed;
+	}
+
+	.toggleRoute:hover{
+		opacity:1;
+	}
+
+	.goto{
+
+	}
+
+	.singleAdvList{
+			overflow-y:scroll;
+	}
+
+	.gotoInfo{
+		background-color:#e5a100;
+		color:white;
+		padding:10px;
+		margin-left:50px;
+		font-size:1.0em;
+	}
+
+	.gotoWay{
+		background-color:#ededed;
+		padding:10px;
+	}
+
+	.normalChilds{
+		background-color: #ededed;
+	}
+
 	#procCon{
 		display:block;
 		height:100%;

+ 665 - 282
SE/static/procesView.js

@@ -1,219 +1,425 @@
-$(document).ready(function(){
-  var state = {};
+$(document).ready(function() {
+  var procesy = {};
+  var res = {};
+  var state = [];
   var panels = true;
   var menuShow = false;
   var sTimeout = false;
   $("#SE-menu").hide();
   $("#SE-menu-sub").hide();
 
-  function translate(objId){
+  function translate(objId, arr) {
     var data = [];
-      $.each(state[objId]["childs"], function(indexChilds, childs){
-        var temp = {};
-        var id = childs["ID"];
-        var style = "";
-        switch(state[id]["TYPE"]){
-          case "PROCES_INIT":    style = 'style="background-color:#ffe5e5;color:#333"';break;
-          case "PROCES":         style = 'style="background-color:#ededed;color:#333"';break;
-          case "PROCES_GROUP_1": style = 'style="background-color:#9999cc;color:#fff"';break;
-          case "PROCES_GROUP_2": style = 'style="background-color:#d8d8b2;color:#fff"';break;
-          default:               style = 'style="background-color:#ededed;color:#333"';break;
-        }
-        temp["id"] = id;
-        temp["text"] = "<span class=detailsTable2 "+style+" >"+id+"</span> "+state[id]["DESC"];
-        temp["parent"] = state[id]["PARENT_ID"];
-        data.push(temp);
-        //console.log(data);
-        $.merge(data, translate(id));
-      });
-      return data;
+    $.each(arr[objId]["childs"], function(indexChilds, childs) {
+      var temp = {};
+      var id = childs["ID"];
+      var style = "";
+      switch (arr[id]["TYPE"]) {
+        case "PROCES_INIT":
+          style = 'style="background-color:#ffe5e5;color:#333"';
+          break;
+        case "PROCES":
+          style = 'style="background-color:#ededed;color:#333"';
+          break;
+        case "PROCES_GROUP_1":
+          style = 'style="background-color:#9999cc;color:#fff"';
+          break;
+        case "PROCES_GROUP_2":
+          style = 'style="background-color:#d8d8b2;color:#fff"';
+          break;
+        default:
+          style = 'style="background-color:#ededed;color:#333"';
+          break;
+      }
+      temp["id"] = id;
+      if(TYPE == "childs")
+        temp["type"] = "proces";
+      else
+        if(arr[id]["TYPE"] == "STANOWISKO" || arr[id]["TYPE"] == "DZIAL" || arr[id]["TYPE"] == "PODMIOT")
+          temp["type"] = "stanowiska";
+        else
+          temp["type"] = "zasoby";
+      temp["text"] = "<span class=detailsTable2 " + style + " >" + id + "</span> " + arr[id]["DESC"];
+      temp["parent"] = arr[id]["PARENT_ID"];
+      data.push(temp);
+      //console.log(data);
+      $.merge(data, translate(id, arr));
+    });
+    return data;
   }
 
 
-    $(document).on('keyup', '#search', function(e) {
-      if(sTimeout) { clearTimeout(sTimeout); }
-      sTimeout = setTimeout(function () {
-        var val = $('#search').val();
-        $('#tree').jstree(true).search(val, false);
+  $(document).on('keyup', '#search', function(e) {
+    if (sTimeout) {
+      clearTimeout(sTimeout);
+    }
+    sTimeout = setTimeout(function() {
+      var val = $('#search').val();
+      $('#tree').jstree(true).search(val, false);
+    }, 250);
+  });
 
-      }, 250);
-    });
+  function customMenu(node) {
+    var tree = $("#tree").jstree(true);
+    var id = node.id;
+    var items = {};
+    if (node.type === "proces")
+      items = {
+        "ProcesEditor": {
+          "separator_before": false,
+          "separator_after": false,
+          "label": "Edytor procesów",
+          "action": function(obj) {
+            window.location = BASE_URL + 'index.php?_route=UrlAction_procesEditor&id=' + id;
+          }
+        },
+        "EditProces": {
+          "separator_before": false,
+          "separator_after": false,
+          "label": "Edytuj proces",
+          "action": function(obj) {
+            window.location = BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES#EDIT/' + id;
+          }
+        },
+        "AddPytania": {
+          "separator_before": false,
+          "separator_after": true,
+          "label": "Edytuj pytania",
+          "action": function(obj) {
+            window.location = BASE_URL + 'procesy5.php?task=CRM_TESTY_ADD_PYTANIA&id_proces=' + id;
+          }
+        },
+
+        "ProcesMap": {
+          "separator_before": false,
+          "separator_after": false,
+          "label": "Mapa procesu",
+          "action": function(obj) {
+            window.location = BASE_URL + 'index.php?FUNCTION_INIT=GRAPH_VIEW_PROCES&PROCES_INIT_SCAN=1&id_proces=' + id;
+          }
+        },
+        "ListView": {
+          "separator_before": false,
+          "separator_after": false,
+          "label": "Widok listy",
+          "action": function(obj) {
+            window.location = BASE_URL + 'procesy5.php?task=PROCES_VIEW_LIST&HIDE_PANEL=0&show_big_img=1&group_stanowiska=1&id_proces=' + id;
+          }
+        },
+        "AddResource": {
+          "separator_before": true,
+          "separator_after": false,
+          "label": "Dodaj zasób",
+          "action": function(obj) {
+            window.location = BASE_URL + 'index.php?MENU_INIT=PROCES_ADD_ZASOB&task=CRM_PROCES&procesID=' + id;
+          }
+        },
+        "AddChild": {
+          "separator_before": false,
+          "separator_after": false,
+          "label": "Dodaj dziecko",
+          "action": function(obj) {
+            window.location = BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES&ff_PARENT_ID=' + id + '#CREATE';
+          }
+        },
+        "ShowWsk": {
+          "separator_before": true,
+          "separator_after": false,
+          "label": "Pokaż powiązane zasoby",
+          "action": function(obj) {
+            node = { id:"res"+id, text:"Zasoby"};
+            $('#tree').jstree('create_node', id, node, 'first');
+            var node = { id:"prof"+id,text:"Stanowiska"};
+            $('#tree').jstree('create_node', id, node, 'first');
+            var link = BASE_URL + "index.php?_route=UrlAction_ProcesView&_task=getDetailsAjax&id=" + id;
+
+            $.get(link, function(data){
+              var isProf = false;
+              var isRes = false;
+              $.each(data["wsk"], function(i, e){
+                //console.log(e);
+                var idX = e["ID_ZASOB"];
+                var node = { id:"wsk"+e["ID"],text: "["+e["ID_ZASOB"]+"] " + res[idX]["DESC"]};
+
+                if(res[idX]["TYPE"] == "STANOWISKO" || res[idX]["TYPE"] == "DZIAL" || res[idX]["TYPE"] == "PODMIOT"){
+                   node["type"] = "stanowiska";
+                   isProf = true;
+                  $('#tree').jstree('create_node', "prof"+id, node, 'first');
+                }else{
+                  node["type"] = "zasoby";
+                  isRes = false;
+                  $('#tree').jstree('create_node', "res"+id, node, 'first');
+                }
+              });
+              if(!isProf)
+                $("#tree").jstree('rename_node', "prof"+id , "Stanowiska <b style=color:red>[BRAK]</b>" );
+              if(!isRes)
+                $("#tree").jstree('rename_node', "res"+id , "Zasoby <b style=color:red>[BRAK]</b>" );
+              $("#tree").jstree("open_node", id);
+              $("#tree").jstree("open_node", "res"+id);
+              $("#tree").jstree("open_node", "prof"+id);
+            })
+          }
+        },
+      };
+
+      if (node.type === "zasoby" || node.type === "stanowiska")
+        items = {
+          "Edit": {
+            "separator_before": false,
+            "separator_after": true,
+            "label": "Edytuj zasób",
+            "action": function(obj) {
+              var zId = id.replace("wsk", "");
+              window.location = BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_LISTA_ZASOBOW#EDIT/' + zId;
+            }
+          },
+        };
 
-  function renderTree(){
+    return items;
+  }
+
+  function renderTree() {
     // jQuery.jstree.defaults.core.themes.responsive = true;
     $('#view').empty();
     $("#view").append("<input id=search type=next class=form-control>")
     $('#view').append("<div id=tree></div>");
     $('#tree').jstree({
-  "core" : {
-    "animation" : 0,
-    "check_callback" : true,
-    "themes" : { "stripes" : false, "dots": false },
-    'data' : translate(0)
-  },
-  "types" : {
-    "root" : {
-      "icon" : "/static/3.3.2/assets/images/tree_icon.png",
-      "valid_children" : ["default"]
-    },
-    "default" : {
-      "valid_children" : ["default","file"]
-    },
-    "file" : {
-      "icon" : "glyphicon glyphicon-file",
-      "valid_children" : []
-    }
-  },
-  "plugins" : [
-    "contextmenu", "dnd", "search",
-   "types"
-  ],
-  "search": {
+      "core": {
+        "animation": 0,
+        "check_callback": true,
+        "themes": {
+          "stripes": false,
+          "dots": false
+        },
+        'data': (TYPE == "childs" ? translate(0, procesy) : translate(0, res))
+      },
+      "types": {
+        "default": {
+          "icon": "glyphicon glyphicon-folder-open",
+        },
+        "proces": {
+          "icon": "glyphicon glyphicon-file",
+        },
+        "stanowiska": {
+          "icon": "glyphicon glyphicon glyphicon-user",
+        },
+        "zasoby": {
+          "icon": "glyphicon glyphicon glyphicon-hdd",
+        },
+      },
+      "plugins": [
+        "contextmenu",  "search",
+        "types"
+      ],
+      "search": {
         // search config
         "show_only_matches": true,
-        },
-  "contextmenu":{
-    "items": function(node) {
-        var tree = $("#tree").jstree(true);
-        var id = node.id;
-        return {
-            "ProcesEditor": {
-                "separator_before": false,
-                "separator_after": false,
-                "label": "Edytor procesów",
-                "action": function (obj) {
-                  window.location = BASE_URL+'index.php?_route=UrlAction_procesEditor&id='+id;
-                }
-            },
-            "EditProces": {
-                "separator_before": false,
-                "separator_after": false,
-                "label": "Edytuj proces",
-                "action": function (obj) {
-                  window.location = BASE_URL+'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES#EDIT/'+id;
-                }
-            },
-            "AddPytania": {
-                "separator_before": false,
-                "separator_after": true,
-                "label": "Edytuj pytania",
-                "action": function (obj) {
-                  window.location = BASE_URL+'procesy5.php?task=CRM_TESTY_ADD_PYTANIA&id_proces='+id;
-                }
-            },
-
-            "ProcesMap": {
-                "separator_before": false,
-                "separator_after": false,
-                "label": "Mapa procesu",
-                "action": function (obj) {
-                  window.location = BASE_URL+'index.php?FUNCTION_INIT=GRAPH_VIEW_PROCES&PROCES_INIT_SCAN=1&id_proces='+id;
-                }
-            },
-            "ListView": {
-                "separator_before": false,
-                "separator_after": false,
-                "label": "Widok listy",
-                "action": function (obj) {
-                  window.location = BASE_URL+'procesy5.php?task=PROCES_VIEW_LIST&HIDE_PANEL=0&show_big_img=1&group_stanowiska=1&id_proces='+id;
-                }
-            },
-            "AddResource": {
-                "separator_before": true,
-                "separator_after": false,
-                "label": "Dodaj zasób",
-                "action": function (obj) {
-                  window.location = BASE_URL+'index.php?MENU_INIT=PROCES_ADD_ZASOB&task=CRM_PROCES&procesID='+id;
-                }
-            },
-            "AddChild": {
-                "separator_before": false,
-                "separator_after": false,
-                "label": "Dodaj dziecko",
-                "action": function (obj) {
-                  window.location = BASE_URL+'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES&ff_PARENT_ID='+id+'#CREATE';
-                }
-            },
-
+      },
+      "contextmenu": {
+        "items": customMenu
+      }
+    });
 
+  }
 
-        };
+  function renderPanels() {
+    $("#view").html("<div id=ulproc><div id=procCon><div class=clearfix></div></div></div>");
+    //console.log(procesy);
+    if (localStorage.getItem(TYPE) !== null) {
+      var arr = JSON.parse( localStorage.getItem(TYPE) );
+      $.each(arr, function(i, e){
+        createPanel(e["ID"], i, e["TYPE"]);
+      });
+    }else{
+      createPanel(START_ID, 0, TYPE);
     }
-}
-});
+  }
 
+  function createPanel(id, depth, type) {
+    state.splice(depth);
+    var temp = {};
+    temp["ID"] = id;
+    var inherit = $("#depth" + (depth - 1)).data("type");
+    if ("connect" == inherit)
+      inherit = "childs";
+
+    if ("aliasChilds" == inherit)
+      inherit = "res";
+
+    if ("gotoChilds" == inherit)
+      inherit = "childs";
+
+
+    if (type == "inherit")
+      type = inherit;
+
+    if (type == "childs" && procesy[id]["childs"].length == 0)
+      type = "details";
+
+
+    if (type == "alias")
+      type = "detailsRes";
+
+    if (type == "res" && res[id]["childs"].length == 0)
+      type = "detailsRes";
+    temp["TYPE"] = type;
+    temp["FOCUS"] = 0;
+    state[depth] = temp;
+    if(depth > 0)
+    state[depth-1]["FOCUS"] = id;
+    //console.log(state);
+    renderPanel(depth);
   }
 
-  function renderPanels(){
+  function renderPanel(depth) {
+    var type = state[depth]["TYPE"];
+    var id = state[depth]["ID"];
+    var link = BASE_URL + "index.php?_route=UrlAction_ProcesView&_task=getDetailsAjax&id=" + id;
+    if ("connect" == type)
+      link = BASE_URL + "index.php?_route=UrlAction_ProcesView&_task=getConnectedProcAjax&id=" + id;
+      $("#depth" + (depth - 1)).nextAll(".singleAdv").remove();
+      var target = $("<div class=singleAdv data-depth=" + depth + " id=depth" + depth + " data-parent=" + id + " data-type=" + type + " ></div>");
+      target.appendTo("#procCon");
+      $("#procCon").css("width", depth * 460 + 460);
+      $("#ulproc").scrollLeft(depth * 460 + 460);
 
-    $("#view").empty();
+    $.get(link, function(exp) {
 
-    var next = 0;
-    var result = "";
-    var depth = 0;
-    var previous = false;
-    result += "<div id=ulproc><div id=procCon>";
-    while(next !== false){
-      depth++;
+      //console.log(procesy);
 
       //console.log(next);
-      result += "<div class=singleAdv data-depth=0 id=depth0 data-parent="+next+" ><ul  class='singleAdvList list-group' list-group'  style=margin-bottom:0px;>";
-      var details = false;
-      //console.log("next: ", next);
-      //console.log("prev: ", previous);
-      if(previous !== false)
-      //console.log("x", state[previous]["details"]);
-      if(previous !== false && state[previous]["details"] == true){
-        //console.log("ok");
-        result += getDetails(state[next]);
-        details = true;
-        next = false;
+      var result = "";
+
+      result += "<li ";
+      if(id != 0){
+        if("childs" == type || "goto" == type || "details" == type)
+          result += "data-opis='" + procesy[id]["OPIS"] + "' data-desc='" + procesy[id]["DESC"] + "'  data-id=" + id + " ";
+        else
+          result += "data-opis='" + res[id]["OPIS"] + "' data-desc='" + res[id]["DESC"] + "'  data-id=" + id + " ";
+      }
+      if ("childs" == type)
+        result += "class='list-group-item disabled-item normalChilds'>" + (id == 0 ? "Procesy" : "{" + id + "} Procesy podrzędne");
+      if ("details" == type)
+        result += "class='list-group-item disabled-item normalChilds '>{" + id + "} Szczegóły";
+      if ("res" == type || "alias" == type)
+        result += "class='list-group-item disabled-item normalChilds'>" + (id == 0 ? "Zasoby" : "[" + id + "] Zasoby podrzędne");
+      if ("detailsRes" == type)
+        result += "class='list-group-item disabled-item normalChilds'>[" + id + "] Szczegóły";
+      if ("goto" == type)
+        result += "class='list-group-item disabled-item normalChilds'>{" + id + "} Procesy podrzędne";
+      if ("connect" == type)
+        result += "class='list-group-item disabled-item normalChilds'>[" + id + "] Procesy powiązane";
+      if(id != 0 && "connect" != type){
+        result += "<div style=float:right;><div class='dropdown '>";
+
+        if ("goto" == type || "details" == type || "childs" == type) {
+        result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenuP" + procesy[id]["ID"] + "'></span>";
+        result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenuP' + procesy[id]["ID"] + '">';
+        }
+        if ("res" == type || "alias" == type || "connect" == type || "detailsRes" == type) {
+          result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenuR" + res[id]["ID"] + "'></span>";
+          result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenuR' + res[id]["ID"] + '">';
+        }
+
+        if("detailsRes" != type && "details" != type)
+          result += '<li><a href="" class=details>Szczegóły</a></li>';
+
+          if ("goto" == type || "details" == type || "childs" == type) {
+            data = procesy[id];
+
+            result += '<li><a href="' + BASE_URL + 'index.php?_route=UrlAction_procesEditor&id=' + data["ID"] + '">Edytor procesu</a></li>';
+            result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES#EDIT/' + data["ID"] + '">Edytuj proces</a></li>';
+            result += '<li><a href="' + BASE_URL + 'index.php?MENU_INIT=PROCES_ADD_ZASOB&task=CRM_PROCES&procesID=' + data["ID"] + '">Dodaj zasób</a></li>';
+            result += '<li><a href="' + BASE_URL + 'procesy5.php?task=CRM_TESTY_ADD_PYTANIA&id_proces=' + data["ID"] + '">Edytuj Pytania</a></li>';
+            result += '<li><a href="' + BASE_URL + 'index.php?FUNCTION_INIT=GRAPH_VIEW_PROCES&PROCES_INIT_SCAN=1&id_proces=' + data["ID"] + '">Mapa procesu</a></li>';
+            result += '<li><a href="' + BASE_URL + 'procesy5.php?task=PROCES_VIEW_LIST&HIDE_PANEL=0&show_big_img=1&group_stanowiska=1&id_proces=' + data["ID"] + '">Widok listy</a></li>';
+            result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES&ff_PARENT_ID=' + data["ID"] + '#CREATE">Dodaj dziecko</a></li>';
+          }
+
+          if ("res" == type || "alias" == type || "connect" == type || "detailsRes" == type) {
+            data = res[id];
+            result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_LISTA_ZASOBOW#EDIT/' + data["ID"] + '">Edytuj zasób</a></li>';
+            result += '<li><a href="" class=connect>Procesy powiązane</a></li>';
+          }
+
+        result += '</ul>';
+        result += "</div><div>";
+      }
+      result += "</li>";
+
+
+      result += "<ul class='singleAdvList list-group' style=margin-bottom:0px;>";
+
+      if (("details" == type && "res" != $("#depth" + (depth - 1)).data("type"))) {
+        result += getDetails(procesy[id], exp, "proces");
+      }
+      if (("details" == type && "res" == $("#depth" + (depth - 1)).data("type")) || "detailsRes" == type) {
+        result += getDetails(res[id], exp, "res");
       }
 
-      if(!details ){
-          if(state[next]["childs"].length > 0){
-          $.each(state[next]["childs"], function(i, e){
-              if(state[next]["active"] == e["ID"])
-                result += getView(state[e["ID"]], true);
-              else
-                result += getView(state[e["ID"]], false);
+      if ("childs" == type || "gotoChilds" == type) {
+        if (procesy[id]["childs"].length > 0) {
+          $.each(procesy[id]["childs"], function(i, e) {
+            result += getView(procesy[e["ID"]], false, "proces", depth);
           });
-          previous = next;
-          next = state[next]["active"];
         } else {
-          result += getDetails(state[next]);
-          next = false;
+          result += getDetails(procesy[id], exp, "proces");
+        }
+      }
 
+      if ("goto" == type) {
+        result += getDetails(procesy[id], exp);
+      }
+
+      if ("connect" == type) {
+        if (exp["wsk"].length > 0) {
+          $.each(exp["wsk"], function(i, e) {
+            result += getView(procesy[e["ID_PROCES"]], false, "childs", depth);
+          });
+        } else {
+          result += "<li class='list-group-item disabled-item list-group-item-danger'>Brak procesów powiązanych.</li>";
         }
-    }
+      }
+
+      if ("res" == type || "aliasChilds" == type) {
+        if (res[id]["childs"].length > 0) {
+          $.each(res[id]["childs"], function(i, e) {
+            result += getView(res[e["ID"]], false, "res", depth);
+          });
+        } else {
+          result += getDetails(res[id], exp);
+        }
+      }
+
+      if ("alias" == type) {
+        result += getDetails(res[id], exp);
+      }
 
       result += "</ul></div>";
 
 
-    }
-    result += "<div class=clearfix></div></div></div>";
-    $("#ulproc").scrollTop(0);
-    $("#view").html(result);
-    $("#procCon").css("width", depth * 460);
-    $("#ulproc").scrollLeft(depth * 460);
-    $(".singleAdv").css("height", $( window ).height()-100 + "px");
+      $("#ulproc").scrollTop(0);
+      target.html(result);
+      $(".singleAdvList").css("height", $(window).height() - 200 + "px");
 
 
+    });
     //console.log(result);
-
+    localStorage.setItem( TYPE, JSON.stringify(state) );
   }
 
-  function render(){
-    if(panels){
-      console.log("panels");
+  function render() {
+    if (panels) {
+      //console.log("panels");
       renderPanels();
-    }else{
-      console.log("drzewo");
+    } else {
+      //console.log("drzewo");
       renderTree();
     }
   }
 
-  function updateParent(id, parent, item){
+  function updateParent(id, parent, item) {
     var link = BASE_URL + 'wfs-data.php/default_db/?SERVICE=WFS&VERSION=1.0.0&SRSNAME=EPSG:3003&';
 
     var req = `
@@ -227,98 +433,273 @@ xsi:schemaLocation="` + BASE_URL + `wfs/default_db/CRM_PROCES ` + BASE_URL + `de
 xmlns:gml="http://www.opengis.net/gml">
 <Insert xmlns="http://www.opengis.net/wfs">
 <CRM_PROCES xmlns="` + BASE_URL + `wfs/default_db/CRM_PROCES">
-<ID xmlns="` + BASE_URL + `wfs/default_db/CRM_PROCES">`+id+`</ID>
-<PARENT_ID xmlns="` + BASE_URL + `wfs/default_db/CRM_PROCES">`+parent+`</PARENT_ID>
+<ID xmlns="` + BASE_URL + `wfs/default_db/CRM_PROCES">` + id + `</ID>
+<PARENT_ID xmlns="` + BASE_URL + `wfs/default_db/CRM_PROCES">` + parent + `</PARENT_ID>
 </CRM_PROCES>
 </Insert>
 </Transaction>`;
-console.log(req);
-$.ajax({
-    url: link,
-    data: req,
-    type: 'POST',
-    contentType: "text/xml",
-    dataType: "text",
-    success: function(data) {
-      return true;
-    },
-    error: function(xhr, ajaxOptions, thrownError) {
+    //console.log(req);
+    $.ajax({
+      url: link,
+      data: req,
+      type: 'POST',
+      contentType: "text/xml",
+      dataType: "text",
+      success: function(data) {
+        return true;
+      },
+      error: function(xhr, ajaxOptions, thrownError) {
         $(item).sortable('cancel');
         $.notify("Brak połączenia z bazą danych", "error");
+      }
+    });
+
+  }
+
+  $(document).on("click", ".toggleRoute", function(){
+
+    var obj = $(this).closest(".singleAdv");
+    var id = $(obj).data("parent");
+    var type = $(obj).data("type");
+
+    if($(this).data("state") == 0){
+      $(this).data("state", 1);
+      $(this).text("UKRYJ ŚCIEŻKĘ");
+      $(this).parent().find(".route").html("<ul style=list-style:none;padding-left:0px;>"+showTree(id, type, 0)+"</ul>");
+      var depth = 0;
+      $(this).parent().find(".route").find("li").each(function(){
+        $(this).css("padding-left", depth);
+        depth += 16;
+      });
+      $(this).parent().find(".route").show();
+    }else{
+      $(this).data("state", 0);
+      $(this).text("POKAŻ ŚCIEŻKĘ");
+      $(this).parent().find(".route").hide();
+      $(this).parent().find(".route").html("");
     }
   });
 
+  function showTree(id, type, count) {
+      //console.log(count);
+      if(id == "#" || count >= 100)
+        return "";
+      if(type == "detailsRes" || type == "alias")
+        if(typeof res[id]["DESC"] != "undefined")
+          return showTree(res[id]["PARENT_ID"], "detailsRes", count+1)+"<li style=padding-left:0px;><span class='glyphicon glyphicon-arrow-right'></span> " + res[id]["DESC"] + "</li>";
+        else
+          return "";
+      else
+        if(typeof procesy[id]["DESC"] != "undefined")
+          return showTree(procesy[id]["PARENT_ID"], "detailsProc", count+1)+"<li style=padding-left:0px;><span class='glyphicon glyphicon-arrow-right'></span> " + procesy[id]["DESC"] + "</li>";
+        else
+          return "";
   }
 
-  function getDetails(e){
-    console.log("test", e);
+
+
+  function getDetails(e, data, type) {
+
+    //console.log("test", e);
     var result = "";
-    result += '<div class="panel panel-primary">';
-    result += '<div class="panel-heading"><h3 class="panel-title">[' + e["ID"] + '] ' + e["DESC"] + '</h3></div>';
+    if(type == "proces")
+      result += '<div class="panel panel-info" style=margin-bottom:0px;>';
+    else
+      result += '<div class="panel panel-success" style=margin-bottom:0px;>';
+    result += '<div class="panel-heading"><h3 class="panel-title">' + e["DESC"] + '</h3></div>';
     result += '<div class="panel-body pbody">';
-    result += '<b>Opis: </b>' + e["OPIS"];
-
+    result += e["OPIS"];
+    result += '<div class=toggleRoute data-state=0>POKAŻ ŚCIEŻKĘ</div>';
+    result += '<div class=route></div>';
     result += '</div>';
     result += '</div>';
+
+    if (data["wsk"].length > 0 && type == "proces") {
+      result += "<li class='list-group-item disabled-item list-group-item-success'>Zasoby powiązane</li>";
+      result += "<ul class='singleAdvList list-group' list-group' style=margin-bottom:0px;>";
+      $.each(data["wsk"], function(i, e) {
+        id = e["ID_ZASOB"];
+        if (typeof res[id] !== "undefined") {
+          result += "<li class='list-group-item liProc wsk'";
+          result += "data-opis='" + res[id]["OPIS"] + "' data-desc='" + res[id]["DESC"] + "'  data-id=" + res[id]["ID"] + " >";
+          result += '<div class="textTable">';
+          result += "<span class=detailsTable>" + res[id]["ID"] + "</span> ";
+          result += res[id]["DESC"];
+          result += "</div>"
+          result += "<div style=float:right;><span class='glyph glyphicon gl glyphicon-triangle-right'></span>";
+          result += "<div class='dropdown '>";
+          result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenu" + res[id]["ID"] + "'></span>";
+          result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenu' + res[id]["ID"] + '">';
+          result += '<li><a href="" class=details>Szczegóły</a></li>';
+          result += '</ul>';
+          result += "</div>";
+          result += '</div><div class=clearfix></div></li>';
+        }
+      });
+      result += "</ul>";
+    }
     return result;
   }
 
-  function getView(data, active){
+  $(document).on("click", ".goto", function() {
+    $(this).parents(".singleAdv").find(".active").removeClass("active");
+    $(this).parents(".singleAdv").find(".list-group-item-info").removeClass("list-group-item-info");
+    $(this).addClass("list-group-item-info");
+    var parent_id = $(this).data("id");
+    var id = procesy[parent_id]["ID"];
+    var depth = $(this).closest(".singleAdv").data("depth") + 1;
+
+    createPanel(id, depth, "goto");
+    return false;
+  });
+
+  $(document).on("click", ".alias", function() {
+    $(this).parents(".singleAdv").find(".active").removeClass("active");
+    $(this).parents(".singleAdv").find(".list-group-item-info").removeClass("list-group-item-info");
+    $(this).addClass("list-group-item-info");
+    var parent_id = $(this).data("id");
+    var id = res[parent_id]["ID"];
+    var depth = $(this).closest(".singleAdv").data("depth") + 1;
+
+    createPanel(id, depth, "alias");
+    return false;
+  });
+
+  function getView(data, active, type, depth) {
     var result = "";
-    var childs = true;
-    var type = 0;
     var style = "";
-    switch(data["TYPE"]){
-      case "PROCES_INIT":    style = 'style="background-color:#ffe5e5;color:#333"';break;
-      case "PROCES":         style = 'style="background-color:#ededed;color:#333"';break;
-      case "PROCES_GROUP_1": style = 'style="background-color:#9999cc;color:#fff"';break;
-      case "PROCES_GROUP_2": style = 'style="background-color:#d8d8b2;color:#fff"';break;
-      default:               style = 'style="background-color:#ededed;color:#333"';break;
+    switch (data["TYPE"]) {
+      case "PROCES_INIT":
+        style = 'style="background-color:#ffe5e5;color:#333"';
+        break;
+      case "PROCES":
+        style = 'style="background-color:#ededed;color:#333"';
+        break;
+      case "PROCES_GROUP_1":
+        style = 'style="background-color:#9999cc;color:#fff"';
+        break;
+      case "PROCES_GROUP_2":
+        style = 'style="background-color:#d8d8b2;color:#fff"';
+        break;
+      default:
+        style = 'style="background-color:#ededed;color:#333"';
+        break;
     }
 
-    result += "<li class='list-group-item liProc "+(active ? "active" : "")+"'; ";
+    result += "<li class='list-group-item liProc " + (state[depth]["FOCUS"] == data["ID"] ? "active" : "") + "'; ";
     result += "data-opis='" + data["OPIS"] + "' data-desc='" + data["DESC"] + "'  data-id=" + data["ID"] + " >";
     result += '<div class="textTable">'
-    result += "<span class=detailsTable "+style+">" + data["ID"] + "</span> "
-    result += data["DESC"] + "</div>"
+    result += "<span class=detailsTable " + style + ">" + data["ID"] + "</span> "
+    result += data["DESC"];
+    result += "</div>"
     result += "<div style=float:right;><span class='glyph glyphicon gl glyphicon-triangle-right'></span>";
     result += "<div class='dropdown '>";
-    result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenu"+data["ID"]+"'></span>";
-    result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenu'+data["ID"]+'">';
-    result += '<li><a href="'+BASE_URL+'index.php?_route=UrlAction_procesEditor&id='+data["ID"]+'">Edytor procesu</a></li>';
-    result += '<li><a href="'+BASE_URL+'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES#EDIT/'+data["ID"]+'">Edytuj proces</a></li>';
-    result += '<li><a href="'+BASE_URL+'index.php?MENU_INIT=PROCES_ADD_ZASOB&task=CRM_PROCES&procesID='+data["ID"]+'">Dodaj zasób</a></li>';
-    result += '<li><a href="'+BASE_URL+'procesy5.php?task=CRM_TESTY_ADD_PYTANIA&id_proces='+data["ID"]+'">Edytuj Pytania</a></li>';
-    result += '<li><a href="'+BASE_URL+'index.php?FUNCTION_INIT=GRAPH_VIEW_PROCES&PROCES_INIT_SCAN=1&id_proces='+data["ID"]+'">Mapa procesu</a></li>';
-    result += '<li><a href="'+BASE_URL+'procesy5.php?task=PROCES_VIEW_LIST&HIDE_PANEL=0&show_big_img=1&group_stanowiska=1&id_proces='+data["ID"]+'">Widok listy</a></li>';
-    result += '<li><a href="'+BASE_URL+'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES&ff_PARENT_ID='+data["ID"]+'#CREATE">Dodaj dziecko</a></li>';
+    result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenu" + data["ID"] + "'></span>";
+    result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenu' + data["ID"] + '">';
+    if ("proces" == type) {
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=UrlAction_procesEditor&id=' + data["ID"] + '">Edytor procesu</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES#EDIT/' + data["ID"] + '">Edytuj proces</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?MENU_INIT=PROCES_ADD_ZASOB&task=CRM_PROCES&procesID=' + data["ID"] + '">Dodaj zasób</a></li>';
+      result += '<li><a href="' + BASE_URL + 'procesy5.php?task=CRM_TESTY_ADD_PYTANIA&id_proces=' + data["ID"] + '">Edytuj Pytania</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?FUNCTION_INIT=GRAPH_VIEW_PROCES&PROCES_INIT_SCAN=1&id_proces=' + data["ID"] + '">Mapa procesu</a></li>';
+      result += '<li><a href="' + BASE_URL + 'procesy5.php?task=PROCES_VIEW_LIST&HIDE_PANEL=0&show_big_img=1&group_stanowiska=1&id_proces=' + data["ID"] + '">Widok listy</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES&ff_PARENT_ID=' + data["ID"] + '#CREATE">Dodaj dziecko</a></li>';
+    }
+
+    if ("res" == type) {
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_LISTA_ZASOBOW#EDIT/' + data["ID"] + '">Edytuj zasób</a></li>';
+      result += '<li><a href="" class=connect>Procesy powiązane</a></li>';
+    }
     //result += '<li><a href="'+BASE_URL+''+$(this).find("ID").text()+'">Widok listy</a></li>';
     result += '<li><a href="" class=details>Szczegóły</a></li>';
     result += '</ul>';
     result += "</div>";
     result += '</div><div class=clearfix></div></li>';
 
-    if (!childs) {
-        result += getDetails(parent);
+    if (data["IF_TRUE_GOTO"] != 0 && type == "proces") {
+      var goto = data["IF_TRUE_GOTO_FLAG"];
+      var id = data["IF_TRUE_GOTO"];
+      data = procesy[id];
+      result += "<li class='list-group-item goto " + (state[depth]["FOCUS"] == data["ID"] ? "list-group-item-info" : "") + "'; ";
+      result += "data-opis='" + data["OPIS"] + "' data-desc='" + data["DESC"] + "'  data-id=" + data["ID"] + " style=border-top-style:none;>";
+      result += "";
+      result += '<div class="textTable">'
+      result += "<span class=gotoInfo><span class='glyphicon glyphicon-arrow-right'></span> " + goto + " </span><span class=gotoWay>" + data["ID"] + "</span>";
+      result += "</div>"
+      result += "<div style=float:right;><span class='glyph glyphicon gl glyphicon-triangle-right'></span>";
+      result += "<div class='dropdown '>";
+      result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenu" + data["ID"] + "'></span>";
+      result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenu' + data["ID"] + '">';
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=UrlAction_procesEditor&id=' + data["ID"] + '">Edytor procesu</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES#EDIT/' + data["ID"] + '">Edytuj proces</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?MENU_INIT=PROCES_ADD_ZASOB&task=CRM_PROCES&procesID=' + data["ID"] + '">Dodaj zasób</a></li>';
+      result += '<li><a href="' + BASE_URL + 'procesy5.php?task=CRM_TESTY_ADD_PYTANIA&id_proces=' + data["ID"] + '">Edytuj Pytania</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?FUNCTION_INIT=GRAPH_VIEW_PROCES&PROCES_INIT_SCAN=1&id_proces=' + data["ID"] + '">Mapa procesu</a></li>';
+      result += '<li><a href="' + BASE_URL + 'procesy5.php?task=PROCES_VIEW_LIST&HIDE_PANEL=0&show_big_img=1&group_stanowiska=1&id_proces=' + data["ID"] + '">Widok listy</a></li>';
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_PROCES&ff_PARENT_ID=' + data["ID"] + '#CREATE">Dodaj dziecko</a></li>';
+      //result += '<li><a href="'+BASE_URL+''+$(this).find("ID").text()+'">Widok listy</a></li>';
+      result += '<li><a href="" class=details>Szczegóły</a></li>';
+      result += '</ul>';
+      result += "</div>";
+      result += '</div><div class=clearfix></div></blockqoute></li>';
     }
+
+    if (data["ALIAS_ID"] != 0 && type == "res") {
+      var id = data["ALIAS_ID"];
+      data = res[id];
+      result += "<li class='list-group-item alias " + (state[depth]["FOCUS"] == data["ID"] ? "list-group-item-info" : "") + "'; ";
+      result += "data-opis='" + data["OPIS"] + "' data-desc='" + data["DESC"] + "'  data-id=" + data["ID"] + " style=border-top-style:none;>";
+      result += "";
+      result += '<div class="textTable">'
+      result += "<span class=gotoInfo><span class='glyphicon glyphicon-arrow-right'></span> ALIAS </span><span class=gotoWay>" + data["ID"] + "</span>";
+      result += "</div>"
+      result += "<div style=float:right;><span class='glyph glyphicon gl glyphicon-triangle-right'></span>";
+      result += "<div class='dropdown '>";
+      result += "<span class='glyph glyphicon glyphicon glyphicon-menu-hamburger dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true' id='dropdownMenu" + data["ID"] + "'></span>";
+      result += '<ul class="dropdown-menu dropdown-menu-right" style=z-index:100 aria-labelledby="dropdownMenu' + data["ID"] + '">';
+      result += '<li><a href="' + BASE_URL + 'index.php?_route=ViewTableAjax&typeName=p5_default_db:CRM_LISTA_ZASOBOW#EDIT/' + data["ID"] + '">Edytuj zasób</a></li>';
+      result += '<li><a href="" class=connect>Procesy powiązane</a></li>';
+      result += '<li><a href="" class=details>Szczegóły</a></li>';
+      result += '</ul>';
+      result += "</div>";
+      result += '</div><div class=clearfix></div></blockqoute></li>';
+    }
+
     return result;
   }
 
-  $(document).on('click', '.details', function(e) {
+  $(document).on('click', '.connect', function(e) {
     e.preventDefault();
     $(this).parents(".singleAdv").nextAll(".singleAdv").remove();
     $(this).parents(".singleAdv").find(".active").removeClass("active");
-    $(this).find(".gl").removeClass("glyphicon-triangle-right");
-    $(this).find(".gl").addClass("glyphicon-refresh");
-    $(this).find(".gl").addClass("anim-refresh");
+    $(this).parents(".singleAdv").find(".list-group-item-info").removeClass("list-group-item-info");
+    $(this).parents(".liProc").addClass("active");
     $('.dropdown.open .dropdown-toggle').dropdown('toggle');
-    var parent = $(this).closest(".liProc");
-    var parent_id = $(parent).data("id");
+    var parent_id = $(this).closest(".list-group-item").data("id");
     var parentOfParent_id = $(this).closest(".singleAdv").data("parent");
-    state[parentOfParent_id]["active"] = parent_id;
-    state[parentOfParent_id]["details"] = true;
+    var depth = $(this).closest(".singleAdv").data("depth") + 1;
+    createPanel(parent_id, depth, "connect");
+
 
-    render();
+  });
+
+  $(document).on('click', '.details', function(e) {
+    e.preventDefault();
+    $(this).parents(".singleAdv").nextAll(".singleAdv").remove();
+    $(this).parents(".singleAdv").find(".active").removeClass("active");
+    $(this).parents(".singleAdv").find(".list-group-item-info").removeClass("list-group-item-info");
+    $(this).parents(".liProc").addClass("active");
+    $('.dropdown.open .dropdown-toggle').dropdown('toggle');
+    var parent_id = $(this).closest(".list-group-item").data("id");
+    var parentOfParent_id = $(this).closest(".singleAdv").data("parent");
+    var depth = $(this).closest(".singleAdv").data("depth") + 1;
+    if ($(this).closest(".list-group-item").hasClass("wsk") || $(this).closest(".singleAdv").data("type") == "res" || $(this).closest(".list-group-item").hasClass("alias")) {
+      createPanel(parent_id, depth, "detailsRes");
+      //console.log("detailsRes");
+    } else {
+      createPanel(parent_id, depth, "details");
+      //console.log("details");
+    }
     initSortable();
   });
 
@@ -330,84 +711,86 @@ $.ajax({
     e.stopPropagation();
   });
 
-  $(document).on('click', '#toggleMenu' ,function(e){
+  $(document).on('click', '#toggleMenu', function(e) {
     e.preventDefault();
-    if(!menuShow){
-    $("#SE-menu").show();
-    $("#SE-menu-sub").show();
-    menuShow = true;
-  }else{
-    menuShow = false;
-    $("#SE-menu").hide();
-    $("#SE-menu-sub").hide();
-  }
+    if (!menuShow) {
+      $("#SE-menu").show();
+      $("#SE-menu-sub").show();
+      menuShow = true;
+    } else {
+      menuShow = false;
+      $("#SE-menu").hide();
+      $("#SE-menu-sub").hide();
+    }
   });
 
-  $(document).on('click', '#toggleView' ,function(e){
+  $(document).on('click', '#toggleView', function(e) {
     e.preventDefault();
-    if(!panels){
-    panels = true;
-    render();
-  }else{
-    panels = false;
-    render();
-  }
-  });
-
-  $(document).on('click', '.liProc', function() {
-      $(this).parents(".singleAdv").nextAll(".singleAdv").remove();
-      $(this).parents(".singleAdv").find(".active").removeClass("active");
-      $(this).find(".gl").removeClass("glyphicon-triangle-right");
-      $(this).find(".gl").addClass("glyphicon-refresh");
-      $(this).find(".gl").addClass("anim-refresh");
-      $(this).addClass("active");
-      var parent = this;
-      var parent_id = $(this).data("id");
-      var parentOfParent_id = $(this).closest(".singleAdv").data("parent");
-      //console.log(link);
-      var childs = true;
-      state[parentOfParent_id]["active"] = parent_id;
-      state[parentOfParent_id]["details"] = false;
+    if (!panels) {
+      panels = true;
+      render();
+    } else {
+      panels = false;
       render();
-      initSortable();
+    }
   });
 
-function initSortable(){
-  $( ".singleAdvList" ).sortable({
-  items: "li",
-  connectWith: ".singleAdvList",
-  beforeStop: function(ev, ui) {
-      if($(ui.item).data("id") == $(ui.placeholder).closest(".singleAdv").data("parent") || $(ui.item).hasClass("active")){
-        $(this).sortable('cancel');
-        $.notify("Nielogiczny ruch.", "error");
-      }
+  $(document).on('click', '.liProc', function() {
 
-    },
-    stop: function(ev, ui) {
-      updateParent($(ui.item).data("id"),$(ui.item).closest(".singleAdv").data("parent"), this);
-      },
-  }).disableSelection();
+    $(this).parents(".singleAdv").find(".active").removeClass("active");
+    $(this).parents(".singleAdv").find(".list-group-item-info").removeClass("list-group-item-info");
+    $(this).addClass("active");
+    var parent_id = $(this).data("id");
+    var parentOfParent_id = $(this).closest(".singleAdv").data("parent");
+    var depth = $(this).closest(".singleAdv").data("depth") + 1;
+    if ($(this).hasClass("wsk"))
+      createPanel(parent_id, depth, "res");
+    else
+      createPanel(parent_id, depth, "inherit");
+    initSortable();
+  });
 
-}
+  function initSortable() {
+    // $( ".singleAdvList" ).sortable({
+    // items: "li",
+    // connectWith: ".singleAdvList",
+    // cancel: ".disabled-item",
+    // beforeStop: function(ev, ui) {
+    //     if($(ui.item).data("id") == $(ui.placeholder).closest(".singleAdv").data("parent") || $(ui.item).hasClass("active")){
+    //       $(this).sortable('cancel');
+    //       $.notify("Nielogiczny ruch.", "error");
+    //     }
+    //
+    //   },
+    //   stop: function(ev, ui) {
+    //     updateParent($(ui.item).data("id"),$(ui.item).closest(".singleAdv").data("parent"), this);
+    //     },
+    // }).disableSelection();
 
-function start(){
-  var link = BASE_URL + 'index.php?_route=UrlAction_ProcesView&_task=getAllAjax';
-  var result = "";
-  var side = $("#view");
-  var tempF = {};
-  tempF["active"] = false;
-  tempF["details"] = false;
-  tempF["childs"] = [];
-  state[0] = tempF;
+  }
 
-  $.get(link, function(data) {
+  function start() {
+    var link = BASE_URL + 'index.php?_route=UrlAction_ProcesView&_task=getAllAjax';
+    $.get(link, function(data) {
       //console.log("x");
       //console.log(data);
-      state = data;
-      render();
+      procesy = data;
+      if (TYPE == "childs")
+        render();
+      //console.log(procesy);
     });
-}
-start();
+    link = BASE_URL + 'index.php?_route=UrlAction_ProcesView&_task=getAllResAjax';
+    $.get(link, function(data) {
+      //console.log("x");
+      //console.log(data);
+      res = data;
+      if (TYPE == "res")
+        render();
+      //console.log(res);
+
+    });
+  }
+  start();
 
 
 });