mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 07:52:16 +00:00
Added Javascript button functionalities and functions for Tabulator
Added buttons and functionalities for . showing all . showing new . select all . deselect all ...Lehraufträge in tabulator-table Added methods to manipulate date-data and filtering in tabulator.
This commit is contained in:
@@ -13,6 +13,7 @@ $this->load->view(
|
||||
'tabulator' => true,
|
||||
'momentjs' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'phrases' => array(
|
||||
@@ -27,68 +28,64 @@ $this->load->view(
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- <form id="formLehrauftrag" class="form-inline" action="" method="get">-->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
<?php echo ucfirst($this->p->t('global', 'lehrauftraege')); ?>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<form id="formLehrauftrag" class="form-inline" action="" method="get">
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_selected
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiengang_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiengang_selected,
|
||||
'studiengang' => $studiengang
|
||||
),
|
||||
array(
|
||||
'name' => 'studiengang',
|
||||
'id' => 'studiengang'
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<button type="submit" name="submit" value="anzeigen" class="btn btn-default form-group">Anzeigen</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<?php $this->load->view('lehre/lehrauftrag/lehrauftragData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="row">-->
|
||||
<!-- <div class="col-lg-12">-->
|
||||
<!-- <!-- <form id="formLehrauftragBestellen" class="form-inline" action="" method="get">-->
|
||||
<!-- <button type="submit" id="submitBestellen" name="submit" value="bestellen" class="btn btn-primary form-group pull-right">Lehrauftrag bestellen</button>-->
|
||||
<!-- <!-- </form>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </form>-->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<button id="order-lehrauftraege" type="submit" id="submitBestellen" name="submit" value="bestellen" class="btn btn-primary form-group pull-right">Lehrauftrag bestellen</button>
|
||||
<h3 class="page-header">
|
||||
<?php echo ucfirst($this->p->t('global', 'lehrauftraege')); ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="formLehrauftrag" class="form-inline" action="" method="get">
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_selected
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiengang_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiengang_selected,
|
||||
'studiengang' => $studiengang
|
||||
),
|
||||
array(
|
||||
'name' => 'studiengang',
|
||||
'id' => 'studiengang'
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<button type="submit" name="submit" value="anzeigen" class="btn btn-default form-group">Anzeigen</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<?php $this->load->view('lehre/lehrauftrag/lehrauftragData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<button id="order-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag bestellen</button>
|
||||
<button id="select-all" class="btn btn-default">Alle auswählen</button>
|
||||
<button id="deselect-all" class="btn btn-default">Alle abwählen</button>
|
||||
<button id="show-all" class="btn btn-default">Alle anzeigen</button>
|
||||
<button id="show-new" class="btn btn-default">Nur neue anzeigen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -96,3 +93,89 @@ $this->load->view(
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Mutators - setter methods to manipulate table data when entering the tabulator
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// Converts string date postgre style to string DD.MM.YYYY.
|
||||
// This will allow correct filtering.
|
||||
var mut_formatStringDate = function(value, data, type, params, component) {
|
||||
if (value != null)
|
||||
{
|
||||
var d = new Date(value);
|
||||
return d.getDate() + "." + ("0"+(d.getMonth()+1)).slice(-2) + "." + d.getFullYear();
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Header filter
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// Casts string formatted float values to float when using the filter.
|
||||
// This will allow correct filtering.
|
||||
function hf_compareWithFloat(headerValue, rowValue, rowData, filterParams){
|
||||
//headerValue - the value of the header filter element
|
||||
//rowValue - the value of the column in this row
|
||||
//rowData - the data for the row being filtered
|
||||
//filterParams - params object passed to the headerFilterFuncParams property
|
||||
|
||||
return parseFloat(headerValue) <= parseFloat(rowValue); //must return a boolean, true if it passes the filter.
|
||||
}
|
||||
|
||||
$(function() {
|
||||
|
||||
// Select all (filtered) rows and ignore rows which have status bestellt
|
||||
$("#select-all").click(function(){
|
||||
//$('#filterTabulator').tabulator('selectRow', true);
|
||||
|
||||
$('#filterTabulator').tabulator('getRows')
|
||||
.filter(row => row.getData().Bestellt == null)
|
||||
.forEach((row => row.select()));
|
||||
});
|
||||
|
||||
// Deselect all (filtered) rows
|
||||
$("#deselect-all").click(function(){
|
||||
$('#filterTabulator').tabulator('deselectRow');
|
||||
});
|
||||
|
||||
// Show all rows
|
||||
$("#show-all").click(function(){
|
||||
$('#filterTabulator').tabulator('removeFilter', 'Bestellt', '=', null);
|
||||
});
|
||||
|
||||
// Show only rows with new lehrauftraege
|
||||
$("#show-new").click(function(){
|
||||
$('#filterTabulator').tabulator('setFilter', 'Bestellt', '=', null);
|
||||
});
|
||||
|
||||
// Order Lehrauftraege
|
||||
$("#order-lehrauftraege").click(function(){
|
||||
|
||||
var selected_data = $('#filterTabulator').tabulator('getSelectedData');
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/orderLehrauftrag",
|
||||
selected_data,
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data.retval != null)
|
||||
{
|
||||
// Update status 'Bestellt'
|
||||
$('#filterTabulator').tabulator('updateData', data.retval);
|
||||
}
|
||||
|
||||
FHC_DialogLib.alertSuccess("Alle " + data.retval.length + " Lehraufträge wurden bestellt.")
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
FHC_DialogLib.alertError("Sytemfehler<br>Bestellung wurde nicht durchgeführt.");
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user