Skip to content

Commit 76fd125

Browse files
Merge pull request #17 from MadinventorZero/statecodepreview
Statecodepreview
2 parents c6be746 + a94de91 commit 76fd125

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

app/src/helperFunctions/generateCode.ts

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -99,23 +99,23 @@ const generateUnformattedCode = (
9999
};
100100

101101
// function to dynamically generate a complete html (& also other library type) elements
102+
const tabSpacer = (level: number) => {
103+
let tabs = ''
104+
for (let i = 0; i < level; i++) tabs += ' ';
105+
return tabs;
106+
}
107+
108+
const levelSpacer = (level: number, spaces: number) => {
109+
if (level === 2 ) return `\n${tabSpacer(spaces)}`;
110+
else return ''
111+
}
112+
102113
const elementGenerator = (childElement: object, level: number = 2) => {
103114
let innerText = '';
104115
let activeLink = '';
105116
if (childElement.attributes && childElement.attributes.compText) innerText = childElement.attributes.compText;
106117
if (childElement.attributes && childElement.attributes.compLink) activeLink = childElement.attributes.compLink;
107118

108-
const tabSpacer = (level: number) => {
109-
let tabs = ''
110-
for (let i = 0; i < level; i++) tabs += ' ';
111-
return tabs;
112-
}
113-
114-
const levelSpacer = (level: number, spaces: number) => {
115-
if (level === 2 ) return `\n${tabSpacer(spaces)}`;
116-
else return ''
117-
}
118-
119119
const nestable = childElement.tag === 'div' ||
120120
childElement.tag === 'form' ||
121121
childElement.tag === 'ol' ||
@@ -162,7 +162,16 @@ const generateUnformattedCode = (
162162
.filter(element => !!element)
163163
.join('')}`;
164164
};
165-
// Caret End
165+
166+
const writeStateProps = (stateArray: any) => {
167+
let stateToRender = '';
168+
for (const element of stateArray) {
169+
stateToRender += levelSpacer(2, 3) + element + ';'
170+
}
171+
return stateToRender
172+
}
173+
174+
// Caret End
166175

167176
const enrichedChildren: any = getEnrichedChildren(currentComponent);
168177

@@ -202,7 +211,8 @@ const generateUnformattedCode = (
202211
}
203212
${
204213
stateful && !classBased
205-
? `const [value, setValue] = useState<any | undefined>("INITIAL VALUE");`
214+
? `const [value, setValue] = useState<any | undefined>("INITIAL VALUE");${writeStateProps(currentComponent.useStateCodes)};
215+
`
206216
: ``
207217
}
208218
${
@@ -213,9 +223,8 @@ const generateUnformattedCode = (
213223
}`
214224
: ``
215225
}
216-
217226
${classBased ? `render(): JSX.Element {` : ``}
218-
227+
219228
return (
220229
<div className="${currentComponent.name}" style={props.style}>
221230
${writeNestedElements(enrichedChildren)}

0 commit comments

Comments
 (0)