base.pt 3.68 KB
<html
  metal:use-macro="load: tangsel.base:views/templates/admin_base.pt"
  tal:define="
    route_name  request.matched_route.name;
    "
>
  <ul metal:fill-slot="navs" data-te-sidenav-menu-ref id="sidebarnav">
    <!-- <div class="caption">
      <span class="hide-menu">MENU</span>
    </div> -->

    <li
      tal:repeat="menu get_esppt_menus()"
      tal:attributes="class python: 'sidebar-item' if not menu['children'] else 'sidebar-item hs-accordion'"
    >
      <a
        tal:define="class_reg 'hs-accordion-toggle sidebar-link dropdown-menu-link' if menu['children'] else 'sidebar-link dark-sidebar-link'; class_active 'active activemenu dark:text-white' if route_name in menu['route_name'] else ''"
        tal:attributes="href python: home+menu['path'] if not menu['children'] else 'javascript:void()'; class string:$class_reg $class_active"
      >
        <i
          tal:condition="menu['nama'].strip() == 'E-SPPT Home'"
          tal:attributes="class 'ti ti-home text-xl flex-shrink-0 dark:text-white' if route_name in menu['route_name'] else 'ti ti-home text-xl flex-shrink-0'"
        ></i>
        <i
          tal:condition="menu['nama'].strip() == 'Unduh E-SPPT'"
          tal:attributes="class 'ti ti-cloud-down text-xl flex-shrink-0 dark:text-white' if route_name in menu['route_name'] else 'ti ti-cloud-down text-xl flex-shrink-0'"
        ></i>
        <i
          tal:condition="menu['nama'].strip() == 'My NOP'"
          tal:attributes="class 'ti ti-credit-card text-xl flex-shrink-0 dark:text-white' if route_name in menu['route_name'] else 'ti ti-credit-card text-xl flex-shrink-0'"
        ></i>
        <i
          tal:condition="menu['nama'].strip() == 'My SPPT'"
          tal:attributes="class 'ti ti-script text-xl flex-shrink-0 dark:text-white' if route_name in menu['route_name'] else 'ti ti-script text-xl flex-shrink-0'"
        ></i>
        <i
          tal:condition="menu['nama'].strip() == 'Admin'"
          tal:attributes="class 'ti ti-adjustments text-xl flex-shrink-0 dark:text-white' if route_name in menu['route_name'] else 'ti ti-adjustments text-xl flex-shrink-0'"
        ></i>
        <span
          tal:attributes="class python: 'hide-menu flex-shrink-0' if not menu['children'] else 'hide-menu'"
          >${menu['nama']}</span
        >
        <span tal:condition="menu['children']" class="hide-menu ms-auto">
          <i
            tal:condition="menu['children']"
            class="ti ti-chevron-down text-lg ms-auto hs-accordion-active:hidden"
          ></i>
          <i
            tal:condition="menu['children']"
            class="ti ti-chevron-up text-lg ms-auto hs-accordion-active:block ml-auto hidden z-10 relative"
          ></i>
        </span>
      </a>
      <div
        tal-condition="python:menu['children'] and (not menu['permission'] or has_permission(request, menu['permission']))"
        tal:define="class_reg 'hs-accordion-content'; class_active 'active-menu' if route_name in menu['route_name'] else ''"
        tal:attributes="class string:$class_reg $class_active"
        id="blog-accordion"
      >
        <ul class>
          <li tal:repeat="submenu menu['children']" class="pl-4 pr-3">
            <a
              tal:define="class_reg 'dropdown-submenu-link'; class_active 'active text-primary dark:text-primary' if route_name in submenu['route_name'] else ''"
              tal:attributes="class string:$class_reg $class_active"
              class="dropdown-submenu-link"
              href="${home}${submenu['path']}"
            >
              <i class="ti ti-circle flex-shrink-0 text-xs me-3"></i>
              <span class="hide-menu">${submenu['nama']}</span>
            </a>
          </li>
        </ul>
      </div>
    </li>
  </ul>
</html>