Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions config/params.php
Original file line number Diff line number Diff line change
Expand Up @@ -134,19 +134,18 @@
'associatedToASensor' => 'http://www.opensilex.org/vocabulary/oeev#associatedToASensor',

// Image filters
'image.filter' => [
'metadata.position' => [
'position:1','position:2','position:3','position:4','position:5',
'position:6','position:7','position:8','position:9','position:10',
'labelView:top0','labelView:top90','labelView:side0','labelView:side30','labelView:side60',
'labelView:side90','labelView:side120','labelView:side150','labelView:side180','labelView:side210',
'labelView:side240','labelView:side270','labelView:side300','labelView:side330',
],
]
// // Image filters GENERIC
// If you have specific filters for the image's metadata, you can put it here
// See also GET /data/file/search with jsonValueFilter params
// See also ScientificObjectController.php/Action:actionDataVisualization:line 1010/data_visualization.php line 172 -213

// 'image.filter' => [
// 'metadata.position' => [
// 'label1:value1','label2:value2', 'label3:value3'],
// 'metadata' => [
// 'position:1','position:2','position:3','position:4','position:5',
// 'position:6','position:7','position:8','position:9','position:10',
// 'labelView:top0','labelView:top90','labelView:side0','labelView:side30','labelView:side60',
// 'labelView:side90','labelView:side120','labelView:side150','labelView:side180','labelView:side210',
// 'labelView:side240','labelView:side270','labelView:side300','labelView:side330',
// ],
// ]

];
43 changes: 29 additions & 14 deletions controllers/ScientificObjectController.php
Original file line number Diff line number Diff line change
Expand Up @@ -426,9 +426,9 @@ public function actionCreateMultipleScientificObjects() {
$cpt = 0;

$insertionResult = $scientificObjectModel->insert($sessionToken, $forWebService);

$forWebService = [];

if ($insertionResult->{\app\models\wsModels\WSConstants::METADATA}->status[0]->exception->type != "Error") {
foreach ($insertionResult->{\app\models\wsModels\WSConstants::METADATA}->{\app\models\wsModels\WSConstants::DATA_FILES} as $scientificObjectUri) {
$return["objectUris"][] = $scientificObjectUri;
Expand Down Expand Up @@ -457,7 +457,7 @@ public function actionCreateMultipleScientificObjects() {
private function getObjectTypeCompleteUri($objectType) {
$objectTypesList = $this->getObjectsTypesUris();
foreach ($objectTypesList as $objectTypeUri) {
if (preg_match("/". $objectType . "\b/", $objectTypeUri)) {
if (preg_match("/" . $objectType . "\b/", $objectTypeUri)) {
return $objectTypeUri;
}
}
Expand Down Expand Up @@ -808,13 +808,13 @@ public function actionDownloadCsv() {
} else {
$wktGeometry = "";
}
$stringToWrite .= $model->uri . Yii::$app->params['csvSeparator'] .
$model->label . Yii::$app->params['csvSeparator'] .
$model->rdfType . Yii::$app->params['csvSeparator'] .
$model->experiment . Yii::$app->params['csvSeparator'] .
'"' . $wktGeometry . '"' . Yii::$app->params['csvSeparator'] .
"\n";

$stringToWrite .= $model->uri . Yii::$app->params['csvSeparator'] .
$model->label . Yii::$app->params['csvSeparator'] .
$model->rdfType . Yii::$app->params['csvSeparator'] .
$model->experiment . Yii::$app->params['csvSeparator'] .
'"' . $wktGeometry . '"' . Yii::$app->params['csvSeparator'] .
"\n";
}

$totalPage = intval($searchModel->totalPages);
Expand Down Expand Up @@ -1006,10 +1006,23 @@ public function actionDataVisualization($uri, $label, $experimentUri = null) {
$selectedVariable = isset($_POST['variable']) ? $_POST['variable'] : null;
$imageTypeSelected = isset($_POST['imageType']) ? $_POST['imageType'] : null;
$selectedProvenance = isset($_POST['provenances']) ? $_POST['provenances'] : null;
if (isset($_POST['filter']) && $_POST['filter'] !== "") {
$selectedPositionIndex = $_POST['filter'];
$attribut=explode(":",Yii::$app->params['image.filter']['metadata.position'][$selectedPositionIndex]);
$filterToSend = "{'metadata." . $attribut[0] . "':'" . $attribut[1] . "'}";

// Check if parameter image.filter exist in config/params.php
if (!empty(Yii::$app->params['image.filter'])) {

if (isset($_POST['filter']) && $_POST['filter'] !== "") {
$selectedPositionIndex = $_POST['filter'];
$attribut = explode(":", Yii::$app->params['image.filter']['metadata'][$selectedPositionIndex]);
$filterToSend = "{'metadata." . $attribut[0] . "':'" . $attribut[1] . "'}";
}

} else {
if (isset($_POST['filterName']) && $_POST['filterName'] !== ""&&isset($_POST['filterValue']) && $_POST['filterValue'] !== "") {
$selectedFilterName = $_POST['filterName'];
$selectedFilterValue = $_POST['filterValue'];
$filterToSend = "{'metadata." . $selectedFilterName . "':'" . $selectedFilterValue . "'}";
}

}
return $this->render('data_visualization', [
'model' => $scientificObject,
Expand All @@ -1022,6 +1035,8 @@ public function actionDataVisualization($uri, $label, $experimentUri = null) {
'imageTypeSelected' => $imageTypeSelected,
'selectedProvenance' => $selectedProvenance,
'selectedPosition' => $selectedPositionIndex, // seems that select widget use index when they are selectable number values
'selectedFilterName' => $selectedFilterName,
'selectedFilterValue' => $selectedFilterValue,
'filterToSend' => $filterToSend,
'test' => $selectedPosition,
]);
Expand Down
64 changes: 42 additions & 22 deletions views/scientific-object/data_visualization.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,29 +169,49 @@
]);
?>
</div>
<div class="form-group col-md-12">

<label class="control-label" ><?= Yii::t('app', 'Camera position') ?></label>
<?php
if (!empty(Yii::$app->params['image.filter'])) {
?>
<div class="form-group col-md-12">

<label class="control-label" ><?= Yii::t('app', 'Camera position') ?></label>

<?php
echo \kartik\select2\Select2::widget([
'name' => 'filter',
'data' => Yii::$app->params['image.filter']['metadata'],
'value' => $selectedPosition ? $selectedPosition : null,
'options' => [
'id' => 'filterSelect',
'placeholder' => Yii::t('app/messages', 'Select image view...'),
'multiple' => false
],
'pluginOptions' => [
'allowClear' => true
],
'pluginEvents' => [
"select2:select" => "function() { $('#scientific-object-data-visualization-submit-button').text(\"" . Yii::t('app', 'Update') . "\"); }",
],
]);
?>
</div>

<?php
echo \kartik\select2\Select2::widget([
'name' => 'filter',
'data' => Yii::$app->params['image.filter']['metadata.position'],
'value' => $selectedPosition ? $selectedPosition : null,
'options' => [
'id' => 'filterSelect',
'placeholder' => Yii::t('app/messages', 'Select image view...'),
'multiple' => false
],
'pluginOptions' => [
'allowClear' => true
],
'pluginEvents' => [
"select2:select" => "function() { $('#scientific-object-data-visualization-submit-button').text(\"" . Yii::t('app', 'Update') . "\"); }",
],
]);
<?php } else {
?>
</div>

<div class="form-group form-inline col-md-12">
<label class="control-label" ><?= Yii::t('app', 'Metadata filter') ?></label>
<?= Html::input('text', 'filterName',
$selectedFilterName ? $selectedFilterName : '',
$options = ['class' => 'form-control', 'placeholder' => Yii::t('app/messages', 'Position')]) ?>
: <?= Html::input('text', 'filterValue',
$selectedFilterValue ? $selectedFilterValue : '',
$options = ['class' => 'form-control', 'placeholder' => Yii::t('app/messages', 'Top')]) ?>
</div>

<?php }
?>

</div>
</fieldset>
</div>
Expand All @@ -206,7 +226,7 @@
<?php
if (isset($data) && isset($show) && $show == true && !empty($data)) {
echo "<div id='scientific-object-data-visualization-alert-div' style='height:146px;'><br><div class='alert alert-info' role='alert-info'>
<p>".Yii::t('app/messages', 'You have to click a graphic point to see images on that date.')."</p></div></div>";
<p>" . Yii::t('app/messages', 'You have to click a graphic point to see images on that date.') . "</p></div></div>";
}
?>
<div id="imagesCount" style="display: none;" data-id=0 ></div>
Expand Down