UNPKG

framework-entersol-web

Version:

Framework based on bootstrap 5

102 lines (92 loc) 2.6 kB
import React from "react"; import ToolBarContentContainer from "../../../MainContent/ToolBarContentContainer"; import { ToolBarStyle, Content } from "../../../styles/globalStyles"; import Form from './FormSchema'; import { t } from './i18n'; const FIELDS = [ { name: 'name', label: t('Nombre'), placeholder: t('Nombre'), info: t('Escriba el nombre de la matriz.'), errorMessage: t('El nombre de la matriz es indispensable'), required: true }, { name: 'address', label: t('Dirección'), placeholder: t('Dirección'), info: t('Escriba la dirección de la Matriz.'), errorMessage: t('La dirección es indispensable'), required: true }, { name: 'zip', label: t('Código Postal'), placeholder: t('Código Postal'), info: t('Escriba el código postal de la Matriz.'), errorMessage: t('El código postal es indispensable'), required: true }, { name: 'company', label: t('Compañía'), placeholder: t('Compañía'), info: t('Escriba el nombre de la compañía de la Matriz.'), errorMessage: t('La compañía es indispensable'), required: true }, { name: 'tags', label: t('Etiquetas'), type: 'SelectBadges', placeholder: t('Seleccionar etiquetas'), info: t('Selecciona todas las etiquetas que consideres necesarias para identificar esta matriz.'), options: [] } ]; const Template = ({children}) => { return <><ToolBarStyle> <ToolBarContentContainer defaultIcons={true} title={t('Comercios')} subTitle={t('Matriz')} /> </ToolBarStyle> <Content> <div style={{padding: 20}} > {children} </div> </Content></> } export default class AppComponent extends React.Component { static defaultProps = { tags: [] } state = { fields: FIELDS } constructor(props) { super(props); } componentDidUpdate(prevProps, prevState) { if (prevProps.tags.length !== this.props.tags.length) { let { tags } = this.props; //set options from tags FIELDS[4].options = tags.filter(tag => !!tag.name) .map(tag => ({ label: tag.name, value: tag._id })); this.setState({fields: FIELDS}); } } render() { let props = { fields: this.state.fields, onChange: (e,data) => console.log('ON_CHANGE', data), onSubmit: (e,data) => console.log('ON_SUBMIT',data), Template } return (<> <Form {...props}/> </>); } }