Skip to content
Snippets Groups Projects
Commit 8fa47c0d authored by juanf's avatar juanf
Browse files

SSDM-2738 : Showing feature vector dropdows (ongoing work).

SVN: 35114
parent 88aa3a9f
No related branches found
No related tags found
No related merge requests found
......@@ -547,6 +547,10 @@ var FormUtil = new function() {
return $('<div>', {'class' : 'checkbox'}).append($('<input>', {'type' : 'checkbox', 'id' : id, 'alt' : alt, 'placeholder' : alt }));
}
this.getDropDownForTerms = function(id, terms, alt, isRequired) {
return this._getDropDownFieldForVocabulary(id, terms, alt, isRequired);
}
this._getDropDownFieldForVocabulary = function(code, terms, alt, isRequired) {
var $component = $("<select>", {'placeholder' : alt, 'class' : 'form-control'});
$component.attr('id', code);
......@@ -555,7 +559,7 @@ var FormUtil = new function() {
$component.attr('required', '');
}
$component.append($("<option>").attr('value', '').attr('selected', '').text(''));
$component.append($("<option>").attr('value', '').attr('selected', '').text(alt));
for(var i = 0; i < terms.length; i++) {
$component.append($("<option>").attr('value',terms[i].code).text(terms[i].label));
}
......
......@@ -27,8 +27,82 @@ function PlateView(plateController, plateModel) {
this.repaint = function($container) {
var _this = this;
$container.empty();
var gridTable = this.getGridTable(true);
$container.append(gridTable);
//Paint Toolbar
var $toolbar = $("<div>");
if( this._plateModel.sample.featureVectorsCache &&
this._plateModel.sample.featureVectorsCache.featureVectorDatasets) {
//1. Selected Feature Vector Dataset Features
var $featureVectorDatasetFeaturesDropdown = FormUtil.getDropDownForTerms(
"featureVectorDatasetFeaturesDropdown-" + this._plateModel.sample.permId,
[],
"Choose a Feature Vector Dataset first",
false
);
//2. Feature Vector Dataset Dropdow
var featureVectorDatasets = this._plateModel.sample.featureVectorsCache.featureVectorDatasets;
var featureVectorDatasetsDropdowTerms = [];
for(var fvdIdx = 0; fvdIdx < featureVectorDatasets.length; fvdIdx++) {
featureVectorDatasetsDropdowTerms.push({
code : featureVectorDatasets[fvdIdx],
label : featureVectorDatasets[fvdIdx]
})
}
var $featureVectorDatasetsDropdown = FormUtil.getDropDownForTerms(
"featureVectorDatasetsDropdow-" + this._plateModel.sample.permId,
featureVectorDatasetsDropdowTerms,
"Choose a Feature Vector Dataset please",
false
);
$featureVectorDatasetsDropdown.change(function(event) {
var featureVectorDatasetCode = $(this).val();
if(!featureVectorDatasetCode) {
$featureVectorDatasetFeaturesDropdown.empty();
$featureVectorDatasetFeaturesDropdown.append($("<option>").attr('value', '').text("Choose a Feature Vector Dataset first"));
} else {
var featureVectorDatasetFeatures = _this._plateModel.sample.featureVectorsCache.featureVectorDatasetsFeatures[featureVectorDatasetCode];
var loadFeatureVectorDatasetFeatures = function() {
var featureVectorDatasetFeatures = _this._plateModel.sample.featureVectorsCache.featureVectorDatasetsFeatures[featureVectorDatasetCode];
$featureVectorDatasetFeaturesDropdown.empty();
$featureVectorDatasetFeaturesDropdown.append($("<option>").attr('value', '').attr('selected', '').text(''));
for(featureVectorDatasetFeatureCode in featureVectorDatasetFeatures) {
$featureVectorDatasetFeaturesDropdown.append($("<option>").attr('value', featureVectorDatasetFeatureCode).text(featureVectorDatasetFeatures[featureVectorDatasetFeatureCode]));
}
}
if(!featureVectorDatasetFeatures) {
mainController.serverFacade.customELNApi({
"method" : "listAvailableFeatures",
"samplePlatePermId" : _this._plateModel.sample.permId,
"featureVectorDatasetPermId" : featureVectorDatasetCode
}, function(error, result){
if(error) {
Util.showError(error);
} else {
_this._plateModel.sample.featureVectorsCache.featureVectorDatasetsFeatures[featureVectorDatasetCode] = result.data;
loadFeatureVectorDatasetFeatures();
}
});
} else {
loadFeatureVectorDatasetFeatures();
}
}
});
//Build Toolbar
$toolbar.append(FormUtil.getFieldForComponentWithLabel($featureVectorDatasetsDropdown, "Feature Vector Datasets"))
.append(FormUtil.getFieldForComponentWithLabel($featureVectorDatasetFeaturesDropdown, "Feature Vector Dataset Features"));
}
//Paint grid
var $gridTable = this.getGridTable(true);
$container.append($toolbar).append($gridTable);
}
this.getGridTable = function(withWells) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment