Skip to content

Commit 9f4a511

Browse files
committed
Refactor component example component
1 parent 9e11eb5 commit 9f4a511

File tree

8 files changed

+54
-104
lines changed

8 files changed

+54
-104
lines changed

packages/react-renderer-demo/src/components/component-example.js

Lines changed: 26 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,26 @@ import Box from '@material-ui/core/Box';
1919
import Link from 'next/link';
2020
import clsx from 'clsx';
2121

22-
import { muiCode, muiWizardCode, muiHtml, muiDependencies } from '../stackblitz-templates/mui-templates';
23-
import { pf4Code, pf4WizardCode, pf4Html, pf4Dependencies } from '../stackblitz-templates/pf4-templates';
24-
import { pf3Code, pf3WizardCode, pf3Html, pf3Dependencies } from '../stackblitz-templates/pf3-templates';
25-
import { blueprintCode, blueprintWizardCode, blueprintHtml, blueprintDependencies } from '../stackblitz-templates/blueprint-templates';
26-
import { suirCode, suirWizardCode, suirHtml, suirDependencies } from '../stackblitz-templates/suir-template';
27-
import { antCode, antWizardCode, antHtml, antDependencies } from '../stackblitz-templates/ant-templates';
28-
import { carbonCode, carbonWizardCode, carbonHtml, carbonDependencies } from '../stackblitz-templates/carbon-templates';
22+
import * as mui from '../stackblitz-templates/mui-templates';
23+
import * as pf4 from '../stackblitz-templates/pf4-templates';
24+
import * as pf3 from '../stackblitz-templates/pf3-templates';
25+
import * as blueprint from '../stackblitz-templates/blueprint-templates';
26+
import * as suir from '../stackblitz-templates/suir-template';
27+
import * as ant from '../stackblitz-templates/ant-templates';
28+
import * as carbon from '../stackblitz-templates/carbon-templates';
29+
2930
import avalableMappers from '../helpers/available-mappers';
3031

32+
const metadata = {
33+
mui,
34+
pf4,
35+
pf3,
36+
blueprint,
37+
suir,
38+
ant,
39+
carbon
40+
};
41+
3142
const project = {
3243
settings: {
3344
compile: {
@@ -102,80 +113,19 @@ const useStyles = makeStyles((theme) => ({
102113
}
103114
}));
104115

105-
const blitzFiles = {
106-
mui: {
107-
'index.html': muiHtml,
108-
'index.js': muiCode
109-
},
110-
pf4: {
111-
'index.html': pf4Html,
112-
'index.js': pf4Code
113-
},
114-
pf3: {
115-
'index.html': pf3Html,
116-
'index.js': pf3Code
117-
},
118-
blueprint: {
119-
'index.html': blueprintHtml,
120-
'index.js': blueprintCode
121-
},
122-
suir: {
123-
'index.html': suirHtml,
124-
'index.js': suirCode
125-
},
126-
ant: {
127-
'index.html': antHtml,
128-
'index.js': antCode
129-
},
130-
carbon: {
131-
'index.html': carbonHtml,
132-
'index.js': carbonCode
133-
}
134-
};
135-
136-
const blitzWizards = {
137-
mui: muiWizardCode,
138-
pf4: pf4WizardCode,
139-
pf3: pf3WizardCode,
140-
blueprint: blueprintWizardCode,
141-
suir: suirWizardCode,
142-
ant: antWizardCode,
143-
carbon: carbonWizardCode
144-
};
145-
146-
const blitzDependencies = {
147-
mui: muiDependencies,
148-
pf4: pf4Dependencies,
149-
pf3: pf3Dependencies,
150-
blueprint: blueprintDependencies,
151-
suir: suirDependencies,
152-
ant: antDependencies,
153-
carbon: carbonDependencies
154-
};
155-
156-
const mapperTab = {
157-
mui: 0,
158-
pf4: 1,
159-
pf3: 2,
160-
blueprint: 3,
161-
suir: 4,
162-
ant: 5,
163-
carbon: 6
164-
};
165-
166116
const ComponentExample = ({ variants, schema, activeMapper, component }) => {
167-
const activeTab = mapperTab[activeMapper];
168117
const { pathname, push } = useRouter();
169118
const classes = useStyles();
170119
useEffect(() => {
171120
sdk.embedProject(
172121
'code-target',
173122
{
174123
...project,
175-
dependencies: blitzDependencies[activeMapper],
124+
dependencies: metadata[activeMapper].dependencies,
176125
files: {
177-
...blitzFiles[activeMapper],
178-
...(component === 'wizard' && { 'index.js': blitzWizards[activeMapper] }),
126+
'index.html': metadata[activeMapper].html,
127+
'index.js': metadata[activeMapper].code,
128+
...(component === 'wizard' && { 'index.js': metadata[activeMapper].wizardCode }),
179129
'schema.js': `export default ${JSON.stringify(schema, null, 2)};`
180130
}
181131
},
@@ -184,10 +134,10 @@ const ComponentExample = ({ variants, schema, activeMapper, component }) => {
184134
}, [activeMapper, schema]);
185135

186136
const renderMapperTabs = () =>
187-
avalableMappers.map(({ title, mapper }, index) => (
137+
avalableMappers.map(({ title, mapper }) => (
188138
<Tab
189139
key={mapper}
190-
value={index}
140+
value={mapper}
191141
onClick={() => push(`${pathname}?mapper=${mapper}`)}
192142
className={clsx(classes.tab, { active: activeMapper === mapper })}
193143
label={
@@ -228,7 +178,7 @@ const ComponentExample = ({ variants, schema, activeMapper, component }) => {
228178
<Box display="flex" className={classes.editorContainer}>
229179
<div className={classes.smTabDown}>
230180
<Tabs
231-
value={activeTab}
181+
value={activeMapper}
232182
orientation="horizontal"
233183
variant="fullWidth"
234184
classes={{
@@ -240,7 +190,7 @@ const ComponentExample = ({ variants, schema, activeMapper, component }) => {
240190
</div>
241191
<div className={classes.smTabUp}>
242192
<Tabs
243-
value={activeTab}
193+
value={activeMapper}
244194
orientation="vertical"
245195
variant="scrollable"
246196
classes={{

packages/react-renderer-demo/src/stackblitz-templates/ant-templates.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
export const antHtml = `
1+
export const html = `
22
<html>
33
<body>
44
<div id="root"></div>
55
</body>
66
</html>
77
`;
88

9-
export const antCode = `import React, { Component } from 'react';
9+
export const code = `import React, { Component } from 'react';
1010
import { render } from 'react-dom';
1111
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
1212
import FormTemplate from '@data-driven-forms/ant-component-mapper/dist/cjs/form-template';
@@ -32,7 +32,7 @@ class App extends Component {
3232
3333
render(<App />, document.getElementById('root'));`;
3434

35-
export const antWizardCode = `import React, { Component } from 'react';
35+
export const wizardCode = `import React, { Component } from 'react';
3636
import { render } from 'react-dom';
3737
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
3838
import AntFormTemplate from '@data-driven-forms/ant-component-mapper/dist/cjs/form-template';
@@ -60,7 +60,7 @@ class App extends Component {
6060
6161
render(<App />, document.getElementById('root'));`;
6262

63-
export const antDependencies = {
63+
export const dependencies = {
6464
react: '^16.12.0',
6565
'react-dom': '^16.12.0',
6666
'@data-driven-forms/react-form-renderer': 'latest',

packages/react-renderer-demo/src/stackblitz-templates/blueprint-templates.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const blueprintHtml = `
1+
export const html = `
22
<html>
33
<head>
44
<!-- Style dependencies -->
@@ -14,7 +14,7 @@ export const blueprintHtml = `
1414
</html>
1515
`;
1616

17-
export const blueprintCode = `import React, { Component } from 'react';
17+
export const code = `import React, { Component } from 'react';
1818
import { render } from 'react-dom';
1919
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
2020
import FormTemplate from '@data-driven-forms/blueprint-component-mapper/dist/cjs/form-template';
@@ -39,7 +39,7 @@ class App extends Component {
3939
4040
render(<App />, document.getElementById('root'));`;
4141

42-
export const blueprintWizardCode = `import React, { Component } from 'react';
42+
export const wizardCode = `import React, { Component } from 'react';
4343
import { render } from 'react-dom';
4444
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
4545
import BlueprintFormTemplate from '@data-driven-forms/blueprint-component-mapper/dist/cjs/form-template';
@@ -66,7 +66,7 @@ class App extends Component {
6666
6767
render(<App />, document.getElementById('root'));`;
6868

69-
export const blueprintDependencies = {
69+
export const dependencies = {
7070
react: '^16.12.0',
7171
'react-dom': '^16.12.0',
7272
'@data-driven-forms/react-form-renderer': 'latest',

packages/react-renderer-demo/src/stackblitz-templates/carbon-templates.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const carbonHtml = `
1+
export const html = `
22
<html>
33
<head>
44
<!-- Carbon stylesheets -->
@@ -10,7 +10,7 @@ export const carbonHtml = `
1010
</html>
1111
`;
1212

13-
export const carbonCode = `import React, { Component } from 'react';
13+
export const code = `import React, { Component } from 'react';
1414
import { render } from 'react-dom';
1515
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
1616
import FormTemplate from '@data-driven-forms/carbon-component-mapper/dist/cjs/form-template';
@@ -35,7 +35,7 @@ class App extends Component {
3535
3636
render(<App />, document.getElementById('root'));`;
3737

38-
export const carbonWizardCode = `import React, { Component } from 'react';
38+
export const wizardCode = `import React, { Component } from 'react';
3939
import { render } from 'react-dom';
4040
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
4141
import CarbonFormTemplate from '@data-driven-forms/carbon-component-mapper/dist/cjs/form-template';
@@ -62,7 +62,7 @@ class App extends Component {
6262
6363
render(<App />, document.getElementById('root'));`;
6464

65-
export const carbonDependencies = {
65+
export const dependencies = {
6666
react: '^16.12.0',
6767
'react-dom': '^16.12.0',
6868
'@data-driven-forms/react-form-renderer': 'latest',

packages/react-renderer-demo/src/stackblitz-templates/mui-templates.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const muiHtml = `
1+
export const html = `
22
<html>
33
<head>
44
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
@@ -9,7 +9,7 @@ export const muiHtml = `
99
</html>
1010
`;
1111

12-
export const muiCode = `import React, { Component } from 'react';
12+
export const code = `import React, { Component } from 'react';
1313
import { render } from 'react-dom';
1414
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
1515
import FormTemplate from '@data-driven-forms/mui-component-mapper/dist/cjs/form-template';
@@ -34,7 +34,7 @@ class App extends Component {
3434
3535
render(<App />, document.getElementById('root'));`;
3636

37-
export const muiWizardCode = `import React, { Component } from 'react';
37+
export const wizardCode = `import React, { Component } from 'react';
3838
import { render } from 'react-dom';
3939
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
4040
import MuiFormTemplate from '@data-driven-forms/mui-component-mapper/dist/cjs/form-template';
@@ -61,7 +61,7 @@ class App extends Component {
6161
6262
render(<App />, document.getElementById('root'));`;
6363

64-
export const muiDependencies = {
64+
export const dependencies = {
6565
react: '^16.12.0',
6666
'react-dom': '^16.12.0',
6767
'@data-driven-forms/react-form-renderer': 'latest',

packages/react-renderer-demo/src/stackblitz-templates/pf3-templates.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const pf3Html = `
1+
export const html = `
22
<html>
33
<head>
44
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/patternfly/3.59.5/css/patternfly.min.css" integrity="sha256-rLJV3jlFRU38RbS+z4Ee+xgtP71nt4Tg+d1OTGmnJkw=" crossorigin="anonymous" />
@@ -10,7 +10,7 @@ export const pf3Html = `
1010
</html>
1111
`;
1212

13-
export const pf3Code = `import React, { Component } from 'react';
13+
export const code = `import React, { Component } from 'react';
1414
import { render } from 'react-dom';
1515
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
1616
import FormTemplate from '@data-driven-forms/pf3-component-mapper/dist/cjs/form-template';
@@ -37,7 +37,7 @@ class App extends Component {
3737
3838
render(<App />, document.getElementById('root'));`;
3939

40-
export const pf3WizardCode = `import React, { Component } from 'react';
40+
export const wizardCode = `import React, { Component } from 'react';
4141
import { render } from 'react-dom';
4242
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
4343
import Pf3FormTemplate from '@data-driven-forms/pf3-component-mapper/dist/cjs/form-template';
@@ -64,7 +64,7 @@ class App extends Component {
6464
6565
render(<App />, document.getElementById('root'));`;
6666

67-
export const pf3Dependencies = {
67+
export const dependencies = {
6868
react: '^16.12.0',
6969
'react-dom': '^16.12.0',
7070
'@data-driven-forms/react-form-renderer': 'latest',

packages/react-renderer-demo/src/stackblitz-templates/pf4-templates.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const pf4Html = `
1+
export const html = `
22
<html>
33
<head>
44
<link rel="stylesheet" type="text/css" href="https://unpkg.com/@patternfly/[email protected]/patternfly-base.css"/>
@@ -10,7 +10,7 @@ export const pf4Html = `
1010
</html>
1111
`;
1212

13-
export const pf4Code = `import React, { Component } from 'react';
13+
export const code = `import React, { Component } from 'react';
1414
import { render } from 'react-dom';
1515
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
1616
import FormTemplate from '@data-driven-forms/pf4-component-mapper/dist/cjs/form-template';
@@ -35,7 +35,7 @@ class App extends Component {
3535
3636
render(<App />, document.getElementById('root'));`;
3737

38-
export const pf4WizardCode = `import React, { Component } from 'react';
38+
export const wizardCode = `import React, { Component } from 'react';
3939
import { render } from 'react-dom';
4040
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
4141
import Pf4FormTemplate from '@data-driven-forms/pf4-component-mapper/dist/cjs/form-template';
@@ -62,7 +62,7 @@ class App extends Component {
6262
6363
render(<App />, document.getElementById('root'));`;
6464

65-
export const pf4Dependencies = {
65+
export const dependencies = {
6666
react: '^16.12.0',
6767
'react-dom': '^16.12.0',
6868
'@data-driven-forms/react-form-renderer': 'latest',

packages/react-renderer-demo/src/stackblitz-templates/suir-template.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const suirHtml = `
1+
export const html = `
22
<html>
33
<head>
44
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/[email protected]/dist/semantic.min.css" />
@@ -9,7 +9,7 @@ export const suirHtml = `
99
</html>
1010
`;
1111

12-
export const suirCode = `import React, { Component } from 'react';
12+
export const code = `import React, { Component } from 'react';
1313
import { render } from 'react-dom';
1414
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
1515
import FormTemplate from '@data-driven-forms/suir-component-mapper/dist/cjs/form-template';
@@ -34,7 +34,7 @@ class App extends Component {
3434
3535
render(<App />, document.getElementById('root'));`;
3636

37-
export const suirWizardCode = `import React, { Component } from 'react';
37+
export const wizardCode = `import React, { Component } from 'react';
3838
import { render } from 'react-dom';
3939
import FormRenderer from '@data-driven-forms/react-form-renderer/dist/cjs/form-renderer';
4040
import SuirFormTemplate from '@data-driven-forms/suir-component-mapper/dist/cjs/form-template';
@@ -61,7 +61,7 @@ class App extends Component {
6161
6262
render(<App />, document.getElementById('root'));`;
6363

64-
export const suirDependencies = {
64+
export const dependencies = {
6565
react: '^16.12.0',
6666
'react-dom': '^16.12.0',
6767
'@data-driven-forms/react-form-renderer': 'latest',

0 commit comments

Comments
 (0)