Added widgets FHC navigation and FHC navheader (as seen in sb admin2 template), bootstrapped filter page, added filter widget to infocenter table

This commit is contained in:
alex
2018-01-18 16:20:59 +01:00
parent bcd2e7b0d8
commit 9419fe8c3d
7 changed files with 852 additions and 567 deletions
@@ -1,27 +1,56 @@
<?php
$this->load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'tablesorter' => true));
$this->load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'bootstrap' => true, 'fontawesome' => true, 'sbadmintemplate' => true, 'tablesorter' => false, 'customCSSs' => 'vendor/FHC-vendor/jquery-tableso
rter/css/theme.default.css', 'customJSs' => array('vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js', 'vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.widgets.js')));
?>
<body>
<span>
<body>
<div id="wrapper">
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
<?php
echo $this->widgetlib->widget(
'FHC_navheader'
);
echo $this->widgetlib->widget(
'FHC_navigation'
);
?>
</nav>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Infocenter &Uuml;bersicht</h3>
</div>
</div>
<!-- <span>
<?php
$this->load->view(
'system/infocenter/infocenterFilters.php',
array(
'listFiltersSent' => $listFiltersSent,
'listFiltersNotSent' => $listFiltersNotSent
)
);
/* $this->load->view(
'system/infocenter/infocenterFilters.php',
array(
'listFiltersSent' => $listFiltersSent,
'listFiltersNotSent' => $listFiltersNotSent
)
);
*/ ?>
</span>-->
<span>
<?php
$this->load->view('system/infocenter/infocenterData.php');
?>
</span>
<span>
<?php
$this->load->view('system/infocenter/infocenterData.php');
?>
</span>
</body>
</div>
</div>
</div>
<script>
//javascript hacks for bootstrap
$("select").addClass("form-control");
$("input[type=text]").addClass("form-control");
$("input[type=button]").addClass("btn btn-default");
$("#tableDataset").addClass('table-bordered');
</script>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,39 @@
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Men&uuml; umschalten </span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo $headertextlink ?>"><?php echo $headertext ?></a>
</div>
<ul class="nav navbar-top-links navbar-right">
<?php foreach($items as $name => $item): ?>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-<?php echo $item['icon'] ?> fa-fw"></i> <i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu dropdown-<?php echo $name ?>">
<?php foreach($item['children'] as $child): ?>
<li>
<a href="<?php echo $child['link'] ?>">
<?php echo $child['html'] ?>
</a>
</li>
<li class="divider"></li>
<?php endforeach;
if(isset($item['showall'])):
?>
<li>
<a class="text-center" href="<?php echo $item['showall']['showalllink'] ?>">
<strong><?php echo $item['showall']['showalltext'] ?></strong>
<i class="fa fa-angle-right"></i>
</a>
</li>
<?php endif; ?>
</ul>
</li>
<?php endforeach; ?>
</ul>
@@ -0,0 +1,44 @@
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<!-- <li class="sidebar-search">
<div class="input-group custom-search-form">
<input type="text" class="form-control" placeholder="Search...">
<span class="input-group-btn">
<button class="btn btn-default" type="button">
<i class="fa fa-search"></i>
</button>
</span>
</div> -->
<!-- /input-group -->
<!-- </li>-->
<?php
foreach ($items as $item)
printNavItem($item); ?>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side -->
<?php
function printNavItem($item, $depth = 1)
{
$expanded = isset($item['expand']) && $item['expand'] === true ? ' active' : '';
echo '<li class="'.$expanded.'">
<a href="'.$item['link'].'"'.$expanded.'>'.(isset($item['icon']) ? '<i class="fa fa-'.$item['icon'].' fa-fw"></i> ' : '').$item['description'].(!empty($item['children']) ? '<span class="fa arrow"></span>':'').'</a>';
if (!empty($item['children']))
{
$level = '';
if ($depth === 1)
$level = 'second';
elseif ($depth > 1)
$level = 'third';
echo '<ul class="nav nav-'.$level.'-level" '.$expanded.'>';
foreach ($item['children'] as $child)
printNavItem($child, ++$depth);
echo '</ul>';
}
echo '</li>';
}
?>
+21 -19
View File
@@ -7,7 +7,7 @@
{
$("#tableDataset").tablesorter(
{
widgets: ["zebra"]
widgets: ["zebra", "filter"]
});
}
@@ -51,28 +51,30 @@
});
</script>
<div>
<form id="filterForm" method="POST" action="<?php echo current_url(); ?>">
<div>
<?php FilterWidget::loadViewSelectFields($listFields); ?>
</div>
<div class="row">
<div class="col-lg-12">
<form class="form-inline" id="filterForm" method="POST" action="<?php echo current_url(); ?>">
<div>
<?php FilterWidget::loadViewSelectFields($listFields); ?>
</div>
<br>
<br>
<div>
<?php FilterWidget::loadViewSelectFilters($metaData); ?>
</div>
<div>
<?php FilterWidget::loadViewSelectFilters($metaData); ?>
</div>
<br>
<br>
<div>
<?php FilterWidget::loadViewSaveFilter(); ?>
</div>
<div>
<?php FilterWidget::loadViewSaveFilter(); ?>
</div>
<br>
<br>
<div>
<?php FilterWidget::loadViewTableDataset($dataset); ?>
</div>
</form>
<div>
<?php FilterWidget::loadViewTableDataset($dataset); ?>
</div>
</form>
</div>
</div>
+56
View File
@@ -0,0 +1,56 @@
<?php
class FHC_navheader extends Widget
{
public function display($data)
{
if (!isset($data['items']))
{
//default nav header
$data = array('headertext' => 'Infocenter', 'headertextlink' => base_url('index.ci.php/system/infocenter/InfoCenter'));
$data['items'] = array(
'messages' =>
array(
'icon' => 'envelope', 'showall' => array('showalllink' => '#', 'showalltext' => 'Alle Nachrichten anzeigen'), 'children' =>
array(array('link' => '#', 'html' => '
<div>
<strong>Maximillion Pegasus</strong>
<span class="pull-right text-muted">
<em>Gestern</em>
</span>
</div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...</div>
'), array('link' => '#', 'html' => '
<div>
<strong>Yugi Muto</strong>
<span class="pull-right text-muted">
<em>Vorgestern</em>
</span>
</div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...</div>
'))
),
'alerts' =>
array(
'icon' => 'bell', 'showall' => array('showalllink' => '#', 'showalltext' => 'Alle Aktionen anzeigen'), 'children' =>
array(array('link' => '#', 'html' => '
<div>
<i class="fa fa-upload fa-fw"></i> Dokument hochgeladen
<span class="pull-right text-muted small">vor 2 Minuten</span>
</div>'), array('link' => '#', 'html' => '
<div>
<i class="fa fa-envelope fa-fw"></i> Nachricht versandt
<span class="pull-right text-muted small">vor 4 Minuten</span>
</div>'), array('link' => '#', 'html' => '
<div>
<i class="fa fa-share fa-fw"></i> InteressentIn freigegeben
<span class="pull-right text-muted small">vor 5 Minuten</span>
</div>'))
)
);
}
$this->view('widgets/fhcnavheader', $data);
}
}
+75
View File
@@ -0,0 +1,75 @@
<?php
class FHC_navigation extends Widget
{
public function display($data)
{
if (!isset($data['items']))
{
//default menu with filters abgeschickt/not abgeschickt
$listFiltersSent = array();
$listFiltersNotSent = array();
$listFiltersSent = $this->_getFilterList('%InfoCenterSentApplication%');
$listFiltersNotSent = $this->_getFilterList('%InfoCenterNotSentApplication%');
$filtersarray = array('abgeschickt' => array('link' => '#', 'description' => 'Abgeschickt', 'expand' => true, 'children' => array()),
'nichtabgeschickt' => array('link' => '#', 'description' => 'Nicht abgeschickt','expand' => true,'children' => array()));
$this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']);
$this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']);
$data = array();
$data['items'] = array('dashboard' => array('link' => '#', 'description' => 'Dashboard', 'icon' => 'dashboard'),
'filters' => array('link' => '#', 'description' => 'Filter', 'icon' => 'filter','expand' => true, 'children' =>
$filtersarray
));
}
$this->view('widgets/fhcnavigation', $data);
}
private function _getFilterList($filter_kurzbz)
{
$this->load->model('system/Filters_model', 'FiltersModel');
$listFilters = array();
$personActionsArray = array(
'app' => 'aufnahme',
'dataset_name' => 'PersonActions',
'person_id' => null,
'default_filter' => false,
'array_length(description, 1) >' => 0
);
$this->FiltersModel->resetQuery();
$this->FiltersModel->addSelect('filter_id, description');
$this->FiltersModel->addOrder('sort', 'ASC');
$personActionsArray['filter_kurzbz ILIKE'] = $filter_kurzbz;
$filters = $this->FiltersModel->loadWhere($personActionsArray);
if (hasData($filters))
{
for ($filtersCounter = 0; $filtersCounter < count($filters->retval); $filtersCounter++)
{
$filter = $filters->retval[$filtersCounter];
$listFilters[$filter->filter_id] = $filter->description[0];
}
}
return $listFilters;
}
private function _fillFilters($filters, &$tofill)
{
foreach ($filters as $filterId => $description)
{
$toPrint = "%s=%s";
$tofill['children'][] = array('link' => sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filterId'), $filterId), 'description' => $description);
}
}
}