@@ -356,14 +356,15 @@ export function checkForUnsupportedFeatures(
356
356
}
357
357
358
358
// make an element out of the corresponding properties and UI properties
359
- function generateElement (
359
+ function generateDependencyElement (
360
360
name : string ,
361
361
dataProps : any ,
362
362
uiProperties : any ,
363
363
requiredNames : any ,
364
364
definitionData ?: { [ string ] : any } ,
365
365
definitionUi ?: { [ string ] : any } ,
366
366
categoryHash : { [ string ] : string } ,
367
+ useDefinitionDetails : boolean = true , // determines whether to use an element's definition details or not.
367
368
) {
368
369
let uiProps = {
369
370
...uiProperties ,
@@ -381,7 +382,8 @@ function generateElement(
381
382
if (
382
383
pathArr [ 0 ] === '#' &&
383
384
pathArr [ 1 ] === 'definitions' &&
384
- definitionData [ pathArr [ 2 ] ]
385
+ definitionData [ pathArr [ 2 ] ] &&
386
+ useDefinitionDetails === true
385
387
) {
386
388
elementDetails = {
387
389
...elementDetails ,
@@ -480,7 +482,6 @@ export function generateElementPropsFromSchemas(parameters: {
480
482
...uischema [ parameter ] ,
481
483
} ;
482
484
}
483
-
484
485
newElement . name = parameter ;
485
486
newElement . required = requiredNames . includes ( parameter ) ;
486
487
newElement . $ref = elementDetails . $ref ;
@@ -513,6 +514,7 @@ export function generateElementPropsFromSchemas(parameters: {
513
514
} ) ;
514
515
// read dependent elements from dependencies
515
516
if ( schema . dependencies ) {
517
+ const useDefinitionDetails = false ;
516
518
Object . keys ( schema . dependencies ) . forEach ( ( parent ) => {
517
519
const group = schema . dependencies [ parent ] ;
518
520
if ( group . oneOf ) {
@@ -530,14 +532,15 @@ export function generateElementPropsFromSchemas(parameters: {
530
532
( [ parameter , element ] ) => {
531
533
// create a new element if not present in main properties
532
534
if ( ! Object . keys ( elementDict ) . includes ( parameter ) ) {
533
- const newElement = generateElement (
535
+ const newElement = generateDependencyElement (
534
536
parameter ,
535
537
element ,
536
538
uischema [ parameter ] ,
537
539
requiredNames ,
538
540
definitionData ,
539
541
definitionUi ,
540
542
categoryHash ,
543
+ useDefinitionDetails ,
541
544
) ;
542
545
newElement . required = requiredValues . includes ( newElement . name ) ;
543
546
elementDict [ newElement . name ] = newElement ;
@@ -557,14 +560,15 @@ export function generateElementPropsFromSchemas(parameters: {
557
560
} else if ( group . properties ) {
558
561
const requiredValues = group . required || [ ] ;
559
562
Object . entries ( group . properties ) . forEach ( ( [ parameter , element ] ) => {
560
- const newElement = generateElement (
563
+ const newElement = generateDependencyElement (
561
564
parameter ,
562
565
element ,
563
566
uischema [ parameter ] ,
564
567
requiredNames ,
565
568
definitionData ,
566
569
definitionUi ,
567
570
categoryHash ,
571
+ useDefinitionDetails ,
568
572
) ;
569
573
newElement . required = requiredValues . includes ( newElement . name ) ;
570
574
newElement . dependent = true ;
0 commit comments