mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
- Added public/css/FilterWidget.css and public/css/NavigationWidget.css to define CSS for Filter and Navigation widgets
- Added public/js/FilterWidget.js and public/js/NavigationWidget.js to collect all the JS for Filter and Navigation widgets - Added filterwidget and navigationwidget paramaters to FHC-Header to include the new CSS and JS for Filter and Navigation widgets - Removed all CSS and JS from the views used from Filter and Navigation widgets - Added method _getFilterUniqueId to controller Filters to generate a unique id for a filter based on fhc_controller_id and the current page - Adapted the code in controller Filters to use _getFilterUniqueId - Added method _getFilterUniqueId to widget FilterWidget to generate a unique id for a filter based on fhc_controller_id and the current page - Adapted the code in widget FilterWidget to use _getFilterUniqueId - Removed fhc_controller_id from menu generation in InfoCenter controller - InfoCenter controller now gives as parameter fhc_controller_id to view infocenterDetails - InfoCenter controller now gives as parameter fhc_controller_id to various redirect - Views infocenter, infocenterData, infocenterDetails and infocenterFreigegeben: - including new JS and CSS to work with Navigation and Filter widgets - including AjaxLib (required by FilterWidget.js and NavigationWidget.js) - using fhc_controller_id in Details and unlockPerson links - fhc_controller_id in not anymore a parameter for FilterWidget, adapted the code where FilterWidget is called - AjaxLib: renamed method _getUrlParameter to getUrlParameter - Removed function getUrlParameter from public/js/infocenter/infocenterDetails.js, now uses the method from AjaxLib - Added fhc_controller_id where needed into public/js/infocenter/infocenterDetails.js - public/js/infocenter/infocenterPersonDataset.js now uses getUrlParameter from AjaxLib - Added paramater filter_page in infocenterPersonDataset.js when calling Filters/rowNumber
This commit is contained in:
@@ -37,7 +37,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$json->selectedFields = $session['selectedFields'];
|
||||
$json->columnsAliases = $session['columnsAliases'];
|
||||
@@ -55,7 +55,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$json->allSelectedFields = $session['allSelectedFields'];
|
||||
$json->allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -72,11 +72,12 @@ class Filters extends VileSci_Controller
|
||||
public function sortSelectedFields()
|
||||
{
|
||||
$selectedFieldsLst = $this->input->post('selectedFieldsLst');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -105,8 +106,8 @@ class Filters extends VileSci_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $json->selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $json->columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFields'] = $json->selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['columnsAliases'] = $json->columnsAliases;
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
@@ -118,7 +119,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$json->allSelectedFields = $session['allSelectedFields'];
|
||||
$json->allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -175,19 +176,19 @@ class Filters extends VileSci_Controller
|
||||
*/
|
||||
public function saveFilter()
|
||||
{
|
||||
$this->_saveFilter($this->input->post("customFilterDescription"), $this->input->post("fhc_controller_id"));
|
||||
$this->_saveFilter($this->input->post("customFilterDescription"), $this->_getFilterUniqueId());
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!'));
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Filter saved'));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _saveFilter($customFilterDescription, $fhc_controller_id)
|
||||
private function _saveFilter($customFilterDescription, $filterUniqueId)
|
||||
{
|
||||
$objToBeSaved = new stdClass();
|
||||
|
||||
$filterSessionArray = $this->_readSession($fhc_controller_id);
|
||||
$filterSessionArray = $this->_readSession($filterUniqueId);
|
||||
|
||||
$objToBeSaved->name = $customFilterDescription;
|
||||
|
||||
@@ -240,8 +241,8 @@ class Filters extends VileSci_Controller
|
||||
$personId = $resultBenutzer->retval[0]->person_id;
|
||||
|
||||
$result = $this->FiltersModel->loadWhere(array(
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['datasetName'],
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $personId
|
||||
));
|
||||
@@ -250,8 +251,8 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$this->FiltersModel->update(
|
||||
array(
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['datasetName'],
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $personId
|
||||
),
|
||||
@@ -263,8 +264,8 @@ class Filters extends VileSci_Controller
|
||||
else
|
||||
{
|
||||
$this->FiltersModel->insert(array(
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['datasetName'],
|
||||
'filter_kurzbz' => uniqid($personId, true),
|
||||
'person_id' => $personId,
|
||||
'description' => $descPGArray,
|
||||
@@ -282,7 +283,6 @@ class Filters extends VileSci_Controller
|
||||
public function deleteCustomFilter()
|
||||
{
|
||||
$filter_id = $this->input->post('filter_id');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
if (is_numeric($filter_id))
|
||||
{
|
||||
@@ -298,9 +298,9 @@ class Filters extends VileSci_Controller
|
||||
public function removeSelectedFields()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -318,8 +318,8 @@ class Filters extends VileSci_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['columnsAliases'] = $columnsAliases;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -337,9 +337,9 @@ class Filters extends VileSci_Controller
|
||||
public function removeSelectedFilters()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$selectedFilters = $session['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $session['activeFilters'];
|
||||
@@ -354,10 +354,10 @@ class Filters extends VileSci_Controller
|
||||
array_splice($selectedFiltersActiveFiltersOption, $pos, 1);
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -375,9 +375,9 @@ class Filters extends VileSci_Controller
|
||||
public function addSelectedFields()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -396,8 +396,8 @@ class Filters extends VileSci_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['columnsAliases'] = $columnsAliases;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -415,9 +415,9 @@ class Filters extends VileSci_Controller
|
||||
public function addSelectedFilters()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$selectedFilters = $session['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $session['activeFilters'];
|
||||
@@ -432,10 +432,10 @@ class Filters extends VileSci_Controller
|
||||
$selectedFiltersActiveFiltersOption[$fieldName] = "";
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -456,17 +456,17 @@ class Filters extends VileSci_Controller
|
||||
$filterOperations = $this->input->post('filterOperations');
|
||||
$filterOperationValues = $this->input->post('filterOperationValues');
|
||||
$filterOptions = $this->input->post('filterOptions');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$activeFilters = array_combine($fieldNames, $filterOperationValues);
|
||||
$activeFiltersOperation = array_combine($fieldNames, $filterOperations);
|
||||
$activeFiltersOption = array_combine($fieldNames, $filterOptions);
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $activeFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $activeFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $activeFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFilters'] = $activeFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOperation'] = $activeFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOption'] = $activeFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -485,7 +485,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$dataset = $session['dataset'];
|
||||
|
||||
@@ -500,10 +500,10 @@ class Filters extends VileSci_Controller
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _readSession($fhc_controller_id)
|
||||
private function _readSession($filterUniqueId)
|
||||
{
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$fhc_controller_id]))
|
||||
return $_SESSION[self::SESSION_NAME][$fhc_controller_id];
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$filterUniqueId]))
|
||||
return $_SESSION[self::SESSION_NAME][$filterUniqueId];
|
||||
|
||||
return array();
|
||||
}
|
||||
@@ -511,7 +511,7 @@ class Filters extends VileSci_Controller
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _writeSession($data, $fhc_controller_id)
|
||||
private function _writeSession($data, $filterUniqueId)
|
||||
{
|
||||
if (!isset($_SESSION[self::SESSION_NAME])
|
||||
|| (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME])))
|
||||
@@ -519,6 +519,25 @@ class Filters extends VileSci_Controller
|
||||
$_SESSION[self::SESSION_NAME] = array();
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id] = $data;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId] = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _getFilterUniqueId()
|
||||
{
|
||||
$_getFilterUniqueId = '';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
||||
{
|
||||
$_getFilterUniqueId = $this->input->post('filter_page').'/'.$this->input->post('fhc_controller_id');
|
||||
}
|
||||
elseif ($_SERVER['REQUEST_METHOD'] === 'GET')
|
||||
{
|
||||
$_getFilterUniqueId = $this->input->get('filter_page').'/'.$this->input->get('fhc_controller_id');
|
||||
}
|
||||
|
||||
return $_getFilterUniqueId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,14 +78,17 @@ class InfoCenter extends FHC_Controller
|
||||
$this->load->library('PersonLogLib');
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->loadPhrases(array(
|
||||
'global',
|
||||
'person',
|
||||
'lehre',
|
||||
'ui',
|
||||
'infocenter',
|
||||
'filter'));
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'person',
|
||||
'lehre',
|
||||
'ui',
|
||||
'infocenter',
|
||||
'filter'
|
||||
)
|
||||
);
|
||||
|
||||
$this->_setAuthUID(); // sets property uid
|
||||
|
||||
$this->load->library('PermissionLib');
|
||||
@@ -139,13 +142,14 @@ class InfoCenter extends FHC_Controller
|
||||
$persondata = $this->_loadPersonData($person_id);
|
||||
$prestudentdata = $this->_loadPrestudentData($person_id);
|
||||
|
||||
$this->load->view(
|
||||
'system/infocenter/infocenterDetails.php',
|
||||
array_merge(
|
||||
$persondata,
|
||||
$prestudentdata
|
||||
)
|
||||
$data = array_merge(
|
||||
$persondata,
|
||||
$prestudentdata
|
||||
);
|
||||
|
||||
$data['fhc_controller_id'] = $this->fhc_controller_id;
|
||||
|
||||
$this->load->view('system/infocenter/infocenterDetails.php', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +163,7 @@ class InfoCenter extends FHC_Controller
|
||||
if(isError($result))
|
||||
show_error($result->retval);
|
||||
|
||||
redirect(self::URL_PREFIX);
|
||||
redirect(self::URL_PREFIX.'?fhc_controller_id='.$this->fhc_controller_id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -715,10 +719,10 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
$toPrint = "%s?%s=%s";
|
||||
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id),
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId),
|
||||
'description' => $description
|
||||
);
|
||||
}
|
||||
@@ -728,10 +732,10 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
$toPrint = "%s?%s=%s";
|
||||
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id),
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId),
|
||||
'description' => $description,
|
||||
'subscriptDescription' => 'Remove',
|
||||
'subscriptLinkClass' => 'remove-filter',
|
||||
@@ -922,7 +926,7 @@ class InfoCenter extends FHC_Controller
|
||||
$this->PrestudentModel->addSelect('person_id');
|
||||
$person_id = $this->PrestudentModel->load($prestudent_id)->retval[0]->person_id;
|
||||
|
||||
redirect(self::URL_PREFIX.'/showDetails/'.$person_id.'#'.$section);
|
||||
redirect(self::URL_PREFIX.'/showDetails/'.$person_id.'?fhc_controller_id='.$this->fhc_controller_id.'#'.$section);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'tablesorter' => true,
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js')
|
||||
)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
$APP = 'infocenter';
|
||||
$NOTBEFORE = '2018-03-01 18:00:00';
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => '
|
||||
SELECT
|
||||
@@ -160,7 +161,7 @@
|
||||
FROM system.tbl_log
|
||||
WHERE logdata->>\'name\' = \'Parked\'
|
||||
AND zeitpunkt > now()
|
||||
) pd USING(person_id)
|
||||
) pd USING(person_id)
|
||||
WHERE
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
@@ -193,33 +194,33 @@
|
||||
)
|
||||
ORDER BY "LastAction" ASC
|
||||
',
|
||||
'fhc_controller_id' => $fhc_controller_id,
|
||||
'checkboxes' => 'PersonId',
|
||||
'additionalColumns' => array('Details'),
|
||||
'columnsAliases' => array(
|
||||
'PersonID',
|
||||
ucfirst($this->p->t('person','vorname')) ,
|
||||
ucfirst($this->p->t('person','nachname')),
|
||||
ucfirst($this->p->t('person','geburtsdatum')),
|
||||
ucfirst($this->p->t('person','nation')),
|
||||
ucfirst($this->p->t('global','letzteAktion')),
|
||||
ucfirst($this->p->t('global','letzterBearbeiter')),
|
||||
ucfirst($this->p->t('lehre','studiensemester')),
|
||||
ucfirst($this->p->t('global','gesendetAm')),
|
||||
ucfirst($this->p->t('global','abgeschickt')) . ' (' . $this->p->t('global','anzahl') . ')',
|
||||
ucfirst($this->p->t('lehre','studiengang')) . ' (' . $this->p->t('global','gesendet') . ')',
|
||||
ucfirst($this->p->t('lehre','studiengang')) . ' (' . $this->p->t('global','nichtGesendet') . ')',
|
||||
ucfirst($this->p->t('lehre','studiengang')) . ' (' . $this->p->t('global','aktiv') . ')',
|
||||
ucfirst($this->p->t('global','sperrdatum')),
|
||||
ucfirst($this->p->t('global','gesperrtVon')),
|
||||
"ParkedDate"
|
||||
'PersonID',
|
||||
ucfirst($this->p->t('person', 'vorname')) ,
|
||||
ucfirst($this->p->t('person', 'nachname')),
|
||||
ucfirst($this->p->t('person', 'geburtsdatum')),
|
||||
ucfirst($this->p->t('person', 'nation')),
|
||||
ucfirst($this->p->t('global', 'letzteAktion')),
|
||||
ucfirst($this->p->t('global', 'letzterBearbeiter')),
|
||||
ucfirst($this->p->t('lehre', 'studiensemester')),
|
||||
ucfirst($this->p->t('global', 'gesendetAm')),
|
||||
ucfirst($this->p->t('global', 'abgeschickt')).' ('.$this->p->t('global', 'anzahl').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'gesendet').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'nichtGesendet').')',
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'aktiv').')',
|
||||
ucfirst($this->p->t('global', 'sperrdatum')),
|
||||
ucfirst($this->p->t('global', 'gesperrtVon')),
|
||||
'ParkedDate'
|
||||
),
|
||||
'formatRaw' => function($datasetRaw) {
|
||||
|
||||
$datasetRaw->{'Details'} = sprintf(
|
||||
'<a href="%s%s">Details</a>',
|
||||
site_url('system/infocenter/InfoCenter/showDetails/'),
|
||||
$datasetRaw->{'PersonId'}
|
||||
'<a href="%s/%s?fhc_controller_id=%s">Details</a>',
|
||||
site_url('system/infocenter/InfoCenter/showDetails'),
|
||||
$datasetRaw->{'PersonId'},
|
||||
$this->input->get('fhc_controller_id')
|
||||
);
|
||||
|
||||
if ($datasetRaw->{'SendDate'} == null)
|
||||
@@ -228,7 +229,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
$datasetRaw->{'SendDate'} = date_format(date_create($datasetRaw->{'SendDate'}),'Y-m-d H:i');
|
||||
$datasetRaw->{'SendDate'} = date_format(date_create($datasetRaw->{'SendDate'}), 'Y-m-d H:i');
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'LastAction'} == null)
|
||||
@@ -237,7 +238,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
$datasetRaw->{'LastAction'} = date_format(date_create($datasetRaw->{'LastAction'}),'Y-m-d H:i');
|
||||
$datasetRaw->{'LastAction'} = date_format(date_create($datasetRaw->{'LastAction'}), 'Y-m-d H:i');
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'User/Operator'} == '')
|
||||
@@ -285,14 +286,14 @@
|
||||
|
||||
if ($datasetRaw->ParkDate != null)
|
||||
{
|
||||
//parking has prio over locking
|
||||
// Parking has priority over locking
|
||||
$mark = "text-info";
|
||||
}
|
||||
|
||||
return $mark;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
$filterId = isset($_GET[InfoCenter::FILTER_ID]) ? $_GET[InfoCenter::FILTER_ID] : null;
|
||||
|
||||
if (isset($filterId) && is_numeric($filterId))
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'addons' => true,
|
||||
'ajaxlib' => true,
|
||||
'navigationwidget' => true,
|
||||
'customCSSs' =>
|
||||
array(
|
||||
'public/css/sbadmin2/admintemplate.css',
|
||||
@@ -46,7 +48,7 @@
|
||||
echo $lockedby;
|
||||
?>
|
||||
|
||||
<a href="../unlockPerson/<?php echo $stammdaten->person_id; ?>"><i
|
||||
<a href="../unlockPerson/<?php echo $stammdaten->person_id; ?>?fhc_controller_id=<?php echo $fhc_controller_id; ?>"><i
|
||||
class="fa fa-sign-out"></i> <?= ucfirst($this->p->t('ui', 'freigeben')) ?></a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'tablesorter' => true,
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js')
|
||||
)
|
||||
@@ -170,7 +173,6 @@
|
||||
)
|
||||
ORDER BY "LastAction" ASC
|
||||
',
|
||||
'fhc_controller_id' => $fhc_controller_id,
|
||||
'checkboxes' => 'PersonId',
|
||||
'additionalColumns' => array('Details'),
|
||||
'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation','Letzte Aktion','Letzter Bearbeiter',
|
||||
@@ -178,9 +180,10 @@
|
||||
'formatRaw' => function($datasetRaw) {
|
||||
|
||||
$datasetRaw->{'Details'} = sprintf(
|
||||
'<a href="%s%s">Details</a>',
|
||||
base_url('index.ci.php/system/infocenter/InfoCenter/showDetails/'),
|
||||
$datasetRaw->{'PersonId'}
|
||||
'<a href="%s/%s?fhc_controller_id=%s">Details</a>',
|
||||
site_url('system/infocenter/InfoCenter/showDetails'),
|
||||
$datasetRaw->{'PersonId'},
|
||||
$this->input->get('fhc_controller_id')
|
||||
);
|
||||
|
||||
if ($datasetRaw->{'SendDate'} == null)
|
||||
|
||||
@@ -22,6 +22,8 @@ $tablesorter = isset($tablesorter) ? $tablesorter : false;
|
||||
$tinymce = isset($tinymce) ? $tinymce : false;
|
||||
$sbadmintemplate = isset($sbadmintemplate) ? $sbadmintemplate : false;
|
||||
$addons = isset($addons) ? $addons : false;
|
||||
$filterwidget = isset($filterwidget) ? $filterwidget : false;
|
||||
$navigationwidget = isset($navigationwidget) ? $navigationwidget : false;
|
||||
|
||||
/**
|
||||
* Print the given title of the page
|
||||
@@ -165,6 +167,12 @@ function _generateAddonsJSsInclude($calledFrom)
|
||||
_generateCSSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css');
|
||||
}
|
||||
|
||||
// FilterWidget CSS
|
||||
if ($filterwidget === true) _generateCSSsInclude('public/css/FilterWidget.css');
|
||||
|
||||
// NavigationWidget CSS
|
||||
if ($navigationwidget === true) _generateCSSsInclude('public/css/NavigationWidget.css');
|
||||
|
||||
// Eventually required CSS
|
||||
_generateCSSsInclude($customCSSs); // Eventually required CSS
|
||||
|
||||
@@ -210,6 +218,12 @@ function _generateAddonsJSsInclude($calledFrom)
|
||||
_generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/js/sb-admin-2.min.js');
|
||||
}
|
||||
|
||||
// FilterWidget JS
|
||||
if($filterwidget === true) _generateJSsInclude('public/js/FilterWidget.js') ;
|
||||
|
||||
// NavigationWidget JS
|
||||
if($navigationwidget === true) _generateJSsInclude('public/js/NavigationWidget.js') ;
|
||||
|
||||
// Load addon hooks JS
|
||||
if ($addons === true) _generateAddonsJSsInclude($calledPath.'/'.$calledMethod);
|
||||
|
||||
|
||||
@@ -1,164 +1,3 @@
|
||||
<style>
|
||||
|
||||
.filter-options-span {
|
||||
display: inline-block;
|
||||
width: 130px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.filter-name-title {
|
||||
font-family: inherit;
|
||||
font-size: 16px;
|
||||
/*font-weight: bold;*/
|
||||
line-height: 1.1;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.filters-hidden-panel {
|
||||
margin: 0 10px 10px 10px;
|
||||
}
|
||||
|
||||
.hidden-control {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.filter-select-fields-dnd-div {
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.filter-select-field-dnd-span {
|
||||
border: 1px solid black;
|
||||
border-radius: 7px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
padding: 10px;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
.filter-select-field-dnd-span:hover {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.filter-select-field-dnd-span a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.selection-before::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
margin-right: 3px;
|
||||
border-left: 2px solid #428bca;
|
||||
}
|
||||
|
||||
.selection-after::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 100%;
|
||||
height: 100%;
|
||||
margin-left: 3px;
|
||||
border-right: 2px solid #428bca;
|
||||
}
|
||||
|
||||
.select-filter-operation {
|
||||
display: inline;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.select-filter-operation-value {
|
||||
display: inline;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
.select-filter-option {
|
||||
display: inline;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#addField, #customFilterDescription, #addFilter {
|
||||
display: inline;
|
||||
width: 535px;
|
||||
}
|
||||
|
||||
#selectedFilters {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#applyFilter, #saveCustomFilterButton, .remove-selected-filter {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#applyFilter, #saveCustomFilterButton {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.remove-selected-filter {
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
font-weight: bold;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
.remove-field {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
function sideMenuHook()
|
||||
{
|
||||
$(".remove-filter").click(function() {
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/deleteCustomFilter'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
filter_id: $(this).attr('value'),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
refreshSideMenu();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$("[data-toggle='collapse']").click(function() {
|
||||
|
||||
var filterOptionsStatus = sessionStorage.getItem('filter-options-status');
|
||||
|
||||
if (filterOptionsStatus != null && filterOptionsStatus == 'closed')
|
||||
{
|
||||
sessionStorage.setItem('filter-options-status', 'open');
|
||||
}
|
||||
else
|
||||
{
|
||||
sessionStorage.setItem('filter-options-status', 'closed');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var filterOptionsStatus = sessionStorage.getItem('filter-options-status');
|
||||
if (filterOptionsStatus != null && filterOptionsStatus == 'open')
|
||||
{
|
||||
$('.collapse').collapse("show");
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
|
||||
@@ -1,36 +1,3 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#saveCustomFilterButton").click(function() {
|
||||
if ($("#customFilterDescription").val() != '')
|
||||
{
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/saveFilter'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
customFilterDescription: $("#customFilterDescription").val(),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
refreshSideMenu()
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Please fill te description of this filter");
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
|
||||
@@ -1,247 +1,11 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
<div id="filterSelectFieldsDnd" class="filter-select-fields-dnd-div"></div>
|
||||
|
||||
function dndSF()
|
||||
{
|
||||
$(".filter-select-field-dnd-span").draggable({
|
||||
containment: "parent",
|
||||
cursor: "move",
|
||||
opacity: 0.4,
|
||||
revert: "invalid",
|
||||
revertDuration: 200,
|
||||
drag: function(event, ui) {
|
||||
<div>
|
||||
<span class="filter-options-span">
|
||||
Add field:
|
||||
</span>
|
||||
|
||||
var padding = 20;
|
||||
var draggedElement = $(this);
|
||||
|
||||
$(".filter-select-field-dnd-span").each(function(i, e) {
|
||||
|
||||
if ($(this).attr('id') != draggedElement.attr('id'))
|
||||
{
|
||||
$(this).removeClass("selection-after");
|
||||
$(this).removeClass("selection-before");
|
||||
|
||||
var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
|
||||
|
||||
if (event.pageX > ($(this).offset().left - (padding / 2))
|
||||
&& event.pageX < ($(this).offset().left + $(this).width() + (padding / 2)))
|
||||
{
|
||||
if (event.pageX > elementCenter)
|
||||
{
|
||||
$(this).addClass("selection-after");
|
||||
$(this).removeClass("selection-before");
|
||||
}
|
||||
else if (event.pageX < elementCenter)
|
||||
{
|
||||
$(this).addClass("selection-before");
|
||||
$(this).removeClass("selection-after");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$(".filter-select-field-dnd-span").droppable({
|
||||
accept: ".filter-select-field-dnd-span",
|
||||
drop: function(event, ui) {
|
||||
|
||||
var padding = 20;
|
||||
var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
|
||||
var draggedElement = ui.helper;
|
||||
|
||||
if (event.pageX > elementCenter)
|
||||
{
|
||||
draggedElement.insertAfter($(this));
|
||||
}
|
||||
else if (event.pageX < elementCenter)
|
||||
{
|
||||
draggedElement.insertBefore($(this));
|
||||
}
|
||||
|
||||
$(this).removeClass("selection-before");
|
||||
$(this).removeClass("selection-after");
|
||||
|
||||
draggedElement.css({left: '0px', top: '10px'});
|
||||
|
||||
var arrayDndId = [];
|
||||
|
||||
$(".filter-select-field-dnd-span").each(function(i, e) {
|
||||
|
||||
arrayDndId[i] = $(this).attr('id').replace('dnd', '');
|
||||
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/sortSelectedFields'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
selectedFieldsLst: arrayDndId,
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFields();
|
||||
renderSelectedFields();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetEventsSF()
|
||||
{
|
||||
$("#addField").off('change');
|
||||
$(".remove-field").off('click');
|
||||
}
|
||||
|
||||
function addEventsSF()
|
||||
{
|
||||
$("#addField").change(function(event) {
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/addSelectedFields'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).val(),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFields();
|
||||
renderSelectedFields();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(".remove-field").click(function(event) {
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/removeSelectedFields'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).attr('fieldToRemove'),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFields();
|
||||
renderSelectedFields();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function renderSelectedFields()
|
||||
{
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/selectFields'); ?>",
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetEventsSF();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var arrayFieldsToDisplay = [];
|
||||
|
||||
if (data.columnsAliases != null && $.isArray(data.columnsAliases))
|
||||
{
|
||||
arrayFieldsToDisplay = data.columnsAliases;
|
||||
}
|
||||
else if (data.selectedFields != null && $.isArray(data.selectedFields))
|
||||
{
|
||||
arrayFieldsToDisplay = data.selectedFields;
|
||||
}
|
||||
|
||||
for (var i = 0; i < arrayFieldsToDisplay.length; i++)
|
||||
{
|
||||
var fieldToDisplay = arrayFieldsToDisplay[i];
|
||||
var fieldName = data.selectedFields[i];
|
||||
|
||||
var strHtml = '<span id="dnd' + fieldName + '" class="filter-select-field-dnd-span">';
|
||||
|
||||
strHtml += '<span>';
|
||||
strHtml += fieldToDisplay;
|
||||
strHtml += '</span>';
|
||||
strHtml += '<span><a class="remove-field" fieldToRemove="' + fieldName + '"> X </a></span>';
|
||||
strHtml += '</span>';
|
||||
$("#filterSelectFieldsDnd").append(strHtml);
|
||||
}
|
||||
|
||||
var strDropDown = '<option value="">Select a field to add...</option>';
|
||||
$("#addField").append(strDropDown);
|
||||
|
||||
for (var i = 0; i < data.allSelectedFields.length; i++)
|
||||
{
|
||||
var fieldName = data.allSelectedFields[i];
|
||||
var fieldToDisplay = data.allSelectedFields[i];
|
||||
|
||||
if (data.selectedFields.indexOf(fieldName) < 0)
|
||||
{
|
||||
if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases))
|
||||
{
|
||||
fieldToDisplay = data.allColumnsAliases[i];
|
||||
}
|
||||
|
||||
strDropDown = '<option value="' + fieldName + '">' + fieldToDisplay + '</option>';
|
||||
$("#addField").append(strDropDown);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dndSF();
|
||||
addEventsSF();
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function resetSelectedFields()
|
||||
{
|
||||
$("#filterSelectFieldsDnd").html("");
|
||||
$("#addField").html("");
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
renderSelectedFields();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div id="filterSelectFieldsDnd" class="filter-select-fields-dnd-div"></div>
|
||||
|
||||
<div>
|
||||
<span class="filter-options-span">
|
||||
Add field:
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<select id="addField"></select>
|
||||
</span>
|
||||
</div>
|
||||
<span>
|
||||
<select id="addField"></select>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -1,282 +1,3 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
function resetEventsSFilters()
|
||||
{
|
||||
$("#addFilter").off('change');
|
||||
}
|
||||
|
||||
function addEventsSFilters()
|
||||
{
|
||||
$("#addFilter").change(function(event) {
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/addSelectedFilters'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).val(),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFilters();
|
||||
renderSelectedFilters();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(".select-filter-operation").change(function() {
|
||||
|
||||
if ($(this).val() == "set" || $(this).val() == "nset")
|
||||
{
|
||||
$(this).parent().parent().find(".select-filter-operation-value").addClass("hidden-control");
|
||||
$(this).parent().parent().find(".select-filter-option").addClass("hidden-control");
|
||||
|
||||
$(this).parent().parent().find(".select-filter-operation-value").prop('disabled', true);
|
||||
$(this).parent().parent().find(".select-filter-option").prop('disabled', true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).parent().parent().find(".select-filter-operation-value").removeClass("hidden-control");
|
||||
$(this).parent().parent().find(".select-filter-option").removeClass("hidden-control");
|
||||
|
||||
$(this).parent().parent().find(".select-filter-operation-value").prop('disabled', false);
|
||||
$(this).parent().parent().find(".select-filter-option").prop('disabled', false);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("#applyFilter").click(function() {
|
||||
|
||||
var selectFilterName = [];
|
||||
var selectFilterOperation = [];
|
||||
var selectFilterOperationValue = [];
|
||||
var selectFilterOption = [];
|
||||
|
||||
$("#selectedFilters > div").each(function(i, e) {
|
||||
var tmpSelectFilterName = $(this).find('.hidden-field-name').val();
|
||||
var tmpSelectFilterOperation = $(this).find('.select-filter-operation').val();
|
||||
var tmpSelectFilterOperationValue = $(this).find('.select-filter-operation-value:enabled').val();
|
||||
var tmpSelectFilterOption = $(this).find('.select-filter-option:enabled').val();
|
||||
|
||||
selectFilterName.push(tmpSelectFilterName);
|
||||
selectFilterOperation.push(tmpSelectFilterOperation);
|
||||
selectFilterOperationValue.push(tmpSelectFilterOperationValue != null ? tmpSelectFilterOperationValue : "");
|
||||
selectFilterOption.push(tmpSelectFilterOption != null ? tmpSelectFilterOption : "");
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/applyFilter'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
filterNames: selectFilterName,
|
||||
filterOperations: selectFilterOperation,
|
||||
filterOperationValues: selectFilterOperationValue,
|
||||
filterOptions: selectFilterOption,
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
// Success
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
|
||||
// Error
|
||||
|
||||
}).always(function() {
|
||||
|
||||
location.reload();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(".remove-selected-filter").click(function(event) {
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/removeSelectedFilters'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).attr('filterToRemove'),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
resetSelectedFilters();
|
||||
renderSelectedFilters();
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function renderSelectedFilterFields(metaData, activeFilters, activeFiltersOperation, activeFiltersOption)
|
||||
{
|
||||
var html = '';
|
||||
|
||||
if (metaData.type.toLowerCase().indexOf("int") >= 0)
|
||||
{
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="equal" ' + (activeFiltersOperation == "equal" ? "selected" : "") + '>equal</option>';
|
||||
html += ' <option value="nequal" ' + (activeFiltersOperation == "nqual" ? "selected" : "") + '>not equal</option>';
|
||||
html += ' <option value="gt" ' + (activeFiltersOperation == "gt" ? "selected" : "") + '>greater than</option>';
|
||||
html += ' <option value="lt" ' + (activeFiltersOperation == "lt" ? "selected" : "") + '>less than</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="number" value="' + activeFilters + '" class="form-control select-filter-operation-value">';
|
||||
html += '</span>';
|
||||
}
|
||||
if (metaData.type.toLowerCase().indexOf('varchar') >= 0 || metaData.type.toLowerCase() == 'text')
|
||||
{
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="contains" ' + (activeFiltersOperation == "contains" ? "selected" : "") + '>contains</option>';
|
||||
html += ' <option value="ncontains" ' + (activeFiltersOperation == "ncontains" ? "selected" : "") + '>does not contain</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="text" value="' + activeFilters + '" class="form-control select-filter-operation-value">';
|
||||
html += '</span>';
|
||||
}
|
||||
if (metaData.type.toLowerCase().indexOf('bool') >= 0)
|
||||
{
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="true" ' + (activeFiltersOperation == "true" ? "selected" : "") + '>is true</option>';
|
||||
html += ' <option value="false" ' + (activeFiltersOperation == "false" ? "selected" : "") + '>is false</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="hidden" value="' + activeFilters + '" class="form-control select-filter-operation-value">';
|
||||
html += '</span>';
|
||||
}
|
||||
if (metaData.type.toLowerCase().indexOf('timestamp') >= 0 || metaData.type.toLowerCase().indexOf('date') >= 0)
|
||||
{
|
||||
var classOperation = 'form-control select-filter-operation-value';
|
||||
var classOption = 'form-control select-filter-option';
|
||||
var disabled = "";
|
||||
|
||||
if (activeFiltersOperation == "set" || activeFiltersOperation == "nset")
|
||||
{
|
||||
classOperation += ' hidden-control';
|
||||
classOption += ' hidden-control';
|
||||
disabled = "disabled";
|
||||
}
|
||||
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="lt" ' + (activeFiltersOperation == "lt" ? "selected" : "") + '>less than</option>';
|
||||
html += ' <option value="gt" ' + (activeFiltersOperation == "gt" ? "selected" : "") + '>greater than</option>';
|
||||
html += ' <option value="set" ' + (activeFiltersOperation == "set" ? "selected" : "") + '>is set</option>';
|
||||
html += ' <option value="nset" ' + (activeFiltersOperation == "nset" ? "selected" : "") + '>is not set</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="text" value="' + activeFilters + '" class="' + classOperation + '" ' + disabled + '>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <select class="' + classOption + '" ' + disabled + '>';
|
||||
html += ' <option value="days" ' + (activeFiltersOption == "days" ? "selected" : "") + '>Days</option>';
|
||||
html += ' <option value="months" ' + (activeFiltersOption == "months" ? "selected" : "") + '>Months</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
}
|
||||
|
||||
html += '<span>';
|
||||
html += ' <input type="hidden" value="' + metaData.name + '" class="hidden-field-name">';
|
||||
html += '</span>';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function renderSelectedFilters()
|
||||
{
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/selectFilters'); ?>",
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetEventsSFilters();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var strDropDown = '<option value="">Select a filter to add...</option>';
|
||||
$("#addFilter").append(strDropDown);
|
||||
|
||||
for (var i = 0; i < data.selectedFilters.length; i++)
|
||||
{
|
||||
var selectedFilters = '<div>';
|
||||
|
||||
selectedFilters += '<span class="filter-options-span">';
|
||||
selectedFilters += data.selectedFiltersAliases[i];
|
||||
selectedFilters += '</span>';
|
||||
|
||||
selectedFilters += renderSelectedFilterFields(
|
||||
data.selectedFiltersMetaData[i],
|
||||
data.selectedFiltersActiveFilters[i],
|
||||
data.selectedFiltersActiveFiltersOperation[i],
|
||||
data.selectedFiltersActiveFiltersOption[i]
|
||||
);
|
||||
|
||||
selectedFilters += '<span>';
|
||||
selectedFilters += '<input type="button" value="X" class="remove-selected-filter btn btn-default" filterToRemove="' + data.selectedFilters[i] + '">';
|
||||
selectedFilters += '</span>';
|
||||
|
||||
selectedFilters += '</div>';
|
||||
|
||||
$("#selectedFilters").append(selectedFilters);
|
||||
}
|
||||
|
||||
for (var i = 0; i < data.allSelectedFields.length; i++)
|
||||
{
|
||||
var fieldName = data.allSelectedFields[i];
|
||||
var fieldToDisplay = data.allSelectedFields[i];
|
||||
|
||||
if (data.selectedFilters.indexOf(fieldName) < 0)
|
||||
{
|
||||
if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases))
|
||||
{
|
||||
fieldToDisplay = data.allColumnsAliases[i];
|
||||
}
|
||||
|
||||
strDropDown = '<option value="' + fieldName + '">' + fieldToDisplay + '</option>';
|
||||
$("#addFilter").append(strDropDown);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addEventsSFilters();
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function resetSelectedFilters()
|
||||
{
|
||||
$("#addFilter").html("");
|
||||
$("#selectedFilters").html("");
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
renderSelectedFilters();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<br>
|
||||
|
||||
<div id="selectedFilters"></div>
|
||||
|
||||
@@ -1,153 +1,3 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
function callTableSorter()
|
||||
{
|
||||
// Checks if the table contains data (rows)
|
||||
if ($('#filterTableDataset').find('tbody:empty').length == 0
|
||||
&& $('#filterTableDataset').find('tr:empty').length == 0
|
||||
&& $('#filterTableDataset').hasClass('table-condensed'))
|
||||
{
|
||||
$("#filterTableDataset").tablesorter({
|
||||
widgets: ["zebra", "filter"]
|
||||
});
|
||||
|
||||
var config = $('#filterTableDataset')[0].config;
|
||||
$.tablesorter.updateAll(config, true, null);
|
||||
}
|
||||
}
|
||||
|
||||
function renderTableDataset()
|
||||
{
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/tableDataset'); ?>",
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetTableDataset();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
if (data.checkboxes != null)
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").append("<th title=\"Select\">Select</th>");
|
||||
}
|
||||
|
||||
var arrayFieldsToDisplay = [];
|
||||
|
||||
if (data.columnsAliases != null && $.isArray(data.columnsAliases) && data.columnsAliases.length > 0)
|
||||
{
|
||||
arrayFieldsToDisplay = data.columnsAliases;
|
||||
}
|
||||
else if (data.selectedFields != null && $.isArray(data.selectedFields))
|
||||
{
|
||||
arrayFieldsToDisplay = data.selectedFields;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------------------------------ */
|
||||
if (data.checkboxes != null && data.checkboxes != "")
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").html("<th title=\"Select\">Select</th>");
|
||||
}
|
||||
|
||||
for (var i = 0; i < arrayFieldsToDisplay.length; i++)
|
||||
{
|
||||
var th = arrayFieldsToDisplay[i];
|
||||
|
||||
$("#filterTableDataset > thead > tr").append("<th title=\"" + th + "\">" + th + "</th>");
|
||||
}
|
||||
|
||||
if (data.additionalColumns != null && $.isArray(data.additionalColumns))
|
||||
{
|
||||
for (var i = 0; i < data.additionalColumns.length; i++)
|
||||
{
|
||||
var th = data.additionalColumns[i];
|
||||
|
||||
$("#filterTableDataset > thead > tr").append("<th title=\"" + th + "\">" + th + "</th>");
|
||||
}
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------ */
|
||||
|
||||
if (arrayFieldsToDisplay.length > 0)
|
||||
{
|
||||
if (data.dataset != null && $.isArray(data.dataset))
|
||||
{
|
||||
for (var i = 0; i < data.dataset.length; i++)
|
||||
{
|
||||
var record = data.dataset[i];
|
||||
var strHtml = '<tr class="' + record.FILTER_CLASS_MARK_ROW + '">';
|
||||
|
||||
if (data.checkboxes != null && data.checkboxes != "")
|
||||
{
|
||||
strHtml += '<td>';
|
||||
strHtml += '<input type="checkbox" name="' + data.checkboxes + '[]" value="' + record[data.checkboxes] + '">';
|
||||
strHtml += '</td>';
|
||||
}
|
||||
|
||||
$.each(arrayFieldsToDisplay, function(i, fieldToDisplay) {
|
||||
|
||||
if (record.hasOwnProperty(data.selectedFields[i]))
|
||||
{
|
||||
strHtml += '<td>' + record[data.selectedFields[i]] + '</td>';
|
||||
}
|
||||
});
|
||||
|
||||
if (data.additionalColumns != null && $.isArray(data.additionalColumns))
|
||||
{
|
||||
$.each(data.additionalColumns, function(i, additionalColumn) {
|
||||
|
||||
if (record.hasOwnProperty(additionalColumn))
|
||||
{
|
||||
strHtml += '<td>' + record[additionalColumn] + '</td>';
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
strHtml += '</tr>';
|
||||
|
||||
$("#filterTableDataset > tbody").append(strHtml);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// console.log("No dataset!!!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("No fields to display!!!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("No data!!!");
|
||||
}
|
||||
|
||||
callTableSorter();
|
||||
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function resetTableDataset()
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").html("");
|
||||
$("#filterTableDataset > tbody").html("");
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
renderTableDataset();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<table class="tablesorter table-bordered table-responsive" id="filterTableDataset">
|
||||
<thead>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
|
||||
<?php
|
||||
// Header
|
||||
echo $this->widgetlib->widget('NavigationHeaderWidget');
|
||||
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
|
||||
<?php
|
||||
// Header
|
||||
echo $this->widgetlib->widget('NavigationHeaderWidget');
|
||||
|
||||
// Left menu
|
||||
echo $this->widgetlib->widget('NavigationMenuWidget');
|
||||
?>
|
||||
</nav>
|
||||
// Left menu
|
||||
echo $this->widgetlib->widget('NavigationMenuWidget');
|
||||
?>
|
||||
</nav>
|
||||
|
||||
@@ -1,39 +1,11 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Navigation/header'); ?>",
|
||||
method: "GET",
|
||||
data: {
|
||||
navigation_widget_called: "<?php echo $this->router->directory.$this->router->class.'/'.$this->router->method; ?>"
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
jQuery.each(data, function(i, e) {
|
||||
$(".menu-header-items").append('<a class="navbar-brand" href="' + e + '">' + i + '</a>');
|
||||
});
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div class="navbar-header">
|
||||
<span>
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Menü umschalten </span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</span>
|
||||
<span class="menu-header-items"></span>
|
||||
</div>
|
||||
<div class="navbar-header">
|
||||
<span>
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Menü umschalten </span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</span>
|
||||
<span class="menu-header-items"></span>
|
||||
</div>
|
||||
|
||||
@@ -1,169 +1,3 @@
|
||||
<style>
|
||||
#collapseinicon {
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
color: #337ab7;
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
border-right: 1px solid #e7e7e7;
|
||||
border-left: 1px solid #e7e7e7;
|
||||
position: absolute;
|
||||
width: 45px;
|
||||
height: 20px;
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
|
||||
.nav > li > span > a:focus, .nav > li > span > a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav > li > span {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.menuSubscriptLink {
|
||||
font-size: 10px;
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
.sidebar ul li span a.active {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
function printNavItem(item, depth = 1)
|
||||
{
|
||||
strMenu = "";
|
||||
var expanded = typeof item['expand'] != 'undefined' && item['expand'] === true ? ' active' : '';
|
||||
|
||||
strMenu += '<li class="' + expanded + '">';
|
||||
|
||||
if (typeof item['subscriptLinkClass'] != 'undefined' && typeof item['subscriptDescription'] != 'undefined')
|
||||
{
|
||||
strMenu += '<span>';
|
||||
}
|
||||
|
||||
strMenu += '<a href="' + item['link'] + '"' + expanded + '>';
|
||||
|
||||
if (item['icon'] != 'undefined')
|
||||
{
|
||||
strMenu += '<i class="fa fa-' + item['icon'] + ' fa-fw"></i> ';
|
||||
}
|
||||
|
||||
strMenu += item['description'];
|
||||
|
||||
if (typeof item['children'] != 'undefined' && Object.keys(item['children']).length > 0)
|
||||
{
|
||||
strMenu += '<span class="fa arrow"></span>';
|
||||
}
|
||||
|
||||
strMenu += '</a>';
|
||||
|
||||
if (typeof item['subscriptLinkClass'] != 'undefined' && typeof item['subscriptDescription'] != 'undefined')
|
||||
{
|
||||
strMenu += '<a class="' + item['subscriptLinkClass'] + ' menuSubscriptLink" value="' + item['subscriptLinkValue'] + '" href="#"> (' + item['subscriptDescription'] + ')</a>';
|
||||
strMenu += '</span>';
|
||||
}
|
||||
|
||||
if (typeof item['children'] != 'undefined' && Object.keys(item['children']).length > 0)
|
||||
{
|
||||
var level = '';
|
||||
if (depth === 1)
|
||||
{
|
||||
level = 'second';
|
||||
}
|
||||
else if (depth > 1)
|
||||
{
|
||||
level = 'third';
|
||||
}
|
||||
|
||||
strMenu += '<ul class="nav nav-' + level + '-level" ' + expanded + '>';
|
||||
|
||||
jQuery.each(item['children'], function(i, e) {
|
||||
strMenu += printNavItem(e, ++depth);
|
||||
});
|
||||
|
||||
strMenu += '</ul>';
|
||||
}
|
||||
|
||||
strMenu += '</li>';
|
||||
|
||||
return strMenu;
|
||||
}
|
||||
|
||||
function renderSideMenu()
|
||||
{
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Navigation/menu'); ?>",
|
||||
method: "GET",
|
||||
data: {
|
||||
navigation_widget_called: "<?php echo $this->router->directory.$this->router->class.'/'.$this->router->method; ?>"
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var strMenu = '';
|
||||
|
||||
printCollapseIcon();
|
||||
|
||||
jQuery.each(data, function(i, e) {
|
||||
strMenu += printNavItem(e);
|
||||
});
|
||||
|
||||
$("#side-menu").html(strMenu);
|
||||
$("#side-menu").metisMenu();
|
||||
}
|
||||
|
||||
if (typeof sideMenuHook == 'function')
|
||||
{
|
||||
sideMenuHook();
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function printCollapseIcon()
|
||||
{
|
||||
// Hiding/showing navigation menu - works only with sb admin 2 template!!
|
||||
if(!$("#collapseicon").length)
|
||||
$("#side-menu").parent().append('<div id="collapseicon" title="hide Menu" class="text-right" style="cursor: pointer; color: #337ab7"><i class="fa fa-angle-double-left fa-fw"></i></div>');
|
||||
|
||||
$("#collapseicon").click(function() {
|
||||
$("#page-wrapper").css('margin-left', '0px');
|
||||
$("#side-menu").hide();
|
||||
$("#collapseicon").hide();
|
||||
$("#collapseinicon").show();
|
||||
});
|
||||
|
||||
$("#collapseinicon").click(function() {
|
||||
$("#page-wrapper").css('margin-left', '250px');
|
||||
$("#side-menu").show();
|
||||
$("#collapseicon").show();
|
||||
$("#collapseinicon").hide();
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
renderSideMenu();
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div class="navbar-default sidebar" role="navigation">
|
||||
<div class="sidebar-nav navbar-collapse">
|
||||
<ul class="nav" id="side-menu"></ul>
|
||||
|
||||
@@ -506,7 +506,8 @@ class FilterWidget extends Widget
|
||||
$this->hideSave = false;
|
||||
$this->columnsAliases = null;
|
||||
$this->filterName = null;
|
||||
$this->fhc_controller_id = null;
|
||||
|
||||
$this->filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
if (!is_array($args) || (is_array($args) && count($args) == 0))
|
||||
{
|
||||
@@ -514,15 +515,6 @@ class FilterWidget extends Widget
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isset($args['fhc_controller_id']))
|
||||
{
|
||||
show_error('Dude you forgot the fhc_controller_id');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->fhc_controller_id = $args['fhc_controller_id'];
|
||||
}
|
||||
|
||||
if ((
|
||||
!isset($args[self::APP_PARAMETER])
|
||||
&& !isset($args[self::DATASET_NAME_PARAMETER])
|
||||
@@ -1164,8 +1156,8 @@ class FilterWidget extends Widget
|
||||
*/
|
||||
private function _readSession()
|
||||
{
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$this->fhc_controller_id]))
|
||||
return $_SESSION[self::SESSION_NAME][$this->fhc_controller_id];
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$this->filterUniqueId]))
|
||||
return $_SESSION[self::SESSION_NAME][$this->filterUniqueId];
|
||||
|
||||
return array();
|
||||
}
|
||||
@@ -1181,6 +1173,14 @@ class FilterWidget extends Widget
|
||||
$_SESSION[self::SESSION_NAME] = array();
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$this->fhc_controller_id] = $data;
|
||||
$_SESSION[self::SESSION_NAME][$this->filterUniqueId] = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _getFilterUniqueId()
|
||||
{
|
||||
return $this->router->directory.$this->router->class.'/'.$this->router->method.'/'.$this->input->get('fhc_controller_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
.filter-options-span {
|
||||
display: inline-block;
|
||||
width: 130px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.filter-name-title {
|
||||
font-family: inherit;
|
||||
font-size: 16px;
|
||||
/*font-weight: bold;*/
|
||||
line-height: 1.1;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.filters-hidden-panel {
|
||||
margin: 0 10px 10px 10px;
|
||||
}
|
||||
|
||||
.hidden-control {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.filter-select-fields-dnd-div {
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.filter-select-field-dnd-span {
|
||||
border: 1px solid black;
|
||||
border-radius: 7px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
padding: 10px;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
.filter-select-field-dnd-span:hover {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.filter-select-field-dnd-span a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.selection-before::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
height: 100%;
|
||||
margin-right: 3px;
|
||||
border-left: 2px solid #428bca;
|
||||
}
|
||||
|
||||
.selection-after::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 100%;
|
||||
height: 100%;
|
||||
margin-left: 3px;
|
||||
border-right: 2px solid #428bca;
|
||||
}
|
||||
|
||||
.select-filter-operation {
|
||||
display: inline;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.select-filter-operation-value {
|
||||
display: inline;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
.select-filter-option {
|
||||
display: inline;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#addField, #customFilterDescription, #addFilter {
|
||||
display: inline;
|
||||
width: 535px;
|
||||
}
|
||||
|
||||
#selectedFilters {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#applyFilter, #saveCustomFilterButton, .remove-selected-filter {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#applyFilter, #saveCustomFilterButton {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.remove-selected-filter {
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
font-weight: bold;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
.remove-field {
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
#collapseinicon {
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
color: #337ab7;
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
border-right: 1px solid #e7e7e7;
|
||||
border-left: 1px solid #e7e7e7;
|
||||
position: absolute;
|
||||
width: 45px;
|
||||
height: 20px;
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
|
||||
.nav > li > span > a:focus, .nav > li > span > a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav > li > span {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.menuSubscriptLink {
|
||||
font-size: 10px;
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
.sidebar ul li span a.active {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
}
|
||||
@@ -281,7 +281,7 @@ var FHC_Ajax_Client = {
|
||||
/**
|
||||
* Retrives parameters from URL query string (HTTP GET parameters)
|
||||
*/
|
||||
_getUrlParameter: function(sParam) {
|
||||
getUrlParameter: function(sParam) {
|
||||
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
||||
sURLVariables = sPageURL.split('&'),
|
||||
sParameterName,
|
||||
@@ -343,7 +343,7 @@ var FHC_Ajax_Client = {
|
||||
// Remote controller
|
||||
data[REMOTE_CONTROLLER] = remoteController;
|
||||
// fhc_controller_id is given if present
|
||||
data[FHC_CONTROLLER_ID] = FHC_Ajax_Client._getUrlParameter(FHC_CONTROLLER_ID);
|
||||
data[FHC_CONTROLLER_ID] = FHC_Ajax_Client.getUrlParameter(FHC_CONTROLLER_ID);
|
||||
|
||||
// Stores them into ajaxParameters
|
||||
// NOTE: property data is not possible to get later,
|
||||
|
||||
@@ -0,0 +1,730 @@
|
||||
var fhc_controller_id = FHC_Ajax_Client.getUrlParameter('fhc_controller_id');
|
||||
|
||||
function sideMenuHook()
|
||||
{
|
||||
$(".remove-filter").click(function() {
|
||||
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/deleteCustomFilter',
|
||||
method: "POST",
|
||||
data: {
|
||||
filter_id: $(this).attr('value')
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
refreshSideMenu();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function dndSF()
|
||||
{
|
||||
$(".filter-select-field-dnd-span").draggable({
|
||||
containment: "parent",
|
||||
cursor: "move",
|
||||
opacity: 0.4,
|
||||
revert: "invalid",
|
||||
revertDuration: 200,
|
||||
drag: function(event, ui) {
|
||||
|
||||
var padding = 20;
|
||||
var draggedElement = $(this);
|
||||
|
||||
$(".filter-select-field-dnd-span").each(function(i, e) {
|
||||
|
||||
if ($(this).attr('id') != draggedElement.attr('id'))
|
||||
{
|
||||
$(this).removeClass("selection-after");
|
||||
$(this).removeClass("selection-before");
|
||||
|
||||
var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
|
||||
|
||||
if (event.pageX > ($(this).offset().left - (padding / 2))
|
||||
&& event.pageX < ($(this).offset().left + $(this).width() + (padding / 2)))
|
||||
{
|
||||
if (event.pageX > elementCenter)
|
||||
{
|
||||
$(this).addClass("selection-after");
|
||||
$(this).removeClass("selection-before");
|
||||
}
|
||||
else if (event.pageX < elementCenter)
|
||||
{
|
||||
$(this).addClass("selection-before");
|
||||
$(this).removeClass("selection-after");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$(".filter-select-field-dnd-span").droppable({
|
||||
accept: ".filter-select-field-dnd-span",
|
||||
drop: function(event, ui) {
|
||||
|
||||
var padding = 20;
|
||||
var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
|
||||
var draggedElement = ui.helper;
|
||||
|
||||
if (event.pageX > elementCenter)
|
||||
{
|
||||
draggedElement.insertAfter($(this));
|
||||
}
|
||||
else if (event.pageX < elementCenter)
|
||||
{
|
||||
draggedElement.insertBefore($(this));
|
||||
}
|
||||
|
||||
$(this).removeClass("selection-before");
|
||||
$(this).removeClass("selection-after");
|
||||
|
||||
draggedElement.css({left: '0px', top: '10px'});
|
||||
|
||||
var arrayDndId = [];
|
||||
|
||||
$(".filter-select-field-dnd-span").each(function(i, e) {
|
||||
|
||||
arrayDndId[i] = $(this).attr('id').replace('dnd', '');
|
||||
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/sortSelectedFields',
|
||||
method: "POST",
|
||||
data: {
|
||||
selectedFieldsLst: arrayDndId,
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFields();
|
||||
renderSelectedFields();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetEventsSF()
|
||||
{
|
||||
$("#addField").off('change');
|
||||
$(".remove-field").off('click');
|
||||
}
|
||||
|
||||
function addEventsSF()
|
||||
{
|
||||
$("#addField").change(function(event) {
|
||||
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/addSelectedFields',
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).val(),
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFields();
|
||||
renderSelectedFields();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(".remove-field").click(function(event) {
|
||||
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/removeSelectedFields',
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).attr('fieldToRemove'),
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFields();
|
||||
renderSelectedFields();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function renderSelectedFields()
|
||||
{
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/selectFields',
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetEventsSF();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var arrayFieldsToDisplay = [];
|
||||
|
||||
if (data.columnsAliases != null && $.isArray(data.columnsAliases))
|
||||
{
|
||||
arrayFieldsToDisplay = data.columnsAliases;
|
||||
}
|
||||
else if (data.selectedFields != null && $.isArray(data.selectedFields))
|
||||
{
|
||||
arrayFieldsToDisplay = data.selectedFields;
|
||||
}
|
||||
|
||||
for (var i = 0; i < arrayFieldsToDisplay.length; i++)
|
||||
{
|
||||
var fieldToDisplay = arrayFieldsToDisplay[i];
|
||||
var fieldName = data.selectedFields[i];
|
||||
|
||||
var strHtml = '<span id="dnd' + fieldName + '" class="filter-select-field-dnd-span">';
|
||||
|
||||
strHtml += '<span>';
|
||||
strHtml += fieldToDisplay;
|
||||
strHtml += '</span>';
|
||||
strHtml += '<span><a class="remove-field" fieldToRemove="' + fieldName + '"> X </a></span>';
|
||||
strHtml += '</span>';
|
||||
$("#filterSelectFieldsDnd").append(strHtml);
|
||||
}
|
||||
|
||||
var strDropDown = '<option value="">Select a field to add...</option>';
|
||||
$("#addField").append(strDropDown);
|
||||
|
||||
for (var i = 0; i < data.allSelectedFields.length; i++)
|
||||
{
|
||||
var fieldName = data.allSelectedFields[i];
|
||||
var fieldToDisplay = data.allSelectedFields[i];
|
||||
|
||||
if (data.selectedFields.indexOf(fieldName) < 0)
|
||||
{
|
||||
if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases))
|
||||
{
|
||||
fieldToDisplay = data.allColumnsAliases[i];
|
||||
}
|
||||
|
||||
strDropDown = '<option value="' + fieldName + '">' + fieldToDisplay + '</option>';
|
||||
$("#addField").append(strDropDown);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dndSF();
|
||||
addEventsSF();
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function resetSelectedFields()
|
||||
{
|
||||
$("#filterSelectFieldsDnd").html("");
|
||||
$("#addField").html("");
|
||||
}
|
||||
|
||||
function resetEventsSFilters()
|
||||
{
|
||||
$("#addFilter").off('change');
|
||||
}
|
||||
|
||||
function addEventsSFilters()
|
||||
{
|
||||
$("#addFilter").change(function(event) {
|
||||
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/addSelectedFilters',
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).val(),
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetSelectedFilters();
|
||||
renderSelectedFilters();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(".select-filter-operation").change(function() {
|
||||
|
||||
if ($(this).val() == "set" || $(this).val() == "nset")
|
||||
{
|
||||
$(this).parent().parent().find(".select-filter-operation-value").addClass("hidden-control");
|
||||
$(this).parent().parent().find(".select-filter-option").addClass("hidden-control");
|
||||
|
||||
$(this).parent().parent().find(".select-filter-operation-value").prop('disabled', true);
|
||||
$(this).parent().parent().find(".select-filter-option").prop('disabled', true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).parent().parent().find(".select-filter-operation-value").removeClass("hidden-control");
|
||||
$(this).parent().parent().find(".select-filter-option").removeClass("hidden-control");
|
||||
|
||||
$(this).parent().parent().find(".select-filter-operation-value").prop('disabled', false);
|
||||
$(this).parent().parent().find(".select-filter-option").prop('disabled', false);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("#applyFilter").click(function() {
|
||||
|
||||
var selectFilterName = [];
|
||||
var selectFilterOperation = [];
|
||||
var selectFilterOperationValue = [];
|
||||
var selectFilterOption = [];
|
||||
|
||||
$("#selectedFilters > div").each(function(i, e) {
|
||||
var tmpSelectFilterName = $(this).find('.hidden-field-name').val();
|
||||
var tmpSelectFilterOperation = $(this).find('.select-filter-operation').val();
|
||||
var tmpSelectFilterOperationValue = $(this).find('.select-filter-operation-value:enabled').val();
|
||||
var tmpSelectFilterOption = $(this).find('.select-filter-option:enabled').val();
|
||||
|
||||
selectFilterName.push(tmpSelectFilterName);
|
||||
selectFilterOperation.push(tmpSelectFilterOperation);
|
||||
selectFilterOperationValue.push(tmpSelectFilterOperationValue != null ? tmpSelectFilterOperationValue : "");
|
||||
selectFilterOption.push(tmpSelectFilterOption != null ? tmpSelectFilterOption : "");
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/applyFilter',
|
||||
method: "POST",
|
||||
data: {
|
||||
filterNames: selectFilterName,
|
||||
filterOperations: selectFilterOperation,
|
||||
filterOperationValues: selectFilterOperationValue,
|
||||
filterOptions: selectFilterOption,
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
// Success
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
|
||||
// Error
|
||||
|
||||
}).always(function() {
|
||||
|
||||
location.reload();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(".remove-selected-filter").click(function(event) {
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/removeSelectedFilters',
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).attr('filterToRemove'),
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
resetSelectedFilters();
|
||||
renderSelectedFilters();
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function renderSelectedFilterFields(metaData, activeFilters, activeFiltersOperation, activeFiltersOption)
|
||||
{
|
||||
var html = '';
|
||||
|
||||
if (metaData.type.toLowerCase().indexOf("int") >= 0)
|
||||
{
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="equal" ' + (activeFiltersOperation == "equal" ? "selected" : "") + '>equal</option>';
|
||||
html += ' <option value="nequal" ' + (activeFiltersOperation == "nqual" ? "selected" : "") + '>not equal</option>';
|
||||
html += ' <option value="gt" ' + (activeFiltersOperation == "gt" ? "selected" : "") + '>greater than</option>';
|
||||
html += ' <option value="lt" ' + (activeFiltersOperation == "lt" ? "selected" : "") + '>less than</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="number" value="' + activeFilters + '" class="form-control select-filter-operation-value">';
|
||||
html += '</span>';
|
||||
}
|
||||
if (metaData.type.toLowerCase().indexOf('varchar') >= 0 || metaData.type.toLowerCase() == 'text')
|
||||
{
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="contains" ' + (activeFiltersOperation == "contains" ? "selected" : "") + '>contains</option>';
|
||||
html += ' <option value="ncontains" ' + (activeFiltersOperation == "ncontains" ? "selected" : "") + '>does not contain</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="text" value="' + activeFilters + '" class="form-control select-filter-operation-value">';
|
||||
html += '</span>';
|
||||
}
|
||||
if (metaData.type.toLowerCase().indexOf('bool') >= 0)
|
||||
{
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="true" ' + (activeFiltersOperation == "true" ? "selected" : "") + '>is true</option>';
|
||||
html += ' <option value="false" ' + (activeFiltersOperation == "false" ? "selected" : "") + '>is false</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="hidden" value="' + activeFilters + '" class="form-control select-filter-operation-value">';
|
||||
html += '</span>';
|
||||
}
|
||||
if (metaData.type.toLowerCase().indexOf('timestamp') >= 0 || metaData.type.toLowerCase().indexOf('date') >= 0)
|
||||
{
|
||||
var classOperation = 'form-control select-filter-operation-value';
|
||||
var classOption = 'form-control select-filter-option';
|
||||
var disabled = "";
|
||||
|
||||
if (activeFiltersOperation == "set" || activeFiltersOperation == "nset")
|
||||
{
|
||||
classOperation += ' hidden-control';
|
||||
classOption += ' hidden-control';
|
||||
disabled = "disabled";
|
||||
}
|
||||
|
||||
html = '<span>';
|
||||
html += ' <select class="form-control select-filter-operation">';
|
||||
html += ' <option value="lt" ' + (activeFiltersOperation == "lt" ? "selected" : "") + '>less than</option>';
|
||||
html += ' <option value="gt" ' + (activeFiltersOperation == "gt" ? "selected" : "") + '>greater than</option>';
|
||||
html += ' <option value="set" ' + (activeFiltersOperation == "set" ? "selected" : "") + '>is set</option>';
|
||||
html += ' <option value="nset" ' + (activeFiltersOperation == "nset" ? "selected" : "") + '>is not set</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <input type="text" value="' + activeFilters + '" class="' + classOperation + '" ' + disabled + '>';
|
||||
html += '</span>';
|
||||
html += '<span>';
|
||||
html += ' <select class="' + classOption + '" ' + disabled + '>';
|
||||
html += ' <option value="days" ' + (activeFiltersOption == "days" ? "selected" : "") + '>Days</option>';
|
||||
html += ' <option value="months" ' + (activeFiltersOption == "months" ? "selected" : "") + '>Months</option>';
|
||||
html += ' </select>';
|
||||
html += '</span>';
|
||||
}
|
||||
|
||||
html += '<span>';
|
||||
html += ' <input type="hidden" value="' + metaData.name + '" class="hidden-field-name">';
|
||||
html += '</span>';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function renderSelectedFilters()
|
||||
{
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/selectFilters',
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetEventsSFilters();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var strDropDown = '<option value="">Select a filter to add...</option>';
|
||||
$("#addFilter").append(strDropDown);
|
||||
|
||||
for (var i = 0; i < data.selectedFilters.length; i++)
|
||||
{
|
||||
var selectedFilters = '<div>';
|
||||
|
||||
selectedFilters += '<span class="filter-options-span">';
|
||||
selectedFilters += data.selectedFiltersAliases[i];
|
||||
selectedFilters += '</span>';
|
||||
|
||||
selectedFilters += renderSelectedFilterFields(
|
||||
data.selectedFiltersMetaData[i],
|
||||
data.selectedFiltersActiveFilters[i],
|
||||
data.selectedFiltersActiveFiltersOperation[i],
|
||||
data.selectedFiltersActiveFiltersOption[i]
|
||||
);
|
||||
|
||||
selectedFilters += '<span>';
|
||||
selectedFilters += '<input type="button" value="X" class="remove-selected-filter btn btn-default" filterToRemove="' + data.selectedFilters[i] + '">';
|
||||
selectedFilters += '</span>';
|
||||
|
||||
selectedFilters += '</div>';
|
||||
|
||||
$("#selectedFilters").append(selectedFilters);
|
||||
}
|
||||
|
||||
for (var i = 0; i < data.allSelectedFields.length; i++)
|
||||
{
|
||||
var fieldName = data.allSelectedFields[i];
|
||||
var fieldToDisplay = data.allSelectedFields[i];
|
||||
|
||||
if (data.selectedFilters.indexOf(fieldName) < 0)
|
||||
{
|
||||
if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases))
|
||||
{
|
||||
fieldToDisplay = data.allColumnsAliases[i];
|
||||
}
|
||||
|
||||
strDropDown = '<option value="' + fieldName + '">' + fieldToDisplay + '</option>';
|
||||
$("#addFilter").append(strDropDown);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addEventsSFilters();
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function resetSelectedFilters()
|
||||
{
|
||||
$("#addFilter").html("");
|
||||
$("#selectedFilters").html("");
|
||||
}
|
||||
|
||||
function callTableSorter()
|
||||
{
|
||||
// Checks if the table contains data (rows)
|
||||
if ($('#filterTableDataset').find('tbody:empty').length == 0
|
||||
&& $('#filterTableDataset').find('tr:empty').length == 0
|
||||
&& $('#filterTableDataset').hasClass('table-condensed'))
|
||||
{
|
||||
$("#filterTableDataset").tablesorter({
|
||||
widgets: ["zebra", "filter"]
|
||||
});
|
||||
|
||||
var config = $('#filterTableDataset')[0].config;
|
||||
$.tablesorter.updateAll(config, true, null);
|
||||
}
|
||||
}
|
||||
|
||||
function renderTableDataset()
|
||||
{
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/tableDataset',
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
resetTableDataset();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
if (data.checkboxes != null)
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").append("<th title=\"Select\">Select</th>");
|
||||
}
|
||||
|
||||
var arrayFieldsToDisplay = [];
|
||||
|
||||
if (data.columnsAliases != null && $.isArray(data.columnsAliases) && data.columnsAliases.length > 0)
|
||||
{
|
||||
arrayFieldsToDisplay = data.columnsAliases;
|
||||
}
|
||||
else if (data.selectedFields != null && $.isArray(data.selectedFields))
|
||||
{
|
||||
arrayFieldsToDisplay = data.selectedFields;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------------------------------ */
|
||||
if (data.checkboxes != null && data.checkboxes != "")
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").html("<th title=\"Select\">Select</th>");
|
||||
}
|
||||
|
||||
for (var i = 0; i < arrayFieldsToDisplay.length; i++)
|
||||
{
|
||||
var th = arrayFieldsToDisplay[i];
|
||||
|
||||
$("#filterTableDataset > thead > tr").append("<th title=\"" + th + "\">" + th + "</th>");
|
||||
}
|
||||
|
||||
if (data.additionalColumns != null && $.isArray(data.additionalColumns))
|
||||
{
|
||||
for (var i = 0; i < data.additionalColumns.length; i++)
|
||||
{
|
||||
var th = data.additionalColumns[i];
|
||||
|
||||
$("#filterTableDataset > thead > tr").append("<th title=\"" + th + "\">" + th + "</th>");
|
||||
}
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------ */
|
||||
|
||||
if (arrayFieldsToDisplay.length > 0)
|
||||
{
|
||||
if (data.dataset != null && $.isArray(data.dataset))
|
||||
{
|
||||
for (var i = 0; i < data.dataset.length; i++)
|
||||
{
|
||||
var record = data.dataset[i];
|
||||
var strHtml = '<tr class="' + record.FILTER_CLASS_MARK_ROW + '">';
|
||||
|
||||
if (data.checkboxes != null && data.checkboxes != "")
|
||||
{
|
||||
strHtml += '<td>';
|
||||
strHtml += '<input type="checkbox" name="' + data.checkboxes + '[]" value="' + record[data.checkboxes] + '">';
|
||||
strHtml += '</td>';
|
||||
}
|
||||
|
||||
$.each(arrayFieldsToDisplay, function(i, fieldToDisplay) {
|
||||
|
||||
if (record.hasOwnProperty(data.selectedFields[i]))
|
||||
{
|
||||
strHtml += '<td>' + record[data.selectedFields[i]] + '</td>';
|
||||
}
|
||||
});
|
||||
|
||||
if (data.additionalColumns != null && $.isArray(data.additionalColumns))
|
||||
{
|
||||
$.each(data.additionalColumns, function(i, additionalColumn) {
|
||||
|
||||
if (record.hasOwnProperty(additionalColumn))
|
||||
{
|
||||
strHtml += '<td>' + record[additionalColumn] + '</td>';
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
strHtml += '</tr>';
|
||||
|
||||
$("#filterTableDataset > tbody").append(strHtml);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// console.log("No dataset!!!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("No fields to display!!!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("No data!!!");
|
||||
}
|
||||
|
||||
callTableSorter();
|
||||
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function resetTableDataset()
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").html("");
|
||||
$("#filterTableDataset > tbody").html("");
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$("[data-toggle='collapse']").click(function() {
|
||||
|
||||
var filterOptionsStatus = sessionStorage.getItem('filter-options-status');
|
||||
|
||||
if (filterOptionsStatus != null && filterOptionsStatus == 'closed')
|
||||
{
|
||||
sessionStorage.setItem('filter-options-status', 'open');
|
||||
}
|
||||
else
|
||||
{
|
||||
sessionStorage.setItem('filter-options-status', 'closed');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var filterOptionsStatus = sessionStorage.getItem('filter-options-status');
|
||||
if (filterOptionsStatus != null && filterOptionsStatus == 'open')
|
||||
{
|
||||
$('.collapse').collapse("show");
|
||||
}
|
||||
|
||||
$("#saveCustomFilterButton").click(function() {
|
||||
if ($("#customFilterDescription").val() != '')
|
||||
{
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Filters/saveFilter',
|
||||
method: "POST",
|
||||
data: {
|
||||
customFilterDescription: $("#customFilterDescription").val(),
|
||||
fhc_controller_id: fhc_controller_id,
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
refreshSideMenu()
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Please fill te description of this filter");
|
||||
}
|
||||
});
|
||||
|
||||
renderSelectedFields();
|
||||
|
||||
renderSelectedFilters();
|
||||
|
||||
renderTableDataset();
|
||||
|
||||
});
|
||||
@@ -0,0 +1,171 @@
|
||||
/**
|
||||
* Used by the NavigationWidget
|
||||
*/
|
||||
|
||||
var fhc_controller_id = FHC_Ajax_Client.getUrlParameter('fhc_controller_id');
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function printNavItem(item, depth = 1)
|
||||
{
|
||||
strMenu = "";
|
||||
var expanded = typeof item['expand'] != 'undefined' && item['expand'] === true ? ' active' : '';
|
||||
|
||||
strMenu += '<li class="' + expanded + '">';
|
||||
|
||||
if (typeof item['subscriptLinkClass'] != 'undefined' && typeof item['subscriptDescription'] != 'undefined')
|
||||
{
|
||||
strMenu += '<span>';
|
||||
}
|
||||
|
||||
// Handle fhc_controller_id
|
||||
if (fhc_controller_id != null && fhc_controller_id != '' && item['link'] != '#')
|
||||
{
|
||||
if (item['link'].indexOf('?') != -1)
|
||||
{
|
||||
item['link'] += '&';
|
||||
}
|
||||
else
|
||||
{
|
||||
item['link'] += '?';
|
||||
}
|
||||
|
||||
item['link'] += 'fhc_controller_id=' + fhc_controller_id;
|
||||
}
|
||||
|
||||
strMenu += '<a href="' + item['link'] + '"' + expanded + '>';
|
||||
|
||||
if (item['icon'] != 'undefined')
|
||||
{
|
||||
strMenu += '<i class="fa fa-' + item['icon'] + ' fa-fw"></i> ';
|
||||
}
|
||||
|
||||
strMenu += item['description'];
|
||||
|
||||
if (typeof item['children'] != 'undefined' && Object.keys(item['children']).length > 0)
|
||||
{
|
||||
strMenu += '<span class="fa arrow"></span>';
|
||||
}
|
||||
|
||||
strMenu += '</a>';
|
||||
|
||||
if (typeof item['subscriptLinkClass'] != 'undefined' && typeof item['subscriptDescription'] != 'undefined')
|
||||
{
|
||||
strMenu += '<a class="' + item['subscriptLinkClass'] + ' menuSubscriptLink" value="' + item['subscriptLinkValue'] + '" href="#"> (' + item['subscriptDescription'] + ')</a>';
|
||||
strMenu += '</span>';
|
||||
}
|
||||
|
||||
if (typeof item['children'] != 'undefined' && Object.keys(item['children']).length > 0)
|
||||
{
|
||||
var level = '';
|
||||
if (depth === 1)
|
||||
{
|
||||
level = 'second';
|
||||
}
|
||||
else if (depth > 1)
|
||||
{
|
||||
level = 'third';
|
||||
}
|
||||
|
||||
strMenu += '<ul class="nav nav-' + level + '-level" ' + expanded + '>';
|
||||
|
||||
jQuery.each(item['children'], function(i, e) {
|
||||
strMenu += printNavItem(e, ++depth);
|
||||
});
|
||||
|
||||
strMenu += '</ul>';
|
||||
}
|
||||
|
||||
strMenu += '</li>';
|
||||
|
||||
return strMenu;
|
||||
}
|
||||
|
||||
function renderSideMenu()
|
||||
{
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Navigation/menu',
|
||||
method: "GET",
|
||||
data: {
|
||||
navigation_widget_called: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var strMenu = '';
|
||||
|
||||
printCollapseIcon();
|
||||
|
||||
jQuery.each(data, function(i, e) {
|
||||
strMenu += printNavItem(e);
|
||||
});
|
||||
|
||||
$("#side-menu").html(strMenu);
|
||||
$("#side-menu").metisMenu();
|
||||
}
|
||||
|
||||
if (typeof sideMenuHook == 'function')
|
||||
{
|
||||
sideMenuHook();
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function printCollapseIcon()
|
||||
{
|
||||
// Hiding/showing navigation menu - works only with sb admin 2 template!!
|
||||
if(!$("#collapseicon").length)
|
||||
$("#side-menu").parent().append('<div id="collapseicon" title="hide Menu" class="text-right" style="cursor: pointer; color: #337ab7"><i class="fa fa-angle-double-left fa-fw"></i></div>');
|
||||
|
||||
$("#collapseicon").click(function() {
|
||||
$("#page-wrapper").css('margin-left', '0px');
|
||||
$("#side-menu").hide();
|
||||
$("#collapseicon").hide();
|
||||
$("#collapseinicon").show();
|
||||
});
|
||||
|
||||
$("#collapseinicon").click(function() {
|
||||
$("#page-wrapper").css('margin-left', '250px');
|
||||
$("#side-menu").show();
|
||||
$("#collapseicon").show();
|
||||
$("#collapseinicon").hide();
|
||||
});
|
||||
}
|
||||
|
||||
function renderHeaderMenu()
|
||||
{
|
||||
$.ajax({
|
||||
url: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" + 'system/Navigation/header',
|
||||
method: "GET",
|
||||
data: {
|
||||
navigation_widget_called: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
jQuery.each(data, function(i, e) {
|
||||
$(".menu-header-items").append('<a class="navbar-brand" href="' + e + '">' + i + '</a>');
|
||||
});
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
// alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
renderHeaderMenu();
|
||||
|
||||
renderSideMenu();
|
||||
|
||||
});
|
||||
@@ -1,25 +1,5 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function getUrlParameter(sParam)
|
||||
{
|
||||
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
||||
sURLVariables = sPageURL.split('&'),
|
||||
sParameterName,
|
||||
i;
|
||||
|
||||
for (i = 0; i < sURLVariables.length; i++)
|
||||
{
|
||||
sParameterName = sURLVariables[i].split('=');
|
||||
|
||||
if (sParameterName[0] === sParam)
|
||||
{
|
||||
return sParameterName[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var fhc_controller_id = getUrlParameter("fhc_controller_id");
|
||||
var fhc_controller_id = FHC_Ajax_Client.getUrlParameter('fhc_controller_id');
|
||||
const CONTROLLER_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/"+FHC_JS_DATA_STORAGE_OBJECT.called_path;
|
||||
|
||||
/**
|
||||
@@ -161,7 +141,6 @@ function openZgvInfoForPrestudent(prestudent_id)
|
||||
var screenwidth = screen.width;
|
||||
var popupwidth = 760;
|
||||
var marginleft = screenwidth - popupwidth;
|
||||
console.log(marginleft);
|
||||
window.open("../getZgvInfoForPrestudent/" + prestudent_id, "_blank","resizable=yes,scrollbars=yes,width="+popupwidth+",height="+screen.height+",left="+marginleft);
|
||||
}
|
||||
|
||||
@@ -308,11 +287,10 @@ function updateNotiz(notizId, personId, data)
|
||||
function getStudienjahrEndAjax()
|
||||
{
|
||||
$.ajax({
|
||||
url: CONTROLLER_URL+"/getStudienjahrEnd?fhc_controller_id="+getUrlParameter("fhc_controller_id"),
|
||||
url: CONTROLLER_URL+"/getStudienjahrEnd?fhc_controller_id="+fhc_controller_id,
|
||||
method: "GET",
|
||||
success: function(data, textStatus, jqXHR)
|
||||
{
|
||||
console.log(data);
|
||||
//var gerdate = data.substring(8, 10) + "."+data.substring(5, 7) + "." + data.substring(0, 4);
|
||||
var engdate = $.datepicker.parseDate("yy-mm-dd", data);
|
||||
var gerdate = $.datepicker.formatDate("dd.mm.yy", engdate);
|
||||
@@ -328,11 +306,10 @@ function getStudienjahrEndAjax()
|
||||
function getParkedDateAjax(personid)
|
||||
{
|
||||
$.ajax({
|
||||
url: CONTROLLER_URL+"/getParkedDate/"+personid+"?fhc_controller_id="+getUrlParameter("fhc_controller_id"),
|
||||
url: CONTROLLER_URL+"/getParkedDate/"+personid+"?fhc_controller_id="+fhc_controller_id,
|
||||
method: "GET",
|
||||
success: function(data, textStatus, jqXHR)
|
||||
{
|
||||
console.log(data);
|
||||
refreshParking(data);
|
||||
refreshLog();
|
||||
getStudienjahrEndAjax();
|
||||
@@ -347,7 +324,7 @@ function getParkedDateAjax(personid)
|
||||
function parkPersonAjax(personid, date)
|
||||
{
|
||||
$.ajax({
|
||||
url: CONTROLLER_URL+"/park?fhc_controller_id="+getUrlParameter("fhc_controller_id"),
|
||||
url: CONTROLLER_URL+"/park?fhc_controller_id="+fhc_controller_id,
|
||||
method: "POST",
|
||||
data:
|
||||
{
|
||||
@@ -368,7 +345,7 @@ function parkPersonAjax(personid, date)
|
||||
function unparkPersonAjax(personid)
|
||||
{
|
||||
$.ajax({
|
||||
url: CONTROLLER_URL+"/unpark?fhc_controller_id="+getUrlParameter("fhc_controller_id"),
|
||||
url: CONTROLLER_URL+"/unpark?fhc_controller_id="+fhc_controller_id,
|
||||
method: "POST",
|
||||
data:
|
||||
{
|
||||
@@ -391,7 +368,7 @@ function unparkPersonAjax(personid)
|
||||
function refreshLog()
|
||||
{
|
||||
var personid = $("#hiddenpersonid").val();
|
||||
$("#logs").load('../reloadLogs/' + personid,
|
||||
$("#logs").load('../reloadLogs/' + personid + '?fhc_controller_id=' + fhc_controller_id,
|
||||
function ()
|
||||
{
|
||||
//readd tablesorter
|
||||
|
||||
@@ -38,7 +38,8 @@ function appendTableActionsHtml()
|
||||
url: window.location.pathname.replace('infocenter/InfoCenter', 'Filters/rowNumber'),
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id"),
|
||||
filter_page: FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user