33 import PropertyDiscriminator from ' $lib/components/common/jschema/PropertyDiscriminator.svelte' ;
44 import PropertyDescription from ' $lib/components/common/jschema/PropertyDescription.svelte' ;
55
6- export let schemaProperty = undefined ;
6+ export let schemaProperty;
77 let nestedProperties = [];
88
99 let accordionParentKey = schemaProperty .key .replaceAll (' #' , ' ' );
1010 let collapseSymbol = accordionParentKey + ' -collapse' ;
1111
1212 onMount (() => {
13- schemaProperty .value ? .forEach ((nestedValue , index ) => {
13+ schemaProperty .value ? .forEach ((/** @type {any} */ nestedValue , /** @type {number} */ index ) => {
1414 schemaProperty .addNestedSchemaProperty (nestedValue, index);
1515 });
1616 nestedProperties = schemaProperty .nestedProperties ;
2121 nestedProperties = schemaProperty .nestedProperties ;
2222 }
2323
24- function removeNestedProperty (index ) {
24+ function removeNestedProperty (/** @type {number} */ index ) {
2525 schemaProperty .removeNestedSchemaProperty (index);
2626 nestedProperties = schemaProperty .nestedProperties ;
2727 }
28-
2928< / script>
3029
31- {#if schemaProperty }
32- < div class = ' d-flex flex-column p-2' >
33- < div class = ' property-metadata d-flex flex-row w-100' >
34- < span class = ' {schemaProperty.isRequired() ? "fw-bold" : ""}' > { schemaProperty .title || " " }< / span>
35- < PropertyDescription description= {schemaProperty .description } / >
36- < / div>
37- < div class = ' array-items my-2' >
38-
39-
40- < div class = ' accordion' id= ' {accordionParentKey}' >
41- < div class = ' accordion-item' >
42- < div class = ' accordion-header' >
43- < button class = ' accordion-button collapsed' type= ' button' data- bs- toggle= ' collapse'
44- data- bs- target= ' #{collapseSymbol}' > Arguments list
45- < / button>
46- < / div>
47- < div id= ' {collapseSymbol}' class = ' accordion-collapse collapse' data- bs- parent= ' #{accordionParentKey}' >
48- < div class = ' accordion-body p-1' >
49- < div class = ' d-flex justify-content-center p-2' >
50- < button class = ' btn btn-primary' type= " button" on: click= {addNestedProperty}> Add argument to list< / button>
51- < / div>
52- < div>
53- {#each nestedProperties as nestedProperty, index (nestedProperty .key )}
54- < div class = ' d-flex' >
55- < div class = ' align-self-center m-2' >
56- < button class = ' btn btn-warning' type= " button" on: click= {removeNestedProperty (index)}> Remove< / button>
57- < / div>
58- < div class = ' flex-fill' >
59- < PropertyDiscriminator schemaProperty= {nestedProperty} / >
60- < / div>
61- < / div>
62- {/ each}
63- < / div>
64- < / div>
65- < / div>
66- < / div>
67- < / div>
68-
69-
70- < / div>
71- < / div>
72-
30+ {#if schemaProperty}
31+ < div class = " d-flex flex-column p-2" >
32+ < div class = " property-metadata d-flex flex-row w-100" >
33+ < span class = {schemaProperty .isRequired () ? ' fw-bold' : ' ' }> {schemaProperty .title || ' ' }< / span>
34+ < PropertyDescription description= {schemaProperty .description } / >
35+ < / div>
36+ < div class = " array-items my-2" >
37+ < div class = " accordion" id= {accordionParentKey}>
38+ < div class = " accordion-item" >
39+ < div class = " accordion-header" >
40+ < button
41+ class = " accordion-button collapsed"
42+ type= " button"
43+ data- bs- toggle= " collapse"
44+ data- bs- target= " #{collapseSymbol}"
45+ >
46+ Arguments list
47+ < / button>
48+ < / div>
49+ < div
50+ id= {collapseSymbol}
51+ class = " accordion-collapse collapse"
52+ data- bs- parent= " #{accordionParentKey}"
53+ >
54+ < div class = " accordion-body p-1" >
55+ < div class = " d-flex justify-content-center p-2" >
56+ < button class = " btn btn-primary" type= " button" on: click= {addNestedProperty}>
57+ Add argument to list
58+ < / button>
59+ < / div>
60+ < div>
61+ {#each nestedProperties as nestedProperty, index (nestedProperty .key )}
62+ < div class = " d-flex" >
63+ < div class = " align-self-center m-2" >
64+ < button
65+ class = " btn btn-warning"
66+ type= " button"
67+ on: click= {() => removeNestedProperty (index)}
68+ >
69+ Remove
70+ < / button>
71+ < / div>
72+ < div class = " flex-fill" >
73+ < PropertyDiscriminator schemaProperty= {nestedProperty} / >
74+ < / div>
75+ < / div>
76+ {/ each}
77+ < / div>
78+ < / div>
79+ < / div>
80+ < / div>
81+ < / div>
82+ < / div>
83+ < / div>
7384{: else }
74-
75- < div>
76- < p> Unable to display array data< / p>
77- < / div>
78-
79-
80- {/ if }
85+ < div>
86+ < p> Unable to display array data< / p>
87+ < / div>
88+ {/ if }
0 commit comments