Skip to content

Commit 877c36b

Browse files
committed
version 3.2.0-alpha.35
1 parent d7c3d67 commit 877c36b

File tree

2 files changed

+40
-15
lines changed

2 files changed

+40
-15
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cample",
3-
"version": "3.2.0-alpha.34",
3+
"version": "3.2.0-alpha.35",
44
"description": "Cample.js - fast modern javascript framework. Reactivity without virtual DOM!",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/core/components/component/component.ts

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ import { createElement } from "../../functions/data/create-element";
6767
import { renderFunction } from "../../functions/render/render-function";
6868
import { renderFunctions } from "../../functions/render/render-functions";
6969
import { 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

7173
export 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

Comments
 (0)