Skip to content
Snippets Groups Projects
Commit 8045be1d authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

FEAT(ext_samplemanagement): Sort sample column names and add sample name column

parent 70f0eeae
No related branches found
No related tags found
1 merge request!2F sample name
...@@ -39,36 +39,35 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel, ...@@ -39,36 +39,35 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
const required_column_names = [ const required_column_names = [
"LinkAhead ID", "LinkAhead ID",
"Main User", "Main User",
"Latitude start",
"Longitude start",
"Elevation start",
"Start date",
"Storage ID",
"Device"
]; ];
const requiredColumnNamesChildren = [ const requiredColumnNamesChildren = [
"LinkAhead ID", "LinkAhead ID",
"Main User", "Main User",
"Parent LinkAhead ID", "Parent LinkAhead ID",
"SampleType",
"Storage ID",
]; ];
const non_sample_rt_column_names = [ const non_sample_rt_column_names = [
"Latitude start",
"Storage ID",
"Biome", "Biome",
"Campaign", "Campaign",
"Start date", "Device",
"Elevation start",
"Elevation stop",
"End date", "End date",
"Event responsible",
"IGSN DOI", "IGSN DOI",
"Latitude stop",
"Level", "Level",
"Locality description", "Locality description",
"Locality name", "Locality name",
"Sphere", "Longitude start",
"Event responsible",
"Latitude stop",
"Longitude stop", "Longitude stop",
"Elevation stop",
"PDFReport", "PDFReport",
"Parent LinkAhead ID", "Parent LinkAhead ID",
"Sample name",
"Sphere",
"Start date",
"Start date",
]; ];
const allColumnNames = non_sample_rt_column_names.concat(requiredColumnNamesChildren).concat(required_column_names); const allColumnNames = non_sample_rt_column_names.concat(requiredColumnNamesChildren).concat(required_column_names);
...@@ -77,7 +76,7 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel, ...@@ -77,7 +76,7 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
"Event", "Event",
"Container", "Container",
'NagoyaCase', 'NagoyaCase',
"Parent_sample", "Parent_Sample",
] ]
const upload_sample_template_form_config = { const upload_sample_template_form_config = {
...@@ -191,7 +190,7 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel, ...@@ -191,7 +190,7 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
// refresh the options of the column names select field once the list // refresh the options of the column names select field once the list
// is available (The sample RT needs to be retrieved // is available (The sample RT needs to be retrieved
var column_name_select = $(form).find("select[name='column_names']"); var column_name_select = $(form).find("select[name='column_names']");
collect_column_names(requiredColumnNames).then(function(names) { collect_column_names(requiredColumnNames, true).then(function(names) {
for (let option of names) { for (let option of names) {
column_name_select.append( column_name_select.append(
form_elements._make_option(option.value, option.label)); form_elements._make_option(option.value, option.label));
...@@ -260,11 +259,14 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel, ...@@ -260,11 +259,14 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
* *
* @return {Array} Options * @return {Array} Options
*/ */
const collect_column_names = async function(requiredColumnNames) { const collect_column_names = async function(requiredColumnNames, sorted) {
const a = await query('find recordtype with name=sample'); const a = await query('find recordtype with name=sample');
const column_names = $(a[0]).find(".caosdb-property-name").toArray().map(e => e.textContent); const column_names = $(a[0]).find(".caosdb-property-name").toArray().map(e => e.textContent);
var options = [...new Set(allColumnNames.concat(column_names))]; var options = [...new Set(allColumnNames.concat(column_names))];
options = options.filter(n => !(unused_property_names.includes(n) || requiredColumnNames.includes(n))).sort(); options = options.filter(n => !(unused_property_names.includes(n) || requiredColumnNames.includes(n))).sort();
if (sorted == true) {
options.sort();
}
return options.map(e => ({ return options.map(e => ({
value: e, value: e,
label: e label: e
......
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