@@ -67,6 +67,8 @@ import { createElement } from "../../functions/data/create-element";
6767import { renderFunction } from "../../functions/render/render-function" ;
6868import { renderFunctions } from "../../functions/render/render-functions" ;
6969import { renderComponentDynamicKeyData } from "../../functions/data/render-component-dynamic-key-data" ;
70+ import { renderKey } from "../../functions/render/render-key" ;
71+ import { renderComponentDynamicKey } from "../../functions/render/render-component-dynamic-key" ;
7072
7173export class Component extends DataComponent {
7274 public data : DataComponentType ;
@@ -251,10 +253,11 @@ export class Component extends DataComponent {
251253 index : number ,
252254 functions : FunctionsType
253255 ) => {
254- const renderNewData = ( value : string ) => {
255- // const values = getValues(index);
256+ const renderNewData = ( value : any ) => {
256257 const val = renderComponentDynamicKeyData (
257258 getData ( this . _dynamic . data . data . values , index ) ,
259+ value ,
260+ false ,
258261 value
259262 ) ;
260263 return val ;
@@ -264,16 +267,14 @@ export class Component extends DataComponent {
264267 functions : { }
265268 } ;
266269 for ( let i = 0 ; i < obj . data . length ; i ++ ) {
267- const { key, value } = obj . data [ i ] ;
268- const currentVal = [ ... value ] ;
270+ const { key, value, renderedValues } = obj . data [ i ] ;
271+ const currentVal = value . slice ( ) ;
269272 newObj . data [ key ] = currentVal ;
270273 for ( let j = 0 ; j < currentVal . length ; j ++ ) {
271274 const val = currentVal [ j ] ;
272- const isIndex =
273- indexesValue ?. [ "data" ] [ key ] &&
274- indexesValue [ "data" ] [ key ] . indexOf ( j ) > - 1 ;
275+ const isIndex = renderedValues [ j ] . isIndex ;
275276 newObj [ "data" ] [ key ] [ j ] = isIndex
276- ? renderNewData ( val as string )
277+ ? renderNewData ( renderedValues [ j ] . val )
277278 : val ;
278279 }
279280 }
@@ -464,14 +465,35 @@ export class Component extends DataComponent {
464465 } else {
465466 this . exportObj = exportObj ;
466467 }
468+
467469 if ( isExportConstructor ) {
468470 const exportConstructor = { } ;
469- const createArr = ( obj : any ) => {
471+ const createArr = ( obj : any , currentIndexesValues ?: any ) => {
470472 const arr = Object . entries ( obj ) . map ( ( [ key , value ] ) => {
471- return {
472- key,
473- value
474- } ;
473+ if ( currentIndexesValues !== undefined ) {
474+ const renderedValues : any [ ] = [ ] ;
475+ if ( value ) {
476+ for ( let i = 0 ; i < ( value as any ) . length ; i ++ ) {
477+ const val = renderComponentDynamicKey ( renderKey ( value [ i ] ) ) ;
478+ const isIndex =
479+ currentIndexesValues [ key ] &&
480+ currentIndexesValues [ key ] . indexOf ( i ) > - 1 ;
481+ renderedValues . push ( {
482+ val,
483+ isIndex
484+ } ) ;
485+ }
486+ }
487+ return {
488+ key,
489+ value,
490+ renderedValues
491+ } ;
492+ } else
493+ return {
494+ key,
495+ value
496+ } ;
475497 } ) ;
476498 return arr ;
477499 } ;
@@ -480,7 +502,10 @@ export class Component extends DataComponent {
480502 data : [ ] as any ,
481503 functions : [ ] as any
482504 } ;
483- newVal . data = createArr ( ( value as any ) . data ) ;
505+ newVal . data = createArr (
506+ ( value as any ) . data ,
507+ indexesValue ?. [ key ] [ "data" ]
508+ ) ;
484509 newVal . functions = createArr ( ( value as any ) . functions ) ;
485510 exportConstructor [ key ] = newVal ;
486511 }
0 commit comments