RenderSideBar
Render tools to handle categories

Documentation

This function displays part of the hierarchy a topic is situated in. It tries to provide a sense of "location" for the topic based on the way it is classified.

TODO: what do we display for topics that are not categorized?

Implementation

%STARTINCLUDE%<div class="clsSideBar clsBrowser" id="clsSideBarCategoryBrowser" style="display:none">
%HIERARCHY{
  web="%BASEWEB%"
  open="$percntIF{
      \"$percntDISTANCE{
          from=\"$name\"
          to=\"%URLPARAM{"catname" default="%BASETOPIC%"}%\"
          undef=\"-1\"
        }$percnt >= 0\"
      then=\"$name\" 
    }$percnt, %TOP{default="TopCategory"}%"
  placeholder="<li><span class='placeholder'>&nbsp;</span></li>"
  top="%TOP{default="TopCategory"}%"
  exclude="%TOP{default="TopCategory"}%"
  header="<ul>"
  footer="</ul>"
  format="<li id=\"$name\" class=\"$percntIF{\"'$subcats'!='0'\" then=\"hasChildren\"}$percnt\">
    <a style='background-image:url($icon);' class='clsCategoryLink $percntIF{
      \"( $percntISA{
            \"%BASETOPIC%\"
            cat=\"$name\"
          }$percnt = 1 
          and
          $percntDISTANCE{
            from=\"$name\"
            to=\"%BASETOPIC%\"
            undef=\"-1\"
          }$percnt = 1
        ) or $percntDISTANCE{
               from=\"$name\"
               to=\"%URLPARAM{"catname" default="%BASETOPIC%"}%\"
               undef=\"-1\"
             }$percnt = 0
      \"
      then=\"current\"
    }$percnt' href=\"$url\" title=\"$percntENCODE{$summary}$percnt\"><noautolink>$title</noautolink>
    </a>$children</li>"
}%</div>%JQREQUIRE{"treeview"}%
<literal>
<script>
  jQuery(function ($) {
    $("#clsSideBarCategoryBrowser > ul").each(function() {
      var $this = $(this);
      $this.find("li ul").parent().addClass("open collapsable");
      $this.find(".placeholder").parent().parent().parent().removeClass("open collapsable");
      $this.find(".hasChildren.open").removeClass("hasChildren");
      $this.treeview({
        url: "%SCRIPTURL{"rest"}%/RenderPlugin/tag?name=DBCALL;param=Applications.ClassificationApp.RenderHierarchyAsJSON;t=%GMTIME{"$epoch"}%;depth=2;format=sidebar;topic=%BASEWEB%.%BASETOPIC%",
        animated: 'fast'
      }).parent().show();
      $this.find(".open").removeClass("expandable").
      find(".open-hitarea.expandable-hitarea").removeClass("expandable-hitarea").addClass("collapsable-hitarea");
    });
  });
</script>
</literal>%STOPINCLUDE%

Test

Calls to 'RenderSideBar'

Copyright

© 2008-2013 Michael Daum http://michaeldaumconsulting.com

This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For more details read the LICENSE.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ApplicationTopic edit

TopicType DocuTopic, TopicFunction
TopicTitle
Summary Render tools to handle categories
WikiApplication ClassificationApp
This topic: Applications/ClassificationApp > TopicType > TopicFunction > RenderSideBar
Topic revision: 07 Jan 2013, ProjectContributor
 
Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.