diff --git a/static/css/main.css b/static/css/main.css index dec19351..7dd9aada 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -4,6 +4,7 @@ body { margin-left: 20px; margin-top: 15px; margin-right: 20px; + height: auto; } label { diff --git a/static/javascript/launch.js b/static/javascript/launch.js index d938fff2..89650518 100644 --- a/static/javascript/launch.js +++ b/static/javascript/launch.js @@ -142,6 +142,8 @@ let supplementaryDataSets = null; // We always need survey_id from top-level schema metadata for SDS retrieval let schemaSurveyId = null; +const supplementaryDataSection = document.querySelector("#supplementary_data"); + function clearSurveyMetadataFields() { document .querySelector("#survey-type-metadata-accordion") @@ -398,10 +400,6 @@ function showCIRMetdata(cirInstrumentId, cirSchema) { function updateSDSDropdown() { const surveyId = schemaSurveyId; const periodId = document.getElementById("period_id")?.value; - - const supplementaryDataSection = document.querySelector( - "#supplementary_data", - ); const sdsDatasetIdElement = document.querySelector("#sds_dataset_id"); loadSDSDatasetMetadata(surveyId, periodId) .then((sds_metadata_response) => { @@ -527,19 +525,18 @@ function loadSupplementaryDataInfo() { "sds_dataset_version", ]; - const sdsMetadataSection = document.querySelector("#supplementary_data"); const sdsMetadataField = (key) => - `
${getLabelFor(key)}${getInputField(key, "text", selectedDataset[key], true)}
`; - - if (sdsMetadataSection.contains(document.querySelector("#sds_dataset_id"))) { - sdsMetadataSection.innerHTML += sdsDatasetMetadataKeys - .map(sdsMetadataField) - .join(""); - } else { - sdsMetadataSection.innerHTML = sdsDatasetMetadataKeys - .map(sdsMetadataField) - .join(""); - } + `
${getLabelFor(key)}${getInputField(key, "text", selectedDataset[key], true)}
`; + + const supplementaryDataFields = document + .createRange() + .createContextualFragment( + sdsDatasetMetadataKeys.map(sdsMetadataField).join(""), + ); + supplementaryDataSection + .querySelectorAll(".ons-field[data-sds-metadata-key]") + .forEach((sds_value) => sds_value.remove()); + supplementaryDataSection.appendChild(supplementaryDataFields); } function uuid(el_id) { diff --git a/templates/launch.html b/templates/launch.html index 2895d2ae..714101be 100644 --- a/templates/launch.html +++ b/templates/launch.html @@ -9,8 +9,8 @@

Launch a survey

-
-

Launch Pattern:

+
+

Launch Pattern:

-
+

Launch by Schema Name:

@@ -38,7 +38,7 @@

Launch by Schema Name:

{{ end }}
-
+

Launch Remote Schemas:

@@ -87,8 +87,7 @@

Launch Remote Schemas:

Load Metadata
-
-

Survey Actions

+
-
-
-
+