From c105363fd034290c0502d3007d17e924f8f899d3 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 22 Nov 2017 15:33:44 +0100 Subject: [PATCH] First preview completed --- application/controllers/system/Test.php | 9 +-- application/views/widgets/filter/filter.php | 15 +++++ .../views/widgets/filter/selectFilters.php | 41 +++++++++++++- .../views/widgets/filter/tableDataset.php | 55 ++++++++++++++++--- application/widgets/FilterWidget.php | 21 +++++-- 5 files changed, 124 insertions(+), 17 deletions(-) create mode 100644 application/views/widgets/filter/filter.php diff --git a/application/controllers/system/Test.php b/application/controllers/system/Test.php index f22898a34..67e82c7d3 100644 --- a/application/controllers/system/Test.php +++ b/application/controllers/system/Test.php @@ -22,10 +22,11 @@ class Test extends VileSci_Controller 'app' => 'OpenProject', 'datasetName' => 'Arbeitspakete', 'query' => ' - SELECT p.person_id AS PersonId, - p.nachname AS Nachname, - p.vorname AS Vorname, - k.kontakt AS Email + SELECT p.person_id AS "PersonId", + p.nachname AS "Nachname", + p.vorname AS "Vorname", + k.kontakt AS "Email", + p.aktiv AS "Aktiv" FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id) WHERE p.aktiv = TRUE AND p.person_id = k.person_id diff --git a/application/views/widgets/filter/filter.php b/application/views/widgets/filter/filter.php new file mode 100644 index 000000000..542708900 --- /dev/null +++ b/application/views/widgets/filter/filter.php @@ -0,0 +1,15 @@ +
+ view('widgets/filter/selectFields', array('listFields' => $listFields)); ?> +
+ +
+ +
+ view('widgets/filter/selectFilters', array('metaData' => $metaData)); ?> +
+ +
+ +
+ view('widgets/filter/tableDataset', array('dataset' => $dataset)); ?> +
diff --git a/application/views/widgets/filter/selectFilters.php b/application/views/widgets/filter/selectFilters.php index 72f963b57..ff3995727 100644 --- a/application/views/widgets/filter/selectFilters.php +++ b/application/views/widgets/filter/selectFilters.php @@ -2,7 +2,46 @@ $value) { - echo $value->name.' - '.$value->type.'
'; + echo '
'; + echo $value->name; + + if ($value->type == 'int4') + { + ?> + + + + + type == 'varchar') + { + ?> + + + + type == 'bool') + { + ?> + + + '; } ?>
diff --git a/application/views/widgets/filter/tableDataset.php b/application/views/widgets/filter/tableDataset.php index 6927a0923..83ca7b95f 100644 --- a/application/views/widgets/filter/tableDataset.php +++ b/application/views/widgets/filter/tableDataset.php @@ -1,9 +1,50 @@ + + + + + + + + + + + +
- retval; - foreach ($result as $key => $value) - { - var_dump($value); - } - ?> + + + + + + + + + + + + retval; + foreach ($result as $key => $value) + { + ?> + + + + + + + + + +
PersonIdNachnameVornameEmailAktiv
PersonId; ?>Nachname; ?>Vorname; ?>Email; ?>Aktiv === true ? 'True' : 'False'; ?>
diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php index 721fd7c55..a7715aa57 100644 --- a/application/widgets/FilterWidget.php +++ b/application/widgets/FilterWidget.php @@ -28,11 +28,22 @@ class FilterWidget extends Widget $dataset = $this->FiltersModel->execReadOnlyQuery($widgetData['query']); - $this->loadViewSelectFields($this->FiltersModel->getExecutedQueryListFields()); + $listFields = $this->FiltersModel->getExecutedQueryListFields(); - $this->loadViewSelectFilters($this->FiltersModel->getExecutedQueryMetaData()); + $metaData = $this->FiltersModel->getExecutedQueryMetaData(); - $this->loadViewTableDataset($dataset); + $this->loadViewFilters($listFields, $metaData, $dataset); + } + + /** + * + */ + private function loadViewFilters($listFields, $metaData, $dataset) + { + $this->view( + 'widgets/filter/filter', + array('listFields' => $listFields, 'metaData' => $metaData, 'dataset' => $dataset) + ); } /** @@ -54,8 +65,8 @@ class FilterWidget extends Widget /** * */ - private function loadViewTableDataset($result) + private function loadViewTableDataset($dataset) { - $this->view('widgets/filter/tableDataset', array('dataset' => $result)); + $this->view('widgets/filter/tableDataset', array('dataset' => $dataset)); } }