[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [15357] Stable: Merge 15355:15356 from trunk,
sigurdne <=