Skip to content
Snippets Groups Projects

F sample name

Merged Florian Spreckelsen requested to merge f-sample-name into main
All threads resolved!
Files
2
@@ -19,11 +19,11 @@
const ext_samplemanagement = function($, navbar, log, form_elements, form_panel, sample_management_reference_resolver) {
const logger = log.getLogger("samplemanagement_form");
const tool_box = "Sample Management"
const upload_sample_template_title = "Upload sample template"; // title of the form and text in the toolbox
const upload_sample_template_title = "Update samples"; // title of the form and text in the toolbox
const upload_sample_template_panel_id = "upload_sample_template_form_panel";
const register_new_samples_title = "Register new samples"; // title of the form and text in the toolbox
const register_new_samples_title = "Register samples"; // title of the form and text in the toolbox
const register_new_samples_panel_id = "register_new_samples_form_panel";
const registerNewChildSamplesTitle = "Register new child samples"; // title of the form and text in the toolbox
const registerNewChildSamplesTitle = "Register child samples"; // title of the form and text in the toolbox
const registerNewChildSamplesPanelId = "register_new_children_form_panel";
const upload_pdf_id = "upload_pdf_form_panel";
const upload_pdf_title = "Upload PDF file";
@@ -39,36 +39,35 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
const required_column_names = [
"LinkAhead ID",
"Main User",
"Latitude start",
"Longitude start",
"Elevation start",
"Start date",
"Storage ID",
"Device"
];
const requiredColumnNamesChildren = [
"LinkAhead ID",
"Main User",
"Parent LinkAhead ID",
"SampleType",
"Storage ID",
];
const non_sample_rt_column_names = [
"Latitude start",
"Storage ID",
"Biome",
"Campaign",
"Start date",
"Device",
"Elevation start",
"Elevation stop",
"End date",
"Event responsible",
"IGSN DOI",
"Latitude stop",
"Level",
"Locality description",
"Locality name",
"Sphere",
"Event responsible",
"Latitude stop",
"Longitude start",
"Longitude stop",
"Elevation stop",
"PDFReport",
"Parent LinkAhead ID",
"Sample name",
"Sphere",
"Start date",
"Start date",
];
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,
"Event",
"Container",
'NagoyaCase',
"Parent_sample",
"Parent_Sample",
]
const upload_sample_template_form_config = {
@@ -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
// is available (The sample RT needs to be retrieved
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) {
column_name_select.append(
form_elements._make_option(option.value, option.label));
@@ -260,11 +259,14 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
*
* @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 column_names = $(a[0]).find(".caosdb-property-name").toArray().map(e => e.textContent);
var options = [...new Set(allColumnNames.concat(column_names))];
options = options.filter(n => !(unused_property_names.includes(n) || requiredColumnNames.includes(n))).sort();
if (sorted == true) {
options.sort();
}
return options.map(e => ({
value: e,
label: e
@@ -305,12 +307,6 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
*/
const init_show_samplemanagement_panel_button = async function() {
//var form_wrapper = form_elements.make_form(config);
navbar.add_tool(upload_sample_template_title, tool_box, {
callback: form_panel.create_show_form_callback(
upload_sample_template_panel_id,
upload_sample_template_title,
upload_sample_template_form_config)
});
navbar.add_tool(register_new_samples_title, tool_box, {
callback: form_panel.create_show_form_callback(
register_new_samples_panel_id,
@@ -325,12 +321,11 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
undefined,
initRegisterChildSamplesForm)
});
navbar.add_tool("Create sample template", tool_box, {
navbar.add_tool(upload_sample_template_title, tool_box, {
callback: form_panel.create_show_form_callback(
"create-sample-template",
"Create sample template",
undefined,
initRegisterTemplateForm)
upload_sample_template_panel_id,
upload_sample_template_title,
upload_sample_template_form_config)
});
// Set auto_focus=false because of WebUI bug: https://gitlab.com/linkahead/linkahead-webui/-/issues/258
navbar.add_tool(upload_pdf_title, tool_box, {
@@ -359,6 +354,14 @@ const ext_samplemanagement = function($, navbar, log, form_elements, form_panel,
input_field.addEventListener("blur", check_pattern);
}
});
navbar.add_tool("Create sample template", tool_box, {
callback: form_panel.create_show_form_callback(
"create-sample-template",
"Create sample template",
undefined,
initRegisterTemplateForm)
});
};
Loading