Your IP : 216.73.216.240


Current Path : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/
Upload File :
Current File : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/Listgroup.php

<?php
/*
* @package		Tech Fry Library
* @license		https://www.gnu.org/licenses/gpl-3.0.en.html
*/

namespace TechFry\Library\View\Sky;

defined('_JEXEC') or die;

class Listgroup extends Bootstrap
{
    public $div_class;

    public $a_class;

    public $active_id;
    
    public function display()
    {
        // $config - div_class, link_class

        $this->div_class = $this->config['list_class'] ?? '';
        
        $output = '<div class="list-group list-group-flush">';

        foreach ($this->data as $item)
        {
            $output .= $this->get_item($item);
        }

        $output .= '</div>';

        return $output;
    }

    public function get_item($item)
    {
        // $item can be string or array
        if (is_scalar($item))
        {
            return '<li class="list-group-item">' . $item . '</li>';
        }
        
        $this->a_class = 'list-group-item list-group-item-action';
        if (isset($this->config['link_class']) && $this->config['link_class'])
        {
            $this->a_class .= ' ' . $this->config['link_class'];
        }
        
        // Add active class to a
        if (isset($item->id) && $item->id == $this->active_id)
        {
            $this->a_class .= ' active';
        }
        
        $output = '';

        $icon = $item->menu_icon ?? $item->icon ?? '';
        $url = $item->flink ?? $item->url ?? '';

        $output .= '<a href="' . $url . '" class="' . $this->a_class . '"';
        if (isset($item->browserNav) && $item->browserNav)
        {
            $output .= ' target="_blank"';    
        }

        $output .= '>';
        if ($icon)
        {
            $output .= '<i class="' . $icon . '"></i> ';
        }
        $output .= $item->title;
        $output .= '</a>';

        return $output;
    }

    public function set_active($active_id)
    {
        $this->active_id = $active_id;
    }
}