[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [11243] test ajax menu
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [11243] test ajax menu |
Date: |
Wed, 31 Jul 2013 15:44:46 +0000 |
Revision: 11243
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11243
Author: sigurdne
Date: 2013-07-31 15:44:45 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
test ajax menu
Modified Paths:
--------------
trunk/property/js/yahoo/test.menu.js
trunk/property/test_menu.php
Modified: trunk/property/js/yahoo/test.menu.js
===================================================================
--- trunk/property/js/yahoo/test.menu.js 2013-07-30 15:04:43 UTC (rev
11242)
+++ trunk/property/js/yahoo/test.menu.js 2013-07-31 15:44:45 UTC (rev
11243)
@@ -38,9 +38,10 @@
//on which we'll search for related words:
//var nodeLabelElId = encodeURI(node.labelElId);
+
var mapping_str = node.labelElId
mapping_id = mapping_str.replace('ygtvlabelel','');
- var app = mapping[mapping_id];
+ var app = mapping[mapping_id]['name'];
//prepare URL for XHR request:
var oArgs =
{menuaction:'phpgwapi.menu.get_local_menu_ajax',node:app};
@@ -75,9 +76,8 @@
var mapping_str =
tempNode.labelElId
mapping_id =
mapping_str.replace('ygtvlabelel','');
- mapping[mapping_id] =
app + '|' + key;
+ mapping[mapping_id] =
{id: mapping_id, name: app + '|' + key, expanded: false, highlight: false};
-
//----------
var parent_mapping_str
= node.labelElId
parent_mapping_id =
parent_mapping_str.replace('ygtvlabelel','');
@@ -86,18 +86,16 @@
myobj['id'] =
mapping_id;
myobj['isLeaf'] =
is_leaf;
myobj['expanded'] =
false;
- proxy_data.push(myobj);
-//
proxy_data[(mapping_id-1)] = myobj;
+// proxy_data.push(myobj);
+
+//console.log(myobj);
+ proxy_data[mapping_id]
= myobj;
if(parent_mapping_id)
{
-
proxy_data[(parent_mapping_id -1) ]['expanded'] = true;
+
proxy_data[parent_mapping_id]['expanded'] = true;
+
mapping[parent_mapping_id]['expanded'] = true;
}
- //FIXME - move outside
loop
-
sessionStorage.cached_menu_tree_data = JSON.stringify(proxy_data);
-
sessionStorage.cached_mapping = JSON.stringify(mapping);
- //----------
-
// we can tell the tree
node that this is a leaf node so
// that it doesn't try
to dynamically load children.
@@ -117,6 +115,13 @@
tempNode.href = url;
}
}
+
+console.log(proxy_data);
+console.log(mapping);
+
+ sessionStorage.cached_menu_tree_data =
JSON.stringify(proxy_data);
+ sessionStorage.cached_mapping =
JSON.stringify(mapping);
+
}
//When we're done creating child nodes, we
execute the node's
@@ -151,45 +156,37 @@
//make our XHR call using Connection Manager's
//asyncRequest method:
YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
-
-//console.log(mapping);
-//console.log(proxy_data);
-
- //FIXME
-// var json_proxy_data = JSON.stringify(proxy_data);
-// sessionStorage.cached_menu_tree_data = json_proxy_data;
-// sessionStorage.cached_mapping = JSON.stringify(mapping);
-
}
function init() {
- var reset = false;
+ var reset = false;
- if(reset)
- {
- sessionStorage.cached_menu_tree_data = '';
- sessionStorage.cached_mapping = '';
- }
+ if(reset)
+ {
+ sessionStorage.cached_menu_tree_data = '';
+ sessionStorage.cached_mapping = '';
+ }
var menu_tree_data;
var cached_menu_tree_data;
var cached_mapping;
+ var new_mapping = [{name:'first_element_is_dummy'}];
+ var new_proxy_data = ['first_element_is_dummy'];
if(typeof(Storage)!=="undefined")
{
// alert('Yes! localStorage and sessionStorage support!');
cached_menu_tree_data =
sessionStorage.cached_menu_tree_data;
cached_mapping = sessionStorage.cached_mapping;
+
+//alert(cached_menu_tree_data);
}
else
{
alert('Sorry! No web storage support..');
}
-// console.log(apps);
- menu_tree_data = apps;
-
// console.log(menu_tree_data);
if(cached_mapping)
@@ -197,38 +194,36 @@
mapping = JSON.parse(cached_mapping);
}
- if(cached_menu_tree_data !=null && cached_menu_tree_data)
+ menu_tree_data = apps;
+ if(cached_menu_tree_data)
{
-
+//alert(cached_menu_tree_data);
cached_menu_tree_data =
JSON.parse(cached_menu_tree_data);
- proxy_data = cached_menu_tree_data;
-
- if(apps.length < cached_menu_tree_data.length)
- {
- menu_tree_data =
buildHierarchy(cached_menu_tree_data);
- }
+ // proxy_data = cached_menu_tree_data;
+ menu_tree_data = buildHierarchy(cached_menu_tree_data);
}
//create a new tree:
tree = new YAHOO.widget.TreeView("treeDiv1");
- //turn dynamic loading on for entire tree:
-// tree.setDynamicLoad(loadNodeData);
-
// Expand and collapse happen prior to the actual expand/collapse,
// and can be used to cancel the operation
tree.subscribe("expand", function(node) {
var mapping_str = node.labelElId
var mapping_id = mapping_str.replace('ygtvlabelel','');
- alert( mapping_id + " was expanded");
+ alert(mapping_id);
+ // mapping[mapping_id]['expanded'] = true;
+// sessionStorage.cached_mapping = JSON.stringify(mapping);
// return false; // return false to cancel the expand
});
tree.subscribe("collapse", function(node) {
var mapping_str = node.labelElId
var mapping_id = mapping_str.replace('ygtvlabelel','');
- alert(mapping_id + " was collapsed");
+ alert(mapping_id);
+// mapping[mapping_id]['expanded'] = false;
+// sessionStorage.cached_mapping = JSON.stringify(mapping);
});
@@ -239,12 +234,26 @@
function buildTree(menu_tree_data)
{
+//console.log(menu_tree_data);
+//console.log(mapping);
+
var buildBranch = function(node, branch)
{
for (var i = 0; i < branch.length; i++)
{
- var tempNode = new
YAHOO.widget.TextNode({label:branch[i]['value']['label'],
href:branch[i]['value']['href']}, node, branch[i]['value']['expanded']);
+ var tempNode = new
YAHOO.widget.TextNode({label:branch[i]['value']['label'],
href:branch[i]['value']['href']}, node,
mapping[branch[i]['value']['id']]['expanded']);
+ var mapping_str = tempNode.labelElId
+ var mapping_id =
mapping_str.replace('ygtvlabelel','');
+ new_mapping[mapping_id] =
mapping[branch[i]['value']['id']];
+ new_mapping[mapping_id]['id'] =
mapping_id;
+ var parent_mapping_str = node.labelElId
+ parent_mapping_id =
parent_mapping_str.replace('ygtvlabelel','');
+
+/* new_proxy_data[mapping_id]
= proxy_data[branch[i]['value']['id']];
+ new_proxy_data[mapping_id]['id']
= mapping_id;
+ new_proxy_data[mapping_id]['parent'] =
parent_mapping_id;
+*/
if(typeof(branch[i]['children']) !=
'undefined' && branch[i]['children'].length)
{
buildBranch(tempNode,
branch[i]['children']);
@@ -262,19 +271,35 @@
{
var myobj = {
label:
menu_tree_data[i]['value']['label'],
- // href:'javascript:get_html("' +
menu_tree_data[i]['value']['href'] + '");',
href: menu_tree_data[i]['value']['href']
}//,target:"_self" };
+
+
+ var tempNode = new YAHOO.widget.TextNode(myobj,
root, mapping[menu_tree_data[i]['value']['id']]['expanded']);
- var tempNode = new YAHOO.widget.TextNode(myobj,
root, menu_tree_data[i]['value']['expanded']);
+//
if(mapping[menu_tree_data[i]['value']['id']]['highlight'])
+ {
+// tempNode.highlight();
+ }
- id = i + 1;
+ var mapping_str = tempNode.labelElId
+ var mapping_id =
mapping_str.replace('ygtvlabelel','');
+
+ var old_id = menu_tree_data[i]['value']['id'];
+ new_mapping[mapping_id] =
mapping[menu_tree_data[i]['value']['id']];
+ new_mapping[mapping_id]['id'] = mapping_id;
+
+ if(typeof(proxy_data[old_id]) != 'undefined')
+ {
+ new_proxy_data[mapping_id] =
proxy_data[old_id];
+ }
+ //id = i + 1;
+
+ id = mapping_id;
myobj['parent'] = '';
myobj['id'] = id;
myobj['expanded'] = false;
- proxy_data.push(myobj);
- // proxy_data[id] = myobj;
- // proxy_data[id]['expanded'] = false;
+ proxy_data[id] = myobj;
if(typeof(menu_tree_data[i]['children']) !=
'undefined' && menu_tree_data[i]['children'].length)
{
@@ -290,11 +315,17 @@
//will be generated as needed by the dynamic loader.
tree.draw();
+ mapping = new_mapping;
+ if(new_proxy_data.length > 1)
+ {
+ proxy_data = new_proxy_data;
+ }
}
-
buildTree(menu_tree_data);
+//console.log(mapping);
+
//----------test -------------
@@ -303,7 +334,8 @@
var roots = [], children = {};
// find the top level nodes and hash the children based
on parent
- for (var i = 0, len = arry.length; i < len; ++i)
+ // First element is dummy
+ for (var i = 1, len = arry.length; i < len; ++i)
{
var item = arry[i],
p = item.parent,
Modified: trunk/property/test_menu.php
===================================================================
--- trunk/property/test_menu.php 2013-07-30 15:04:43 UTC (rev 11242)
+++ trunk/property/test_menu.php 2013-07-31 15:44:45 UTC (rev 11243)
@@ -25,7 +25,7 @@
$currentapp = $GLOBALS['phpgw_info']['flags']['currentapp'];
$applications = array();
- $mapping = array();
+ $mapping = array(0 => array('name' =>
'first_element_is_dummy'));
$exclude = array('home', 'preferences', 'about', 'logout');
$navbar = execMethod('phpgwapi.menu.get', 'navbar');
@@ -45,6 +45,7 @@
(
'value'=> array
(
+ 'id' => $i,
'label' => $app_data['text'],
// 'href' => str_replace('&','&',
$app_data['url']) . '&phpgw_return_as=noframes',
'href' => str_replace('&','&',
$app_data['url']),
@@ -53,7 +54,14 @@
'children' => array()
);
- $mapping[$i] = $app;
+ $mapping[$i] = array
+ (
+ 'id' => $i,
+ 'name' => $app,
+ 'expanded' => false,
+ 'highlight' => $app == $currentapp ? true :
false
+ );
+
$i ++;
}
$applications = json_encode($applications);
@@ -61,15 +69,18 @@
$html = <<<HTML
<div id="treeDiv1"></div>
- <!--div id="html_content"></div-->
- <iframe id="html_content" width="100%" height="100%"><p>Your
browser does not support iframes.</p></iframe>
<script type="text/javascript">
var apps = {$applications};
var mapping = {$mapping};
- var proxy_data = [];
+ var proxy_data = ['first_element_is_dummy'];
</script>
HTML;
+
+$data =
'["first_element_is_dummy",{"label":"Administrasjon","href":"/~sn5607/savannah_trunk/index.php?menuaction=admin.uimainscreen.mainscreen&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"1","expanded":false},{"label":"Kontakter","href":"/~sn5607/savannah_trunk/index.php?menuaction=addressbook.uiaddressbook.index§ion=Persons&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"2","expanded":false},{"label":"Eiendom","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uitts.index&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"3","expanded":true},{"label":"SMS","href":"/~sn5607/savannah_trunk/index.php?menuaction=sms.uisms.index&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"4","expanded":false},{"label":"!bim","href":"/~sn5607/savannah_trunk/index.php?menuaction=bim.uibim.showModels&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"5","expanded":false},{"label":"Frontend","href":"/~sn5607/savannah_trunk/index.php?menuaction=frontend.uifrontend.index&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"6","expanded":false},{"label":"!messenger","href":"/~sn5607/savannah_trunk/index.php?menuaction=messenger.uimessenger.inbox&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"7","expanded":false},{"label":"Kompetanse
styring","href":"/~sn5607/savannah_trunk/index.php?menuaction=hrm.uiuser.index&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"8","expanded":false},{"label":"Catch","href":"/~sn5607/savannah_trunk/index.php?menuaction=catch.uicatch.index&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"9","expanded":false},{"label":"Leie","href":"/~sn5607/savannah_trunk/index.php?menuaction=rental.uifrontpage.index&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"10","expanded":false},{"label":"Kontroll","href":"/~sn5607/savannah_trunk/index.php?menuaction=controller.uicontrol.control_list&click_history=63f5342fbfd7264eae6ecffa11a7b7c4","parent":"","id":"11","expanded":false},{"label":"Lokalisering","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.index&type_id=1&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"12","isLeaf":false,"expanded":true},{"label":"!IFC","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uiifc.import&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"13","isLeaf":false,"expanded":false},{"label":"Meldinger","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uitts.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"14","isLeaf":false,"expanded":false},{"label":"prosjekt","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uiproject.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"15","isLeaf":false,"expanded":false},{"label":"Planlagte
oppgaver","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uievent.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"16","isLeaf":true,"expanded":false},{"label":"Faktura","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uiinvoice2.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"17","isLeaf":false,"expanded":false},{"label":"Budsjett","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uibudget.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"18","isLeaf":false,"expanded":false},{"label":"Avtale","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uiagreement.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"19","isLeaf":false,"expanded":false},{"label":"Dokumentasjon","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uidocument.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"20","isLeaf":false,"expanded":false},{"label":"Tilpasset","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uicustom.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"21","isLeaf":true,"expanded":false},{"label":"Brukerutstyr","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uientity.index&entity_id=1&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"22","isLeaf":false,"expanded":false},{"label":"Rapportering","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uientity.index&entity_id=2&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"23","isLeaf":false,"expanded":false},{"label":"Bygningsdelsregister","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uientity.index&entity_id=3&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"24","isLeaf":false,"expanded":false},{"label":"UtstyrsRegister::Ny","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uientity.index&entity_id=4&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"25","isLeaf":false,"expanded":false},{"label":"JasperReports","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uijasper.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"3","id":"26","isLeaf":true,"expanded":false},{"label":"Eiendom","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.index&type_id=1&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"27","isLeaf":true,"expanded":false},{"label":"Bygg","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.index&type_id=2&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"28","isLeaf":true,"expanded":false},{"label":"Etasje","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.index&type_id=3&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"29","isLeaf":true,"expanded":false},{"label":"Bruksenhet","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.index&type_id=4&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"30","isLeaf":true,"expanded":false},{"label":"Rom","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.index&type_id=5&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"31","isLeaf":true,"expanded":false},{"label":"GrunnEiendom","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uigab.index&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"32","isLeaf":true,"expanded":false},{"label":"Sammendrag","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.summary&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"33","isLeaf":true,"expanded":false},{"label":"Rolle
for
Ansvarsmatrise","href":"/~sn5607/savannah_trunk/index.php?menuaction=property.uilocation.responsiblility_role&click_history=aa5941db8a41d50b64493e5c4ee3a625","parent":"12","id":"34","isLeaf":true,"expanded":false}]';
+
+//_debug_array(json_decode($data));die();
+
// End--------------------------------------------------
$GLOBALS['phpgw']->common->phpgw_header();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [11243] test ajax menu,
Sigurd Nes <=