// // Copyright (C) Stanislaw Adaszewski, 2020 // Contact: s.adaszewski@gmail.com // Website: https://adared.ch/wba // License: GNU Affero General Public License, Version 3 // import { h, Component, createRef } from 'preact'; import WBJsonViewer from 'wb-json-viewer'; import WBAccordion from 'wb-accordion'; import WBDialog from 'wb-dialog'; class WbJsonEditorDialog extends Component { constructor(...args) { super(...args); this.dialogRef = createRef(); } render({ name, onChange }, { editValue, parseError }) { return ( { onChange(JSON.parse(editValue)); } } canAccept={ () => { try { JSON.parse(editValue) } catch (exc) { this.setState({ parseError: exc.message }); return false; } return true; } }>