@@ -298,7 +298,10 @@ export class MetadataFieldsHelper {
298298 return formattedNewObject
299299 }
300300
301- public static formatFormValuesToDatasetDTO ( formValues : DatasetMetadataFormValues ) : DatasetDTO {
301+ public static formatFormValuesToDatasetDTO (
302+ formValues : DatasetMetadataFormValues ,
303+ mode : 'create' | 'edit'
304+ ) : DatasetDTO {
302305 const metadataBlocks : DatasetDTO [ 'metadataBlocks' ] = [ ]
303306
304307 for ( const metadataBlockName in formValues ) {
@@ -310,14 +313,14 @@ export class MetadataFieldsHelper {
310313
311314 Object . entries ( metadataBlockFormValues ) . forEach ( ( [ fieldName , fieldValue ] ) => {
312315 if ( this . isPrimitiveFieldValue ( fieldValue ) ) {
313- if ( fieldValue !== '' ) {
316+ if ( fieldValue !== '' || mode === 'edit' ) {
314317 formattedMetadataBlock . fields [ fieldName ] = fieldValue
315318 return
316319 }
317320 return
318321 }
319322 if ( this . isVocabularyMultipleFieldValue ( fieldValue ) ) {
320- if ( fieldValue . length > 0 ) {
323+ if ( fieldValue . length > 0 || mode === 'edit' ) {
321324 formattedMetadataBlock . fields [ fieldName ] = fieldValue
322325 return
323326 }
@@ -329,7 +332,7 @@ export class MetadataFieldsHelper {
329332 . map ( ( primitiveField ) => primitiveField . value )
330333 . filter ( ( v ) => v !== '' )
331334
332- if ( primitiveMultipleFieldValues . length > 0 ) {
335+ if ( primitiveMultipleFieldValues . length > 0 || mode === 'edit' ) {
333336 formattedMetadataBlock . fields [ fieldName ] = primitiveMultipleFieldValues
334337 return
335338 }
@@ -340,7 +343,7 @@ export class MetadataFieldsHelper {
340343 const formattedMetadataChildFieldValue : DatasetMetadataChildFieldValueDTO = { }
341344
342345 Object . entries ( fieldValue ) . forEach ( ( [ nestedFieldName , nestedFieldValue ] ) => {
343- if ( nestedFieldValue !== '' ) {
346+ if ( nestedFieldValue !== '' || mode === 'edit' ) {
344347 formattedMetadataChildFieldValue [ nestedFieldName ] = nestedFieldValue
345348 }
346349 } )
@@ -357,15 +360,15 @@ export class MetadataFieldsHelper {
357360 fieldValue . forEach ( ( composedFieldValues ) => {
358361 const composedField : DatasetMetadataChildFieldValueDTO = { }
359362 Object . entries ( composedFieldValues ) . forEach ( ( [ nestedFieldName , nestedFieldValue ] ) => {
360- if ( nestedFieldValue !== '' ) {
363+ if ( nestedFieldValue !== '' || mode === 'edit' ) {
361364 composedField [ nestedFieldName ] = nestedFieldValue
362365 }
363366 } )
364- if ( Object . keys ( composedField ) . length > 0 ) {
367+ if ( Object . keys ( composedField ) . length > 0 || mode === 'edit' ) {
365368 formattedMetadataChildFieldValues . push ( composedField )
366369 }
367370 } )
368- if ( formattedMetadataChildFieldValues . length > 0 ) {
371+ if ( formattedMetadataChildFieldValues . length > 0 || mode === 'edit' ) {
369372 formattedMetadataBlock . fields [ fieldName ] = formattedMetadataChildFieldValues
370373 }
371374
0 commit comments