fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [15357] Stable: Merge 15355:15356 from trunk


From: sigurdne
Subject: [Fmsystem-commits] [15357] Stable: Merge 15355:15356 from trunk
Date: Fri, 1 Jul 2016 13:19:56 +0000 (UTC)

Revision: 15357
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=15357
Author:   sigurdne
Date:     2016-07-01 13:19:56 +0000 (Fri, 01 Jul 2016)
Log Message:
-----------
Stable: Merge 15355:15356 from trunk

Modified Paths:
--------------
    branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/jqtree.scss
    branches/Version-2_0-branch/phpgwapi/templates/portico/js/jqtree_jsmenu.js
    branches/Version-2_0-branch/phpgwapi/templates/portico/navbar.inc.php

Property Changed:
----------------
    branches/Version-2_0-branch/


Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/dev-syncromind:13653
/branches/dev-syncromind-2:14937-15027,15165-15215,15223-15228,15230-15243,15245-15250,15254-15257
/branches/stavangerkommune:12743-12875,12986
/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354
   + /branches/dev-syncromind:13653
/branches/dev-syncromind-2:14937-15027,15165-15215,15223-15228,15230-15243,15245-15250,15254-15257
/branches/stavangerkommune:12743-12875,12986
/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356

Modified: branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/jqtree.scss
===================================================================
--- branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/jqtree.scss   
2016-07-01 13:18:29 UTC (rev 15356)
+++ branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/jqtree.scss   
2016-07-01 13:19:56 UTC (rev 15357)
@@ -1,3 +1,10 @@
+.jstree-icon {
+    background-image: url("../treeview/themes/default/32px.png");
+}
+.jstree-default.jstree-rtl .jstree-node {
+  background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
+}
+
 ul.jqtree-tree {
     list-style: none outside;
     margin-left: 0;

Modified: 
branches/Version-2_0-branch/phpgwapi/templates/portico/js/jqtree_jsmenu.js
===================================================================
--- branches/Version-2_0-branch/phpgwapi/templates/portico/js/jqtree_jsmenu.js  
2016-07-01 13:18:29 UTC (rev 15356)
+++ branches/Version-2_0-branch/phpgwapi/templates/portico/js/jqtree_jsmenu.js  
2016-07-01 13:19:56 UTC (rev 15357)
@@ -1,3 +1,37 @@
+$(document).ready(function ()
+{
+       var tree = $('#navbar');
+       setTimeout(function ()
+       {
+               tree.tree({
+                       data: treemenu_data,
+                       autoEscape: false,
+                       dragAndDrop: true,
+                       autoOpen: false,
+                       saveState: true,
+                       useContextMenu: false,
+                       onCreateLi: function (node, $li)
+                       {
+                               // Add 'icon' span before title
+                               $li.find('.jqtree-title').before('<span 
class="jstree-icon"></span>');
+                               tree.tree('removeFromSelection', node);
+                               if (typeof (current_node_id) != 'undefined' && 
current_node_id > 0 && node.id == current_node_id)
+                               {
+               //                      console.log(current_node_id);
+                                       tree.tree('addToSelection', node);
+                                       var parent = node.parent;
+                                       while (typeof (parent.element) !== 
'undefined')
+                                       {
+                                               tree.tree('openNode', parent, 
false);
+                                               //              
tree.tree('addToSelection', parent);
+                                               parent = parent.parent;
+                                       }
+                               }
+                       }
+               });
+       }, 50);
+
+});
 //$(document).ready(function () {
 //    var tree = $('#navbar'),
 //        filter = $('#navbar_search'),
@@ -74,13 +108,13 @@
 $(function ()
 {
 
-       $('#navbar').tree({
-               data: treemenu_data,
-               autoEscape: false,
-               autoOpen: 0,
-               saveState: true,
-               dragAndDrop: true
-       });
+//     $('#navbar').tree({
+//             data: treemenu_data,
+//             autoEscape: false,
+//             autoOpen: 0,
+//             saveState: true,
+//             dragAndDrop: true
+//     });
 
 
        $('#navbar_search').hide();
@@ -88,15 +122,16 @@
        $('#collapseNavbar').on('click', function ()
        {
                $(this).attr('href', 'javascript:;');
-  
+
                var $tree = $('#navbar');
                var tree = $tree.tree('getTree');
 
-        tree.iterate(
-            function(node) {
+               tree.iterate(
+                       function (node)
+                       {
                                $tree.tree('closeNode', node, true);
-             }
-        );
+                       }
+               );
 
                $('#navbar_search').hide();
        })
@@ -108,11 +143,12 @@
                var $tree = $('#navbar');
                var tree = $tree.tree('getTree');
 
-        tree.iterate(
-            function(node) {
+               tree.iterate(
+                       function (node)
+                       {
                                $tree.tree('openNode', node, false);
-             }
-        );
+                       }
+               );
                $('#navbar_search').show();
        });
 

Modified: branches/Version-2_0-branch/phpgwapi/templates/portico/navbar.inc.php
===================================================================
--- branches/Version-2_0-branch/phpgwapi/templates/portico/navbar.inc.php       
2016-07-01 13:18:29 UTC (rev 15356)
+++ branches/Version-2_0-branch/phpgwapi/templates/portico/navbar.inc.php       
2016-07-01 13:19:56 UTC (rev 15357)
@@ -122,19 +122,11 @@
 //                     && !phpgwapi_cache::session_get('navbar', 'compiled') 
== true
 //             )
                {
-                       $navigation = execMethod('phpgwapi.menu.get', 
'navigation');
-                       $treemenu = array();
-                       foreach($navbar as $app => $app_data)
-                       {
-                               if(!in_array($app, array('logout', 'about', 
'preferences')))
-                               {
-                                       $submenu = isset($navigation[$app]) ? 
render_submenu($app, $navigation[$app]) : '';
-                                       $treemenu[] = render_item($app_data, 
"navbar::{$app}", $submenu);
-                               }
-                       }
-//                     _debug_array(json_encode($treemenu, 
JSON_PRETTY_PRINT)); die();
+                       $menu_organizer = new menu_organizer($navbar);
+                       $treemenu = $menu_organizer->get_menu();
+
                        $var['treemenu_data'] = json_encode($treemenu);
-                       $var['current_node_id'] = 14;
+                       $var['current_node_id'] =  
$menu_organizer->get_current_node_id();
                        
                        /**
                         * Check for HTML5
@@ -193,108 +185,6 @@
                return isset( $navbar_state[ $id ]);
        }
 
-       function render_item($item, $id='', $children=array())
-       {
-               static $node_id = 0;
-               $node_id ++;
-
-               $icon_style = $expand_class = $current_class = $link_class = 
$parent_class = '';
-               static $blank_image;
-               static $images = array(); // cache
-
-               if ( !isset($blank_image) )
-               {
-                       $blank_image = 
$GLOBALS['phpgw']->common->find_image('phpgwapi', 'blank.png');
-               }
-               if ( isset($item['image']) )
-               {
-                       
if(!isset($images[$item['image'][0]][$item['image'][1]]))
-                       {
-                               $icon = 
$GLOBALS['phpgw']->common->image($item['image'][0], $item['image'][1]);
-                               if(!$icon)
-                               {
-                                       $icon = 
$GLOBALS['phpgw']->common->image('phpgwapi', 'folder');
-                               }
-                               $icon_style = ' style="background-image: url(' 
. $icon . ')"';
-                               $images[$item['image'][0]][$item['image'][1]] = 
$icon_style;
-                       }
-                       else
-                       {
-                               $icon_style = 
$images[$item['image'][0]][$item['image'][1]];
-                       }
-               }
-               else
-               {
-                       $icon = $GLOBALS['phpgw']->common->image('phpgwapi', 
'folder');
-                       $icon_style = ' style="background-image: url(' . $icon 
. ')"';
-               //      $images[$item['image'][0]][$item['image'][1]] = 
$icon_style;
-               }
-               if ( $children )
-               {
-                       $expand_class = item_expanded($id) ? ' 
class="expanded"' : ' class="collapsed"';
-                       $parent_class = ' parent';
-               }
-               if ( $id == 
"navbar::{$GLOBALS['phpgw_info']['flags']['menu_selection']}" )
-               {
-                       $current_class = 'current';
-                       $current_node_id = $node_id;
-               }
-
-               $link_class = " class=\"{$current_class}{$parent_class}\"";
-               $id=" id=\"{$id}\"";
-               /**
-                * Sigurd: Block class for treeview
-                */
-               $link_class = '';//" class=\"{$current_class}{$parent_class}\"";
-               $expand_class = '';
-               $icon_style = '';
-               $id                     = '';
-
-/*
- *             Sigurd: img treeview
- *             if( $expand_class )
-               {
-               $out .= <<<HTML
-                                                       <img 
src="{$blank_image}"{$expand_class}width="16" height="16" alt="+/-" />
-
-HTML;
-               }
- */
-               $target = '';
-               if(isset($item['target']))
-               {
-                       $target = "target = '{$item['target']}'";
-               }
-               if(isset($item['local_files']) && $item['local_files'])
-               {
-                       $item['url'] = 'file:///' . 
str_replace(':','|',$item['url']);
-               }
-
-               $ret = array(
-                       'name'  => "<a href=\"{$item['url']}\" 
style=\"white-space: nowrap;\">{$item['text']}</a>",
-                       'id'    => $node_id
-//                     'name'  => "<a 
href=\"{$item['url']}\"{$link_class}{$icon_style}{$id}{$target}>{$item['text']}</a>"
-               );
-               if($children)
-               {
-                       $ret['children'] = $children;
-               }
-
-               return $ret;
-       }
-
-       function render_submenu($parent, $menu)
-       {
-               $out = array();
-               foreach ( $menu as $key => $item )
-               {
-                       $children = isset($item['children']) ? render_submenu(  
"{$parent}::{$key}", $item['children']) : array();
-                       $out[]= render_item($item, "navbar::{$parent}::{$key}", 
$children);
-                       //$debug .= "{$parent}::{$key}<br>";
-               }
-               return $out;
-       }
-
        function parse_footer_end()
        {
                // Stop the register_shutdown_function causing the footer to be 
included twice - skwashd dec07
@@ -365,3 +255,102 @@
                }
                uasort($navbar, 'sort_navbar');
        }
+
+       class menu_organizer
+       {
+               private $current_node_id;
+               private $navbar;
+
+               function __construct($navbar = array())
+               {
+                       $this->set_navbar($navbar);
+                       $this->set_current_node_id(0);
+               }
+
+               private function set_navbar($navbar)
+               {
+                       $this->navbar = $navbar;
+               }
+               private function set_current_node_id($current_node_id)
+               {
+                       $this->current_node_id = $current_node_id;
+               }
+               public function get_current_node_id()
+               {
+                       return $this->current_node_id;
+               }
+
+               public function get_menu( )
+               {
+                       $treemenu = array();
+                       $navbar = $this->navbar;
+                       $navigation = execMethod('phpgwapi.menu.get', 
'navigation');
+
+                       foreach($navbar as $app => $app_data)
+                       {
+                               if(!in_array($app, array('logout', 'about', 
'preferences')))
+                               {
+                                       $submenu = isset($navigation[$app]) ? 
$this->render_submenu($app, $navigation[$app]) : '';
+                                       $treemenu[] = 
$this->render_item($app_data, "navbar::{$app}", $submenu);
+                               }
+                       }
+                       return $treemenu;
+               }
+
+               private function render_item($item, $id='', $children=array())
+               {
+                       static $node_id = 0;
+                       $node_id ++;
+
+                       $icon_style = $expand_class = $current_class = 
$link_class = $parent_class = '';
+                       static $blank_image;
+                       static $images = array(); // cache
+
+                       if ( $id == 
"navbar::{$GLOBALS['phpgw_info']['flags']['menu_selection']}" )
+                       {
+                               $current_class = 'current';
+                               $this->set_current_node_id($node_id);
+                       }
+
+                       $link_class = " 
class=\"{$current_class}{$parent_class}\"";
+                       $id=" id=\"{$id}\"";
+
+                       $link_class = '';//" 
class=\"{$current_class}{$parent_class}\"";
+                       $expand_class = '';
+                       $icon_style = '';
+                       $id                     = '';
+
+                       $target = '';
+                       if(isset($item['target']))
+                       {
+                               $target = "target = '{$item['target']}'";
+                       }
+                       if(isset($item['local_files']) && $item['local_files'])
+                       {
+                               $item['url'] = 'file:///' . 
str_replace(':','|',$item['url']);
+                       }
+
+                       $ret = array(
+                               'name'  => "<a href=\"{$item['url']}\" 
style=\"white-space: nowrap;\"{$target}>{$item['text']}</a>",
+                               'id'    => $node_id
+                       );
+
+                       if($children)
+                       {
+                               $ret['children'] = $children;
+                       }
+
+                       return $ret;
+               }
+
+               private function render_submenu($parent, $menu)
+               {
+                       $out = array();
+                       foreach ( $menu as $key => $item )
+                       {
+                               $children = isset($item['children']) ? 
$this->render_submenu(   "{$parent}::{$key}", $item['children']) : array();
+                               $out[]= $this->render_item($item, 
"navbar::{$parent}::{$key}", $children);
+                       }
+                       return $out;
+               }
+       }
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]