@@ -376,6 +376,7 @@ export class DynamicForm extends React.Component<IDynamicFormProps, IDynamicForm
376
376
field . order = order ;
377
377
let hiddenName = "" ;
378
378
let termSetId = "" ;
379
+ let anchorId = "" ;
379
380
let lookupListId = "" ;
380
381
let lookupField = "" ;
381
382
const choices : IDropdownOption [ ] = [ ] ;
@@ -386,83 +387,74 @@ export class DynamicForm extends React.Component<IDynamicFormProps, IDynamicForm
386
387
let principalType = "" ;
387
388
if ( item !== null ) {
388
389
defaultValue = item [ field . EntityPropertyName ] ;
389
- }
390
- else {
390
+ } else {
391
391
defaultValue = field . DefaultValue ;
392
392
}
393
393
if ( fieldType === 'Choice' || fieldType === 'MultiChoice' ) {
394
394
field . Choices . forEach ( element => {
395
- choices . push ( { key : element , text : element } ) ;
395
+ choices . push ( { key : element , text : element } ) ;
396
396
} ) ;
397
- }
398
- else if ( fieldType === "Note" ) {
397
+ } else if ( fieldType === "Note" ) {
399
398
richText = field . RichText ;
400
- }
401
- else if ( fieldType === "Lookup" ) {
399
+ } else if ( fieldType === "Lookup" ) {
402
400
lookupListId = field . LookupList ;
403
401
lookupField = field . LookupField ;
404
402
if ( item !== null ) {
405
403
defaultValue = await this . _spService . getLookupValue ( listId , listItemId , field . EntityPropertyName , lookupField , this . webURL ) ;
406
- }
407
- else {
404
+ } else {
408
405
defaultValue = [ ] ;
409
406
}
410
407
411
- }
412
- else if ( fieldType === "LookupMulti" ) {
408
+ } else if ( fieldType === "LookupMulti" ) {
413
409
lookupListId = field . LookupList ;
414
410
lookupField = field . LookupField ;
415
411
if ( item !== null ) {
416
412
defaultValue = await this . _spService . getLookupValues ( listId , listItemId , field . EntityPropertyName , lookupField , this . webURL ) ;
417
- }
418
- else {
413
+ } else {
419
414
defaultValue = [ ] ;
420
415
}
421
- }
422
- else if ( fieldType === "TaxonomyFieldTypeMulti" ) {
416
+ } else if ( fieldType === "TaxonomyFieldTypeMulti" ) {
423
417
const response = await this . _spService . getTaxonomyFieldInternalName ( this . props . listId , field . InternalName , this . webURL ) ;
424
418
hiddenName = response . value ;
425
419
termSetId = field . TermSetId ;
420
+ anchorId = field . AnchorId ;
426
421
if ( item !== null ) {
427
422
item [ field . InternalName ] . forEach ( element => {
428
- selectedTags . push ( { key : element . TermGuid , name : element . Label } ) ;
423
+ selectedTags . push ( { key : element . TermGuid , name : element . Label } ) ;
429
424
} ) ;
430
425
431
426
defaultValue = selectedTags ;
432
- }
433
- else {
427
+ } else {
434
428
if ( defaultValue !== "" ) {
435
429
defaultValue . split ( / # | ; / ) . forEach ( element => {
436
430
if ( element . indexOf ( '|' ) !== - 1 )
437
- selectedTags . push ( { key : element . split ( '|' ) [ 1 ] , name : element . split ( '|' ) [ 0 ] } ) ;
431
+ selectedTags . push ( { key : element . split ( '|' ) [ 1 ] , name : element . split ( '|' ) [ 0 ] } ) ;
438
432
} ) ;
439
433
440
434
defaultValue = selectedTags ;
441
435
}
442
436
}
443
437
if ( defaultValue === "" )
444
438
defaultValue = null ;
445
- }
446
- else if ( fieldType === "TaxonomyFieldType" ) {
439
+ } else if ( fieldType === "TaxonomyFieldType" ) {
447
440
448
441
termSetId = field . TermSetId ;
442
+ anchorId = field . AnchorId ;
449
443
if ( item !== null ) {
450
444
const response = await this . _spService . getSingleManagedMtadataLabel ( listId , listItemId , field . InternalName ) ;
451
445
if ( response ) {
452
- selectedTags . push ( { key : response . TermID , name : response . Label } ) ;
446
+ selectedTags . push ( { key : response . TermID , name : response . Label } ) ;
453
447
defaultValue = selectedTags ;
454
448
}
455
- }
456
- else {
449
+ } else {
457
450
if ( defaultValue !== "" ) {
458
- selectedTags . push ( { key : defaultValue . split ( '|' ) [ 1 ] , name : defaultValue . split ( '|' ) [ 0 ] . split ( '#' ) [ 1 ] } ) ;
451
+ selectedTags . push ( { key : defaultValue . split ( '|' ) [ 1 ] , name : defaultValue . split ( '|' ) [ 0 ] . split ( '#' ) [ 1 ] } ) ;
459
452
defaultValue = selectedTags ;
460
453
}
461
454
}
462
455
if ( defaultValue === "" )
463
456
defaultValue = null ;
464
- }
465
- else if ( fieldType === "DateTime" ) {
457
+ } else if ( fieldType === "DateTime" ) {
466
458
if ( item !== null && item [ field . InternalName ] )
467
459
defaultValue = new Date ( item [ field . InternalName ] ) ;
468
460
else if ( defaultValue === '[today]' ) {
@@ -482,34 +474,30 @@ export class DynamicForm extends React.Component<IDynamicFormProps, IDynamicForm
482
474
}
483
475
principalType = field . SchemaXml . split ( 'UserSelectionMode="' ) [ 1 ] ;
484
476
principalType = principalType . substring ( 0 , principalType . indexOf ( '"' ) ) ;
485
- }
486
- else if ( fieldType === "Thumbnail" ) {
477
+ } else if ( fieldType === "Thumbnail" ) {
487
478
if ( defaultValue !== null ) {
488
479
defaultValue = this . webURL . split ( '/sites/' ) [ 0 ] + JSON . parse ( defaultValue ) . serverRelativeUrl ;
489
480
}
490
- }
491
- else if ( fieldType === "User" ) {
481
+ } else if ( fieldType === "User" ) {
492
482
if ( item !== null ) {
493
483
const userEmails : string [ ] = [ ] ;
494
484
userEmails . push ( await this . _spService . getUserUPNFromFieldValue ( listId , listItemId , field . InternalName , this . webURL ) + '' ) ;
495
485
defaultValue = userEmails ;
496
- }
497
- else {
486
+ } else {
498
487
defaultValue = [ ] ;
499
488
}
500
489
principalType = field . SchemaXml . split ( 'UserSelectionMode="' ) [ 1 ] ;
501
490
principalType = principalType . substring ( 0 , principalType . indexOf ( '"' ) ) ;
502
- }
503
- else if ( fieldType === "Location" ) {
491
+ } else if ( fieldType === "Location" ) {
504
492
defaultValue = JSON . parse ( defaultValue ) ;
505
- }
506
- else if ( fieldType === "Boolean" ) {
493
+ } else if ( fieldType === "Boolean" ) {
507
494
defaultValue = Boolean ( Number ( defaultValue ) ) ;
508
495
}
509
496
510
497
tempFields . push ( {
511
498
newValue : null ,
512
499
fieldTermSetId : termSetId ,
500
+ fieldAnchorId : anchorId ,
513
501
options : choices ,
514
502
lookupListID : lookupListId ,
515
503
lookupField : lookupField ,
0 commit comments