diff --git a/javascript/treeview.js b/javascript/treeview.js index e9edbdd..2683b08 100644 --- a/javascript/treeview.js +++ b/javascript/treeview.js @@ -72,12 +72,93 @@ if (imgChild != null) setImages(imgChild, "img/minus.png", "img/folder_open.png"); sibling.style.display = 'block'; + updateCookieOnExpand( sibling.id ); } // Collapse the branch if it IS visible else { + updateCookieOnCollapse( sibling.id ); if (imgChild != null) setImages(imgChild, "img/plus.png", "img/folder_closed.png"); sibling.style.display = 'none'; } } + +function updateCookieOnExpand( id ){ + var openNodes = readCookie( cookieNameRec ); + if (openNodes == null) + openNodes = id; + else if (openNodes == "") + openNodes = id; + else + openNodes += ",.," + id; + createCookie( cookieNameRec, openNodes, 14 ); +} + +function updateCookieOnCollapse( id ){ + var openNodes = readCookie( cookieNameRec ); + if (openNodes != null) + openNodes = openNodes.split(",.,"); + else + openNodes = []; + for (var z=0; z @@ -180,6 +185,8 @@ filter; path[]; int level = 0; + int counter = 0; + string idHash = ""; <%cpp> RecordingsTreePtr recordingsTree(LiveRecordingsManager()->GetRecordingsTree()); @@ -200,6 +207,7 @@ recItems.sort(RecordingsItemPtrCompare::ByAscendingName); for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) { RecordingsItemPtr recItem = *recIter; + counter++;
  • <& rec_item_dir name=(recItem->Name()) level=(level) &> @@ -219,8 +227,11 @@ recItemParams.add("path", recItem->Name()); recItemParams.add("level", lexical_cast(level + 1)); recItemParams.add("filter", filter); + string combinedId = recItem->Name() + "_"; + combinedId += counter + "_" + level; + idHash = MD5Hash(combinedId); -