1 package SL::Layout::Javascript;
 
   4 use parent qw(SL::Layout::Base);
 
   6 use List::Util qw(max);
 
  11     SL::Layout::None->new,
 
  19     js/dhtmlsuite/menu-for-applications.js
 
  21   $self->SUPER::use_javascript(@_);
 
  25   $_[0]->SUPER::pre_content .
 
  30   "<div id='content'>\n";
 
  38   $_[0]->add_stylesheets(qw(
 
  39     dhtmlsuite/menu-item.css
 
  40     dhtmlsuite/menu-bar.css
 
  42     frame_header/header.css
 
  45   $_[0]->SUPER::stylesheets;
 
  51   $self->presenter->render("menu/menunew",
 
  53     menu_items      => $self->acc_menu,
 
  60   my $menu      = $self->menu;
 
  63   $self->create_menu($menu, $all_items);
 
  65   my $item = { 'subitems' => $all_items };
 
  66   calculate_width($item);
 
  74   $item->{max_width} = max map { length $_->{title} } @{ $item->{subitems} };
 
  76   foreach my $subitem (@{ $item->{subitems} }) {
 
  77     calculate_width($subitem) if ($subitem->{subitems});
 
  82   my ($self, $menu, $all_items, $parent, $depth) = @_;
 
  85   my $form     = $main::form;
 
  86   my %myconfig = %main::myconfig;
 
  90   die if ($depth * 1 > 5);
 
  92   my @menuorder  = $menu->access_control(\%myconfig, $parent);
 
  93   $parent       .= "--" if ($parent);
 
  96   foreach my $name (@menuorder) {
 
  97     substr($name, 0, length($parent), "");
 
  98     next if (($name eq "") || ($name =~ /--/));
 
 100     my $menu_item = $menu->{"${parent}${name}"};
 
 101     my $item      = { 'title' => $::locale->text($name) };
 
 102     push @{ $all_items }, $item;
 
 104     if ($menu_item->{submenu} || (!defined($menu_item->{module}) && !defined($menu_item->{href}))) {
 
 105       $item->{subitems} = [];
 
 106       $item->{image} = _icon_path($menu_item->{ICON});
 
 107       $self->create_menu($menu, $item->{subitems}, "${parent}${name}", $depth * 1 + 1);
 
 110       $item->{image} = _icon_path("${parent}${name}.png");
 
 111       $menu->menuitem_new("${parent}${name}", $item);
 
 117   my ($label, $size) = @_;
 
 121   my $img = "image/icons/${size}x${size}/$label.png";
 
 123   return unless -f $img;