n2ref/coreui-tabs

PHP framework for web applications

v1.0.0 2024-04-13 14:50 UTC

This package is auto-updated.

Last update: 2024-04-13 15:23:35 UTC


README

Composer install

composer install n2ref/coreui-tabs

Example usage

    $tabs = new \CoreUI\Tabs('tabs-panel-id');
    $tabs->setTitle('Component Tabs', 'CoreUI Framework');
    
    $tabs->setTabsType($tabs::TABS_TYPE_TABS);
    $tabs->setTabsPosition($tabs::TABS_POS_TOP_LEFT);
    $tabs->setTabsFill($tabs::TABS_FILL_JUSTIFY);
    $panel->setTabsWidth(200);
    
    
    $tabs->addTab('Home',    'tab1', 'data/tab1.json')->active(true);
    $tabs->addTab('Profile', 'tab2', 'data/tab2.json');
    $tabs->addTab('Disabled')->disabled(true);
    
    $tab_dropdown = $tabs->addDropdown('Dropdown');
    $tab_dropdown->addItem('Tab title 3')->disabled(true);
    $tab_dropdown->addItem('Tab title 4', 'tab4', 'data/tab3.json');
    $tab_dropdown->addDivider();
    $tab_dropdown->addItem('Tab title 5', 'tab5', 'data/tab4.json');

    // Переопределение активного таба 
    $tabs->setActiveTab('tab2');
    
    $tabs->setContent('Your content 1');

    echo json_encode($tabs->toArray());

Output

{
    "component": "coreui.tabs",
    "id": "tabs-panel-id",
    "title": "Component Tabs",
    "subtitle": "CoreUI Framework",
    "tabs": {
      "type": "tabs",
      "position": "top-left",
      "fill": "justify",
      "width": 200,
      "items": [
        {"id": "tab1", "title": "Home", "url": "data/tab1.json", "active": true},
        {"id": "tab2", "title": "Profile", "url": "data/tab2.json"},
        {"id": "tab3", "title": "Disabled", "disabled": true},
        {
          "title": "Dropdown",
          "type": "dropdown",
          "items": [
            {"id": "tab4", "title": "Tab title 3", "disabled": true},
            {"id": "tab5", "title": "Tab title 4", "url": "data/tab3.json"},
            {"type": "divider"},
            {"id": "tab6","title": "Tab title 5", "url": "data/tab4.json"}
          ]
        }
      ]
    },
    "content": "Your content 1"
}