1 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5 | return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6 | };
|
7 | import React from 'react';
|
8 | import compose from 'recompose/compose';
|
9 | import { withStyles, createStyles, } from '@material-ui/core/styles';
|
10 | import Grid from '@material-ui/core/Grid';
|
11 | import Stepper from '@material-ui/core/Stepper';
|
12 | import StepComponent from '@material-ui/core/Step';
|
13 | import StepLabel from '@material-ui/core/StepLabel';
|
14 | import { StepContent } from '@material-ui/core';
|
15 | import { observer } from 'mobx-react';
|
16 | import { FieldsRender } from '../FieldsRender';
|
17 | import FooterSteps from './FooterSteps';
|
18 | import { getMessage } from '../FieldTranslate';
|
19 | const styles = (theme) => createStyles({
|
20 | root: Object.assign(Object.assign({}, theme.mixins.gutters()), { paddingTop: theme.spacing(2), paddingBottom: theme.spacing(4), margin: theme.spacing(2), width: '100%' }),
|
21 | });
|
22 | let FormStepsComponent = class FormStepsComponent extends React.Component {
|
23 | render() {
|
24 | const { props } = this;
|
25 | const { getSteps = () => props.stepsBuild.steps, handleNextStep, changeField, handleBackStep, footerRender, stepperProps, gridProps, children, stepsBuild, } = props;
|
26 | const { activeStep, loading, footerSteps } = stepsBuild;
|
27 | const steps = getSteps();
|
28 | const fieldsTemp = (activeStep) => {
|
29 | const { fields, ns = stepsBuild.ns, validate } = steps[activeStep];
|
30 | return (fields && (React.createElement(React.Fragment, null,
|
31 | React.createElement(Grid, { item: true, xs: 12 }, fields && (React.createElement(FieldsRender, { ns: ns, validate: validate, fields: fields, getSteps: () => steps, changeField: changeField }))),
|
32 | React.createElement(Grid, { item: true, xs: 12 },
|
33 | React.createElement(FooterSteps, Object.assign({}, {
|
34 | ns,
|
35 | handleNextStep,
|
36 | handleBackStep,
|
37 | steps,
|
38 | footerSteps,
|
39 | footerRender,
|
40 | activeStep,
|
41 | loading,
|
42 | }))))));
|
43 | };
|
44 | return (React.createElement(React.Fragment, null,
|
45 | React.createElement(Grid, { container: true, spacing: 0 },
|
46 | React.createElement(Grid, { item: true, xs: 12 },
|
47 | React.createElement(Stepper, Object.assign({ activeStep: activeStep }, stepperProps), steps.map((step, key) => {
|
48 | const { label, stepper: stepperState = true, ns = stepsBuild.ns, } = step;
|
49 | return stepperState ? (React.createElement(StepComponent, { key: `step-${key}` },
|
50 | React.createElement(StepLabel, null, getMessage({
|
51 | ns: typeof label === 'string'
|
52 | ? ns
|
53 | : label.ns || ns,
|
54 | message: typeof label === 'string'
|
55 | ? label
|
56 | : label.message,
|
57 | })),
|
58 | stepperProps &&
|
59 | stepperProps.orientation === 'vertical' && (React.createElement(StepContent, null, fieldsTemp(key))))) : null;
|
60 | }))),
|
61 | children,
|
62 | ((stepperProps &&
|
63 | (!stepperProps.orientation ||
|
64 | stepperProps.orientation === 'horizontal')) ||
|
65 | !stepperProps) && (React.createElement(Grid, Object.assign({ container: true, direction: "row", justify: "center", alignItems: "center", spacing: 4 }, gridProps), fieldsTemp(activeStep))))));
|
66 | }
|
67 | };
|
68 | FormStepsComponent = __decorate([
|
69 | observer
|
70 | ], FormStepsComponent);
|
71 | export const FormSteps = compose(withStyles(styles, { name: 'formSteps' }))(FormStepsComponent);
|
72 | export default FormSteps;
|
73 |
|
\ | No newline at end of file |