diff --git a/jsonforms-core-2.0.2.tgz b/jsonforms-core-2.0.2.tgz
deleted file mode 100644
index 6ddc12f..0000000
Binary files a/jsonforms-core-2.0.2.tgz and /dev/null differ
diff --git a/jsonforms-editor-2.0.2.tgz b/jsonforms-editor-2.0.2.tgz
deleted file mode 100644
index f824702..0000000
Binary files a/jsonforms-editor-2.0.2.tgz and /dev/null differ
diff --git a/jsonforms-material-renderers-2.0.2.tgz b/jsonforms-material-renderers-2.0.2.tgz
deleted file mode 100644
index 80f7506..0000000
Binary files a/jsonforms-material-renderers-2.0.2.tgz and /dev/null differ
diff --git a/jsonforms-react-2.0.2.tgz b/jsonforms-react-2.0.2.tgz
deleted file mode 100644
index 85983fa..0000000
Binary files a/jsonforms-react-2.0.2.tgz and /dev/null differ
diff --git a/package-lock.json b/package-lock.json
index 4237240..8b891f9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -54,62 +54,17 @@
}
},
"@jsonforms/core": {
- "version": "file:jsonforms-core-2.0.2.tgz",
- "integrity": "sha512-TKI4+Uv7EJqvaSELzpYbKSCtCC+D1zn27i9tL0WAxQ0gyPINNkP0KiSR0E4gpUj9BIVDiAohBayrlgAC+59dKw==",
- "requires": {
- "ajv": "6.4.0",
- "json-refs": "3.0.4",
- "lodash": "4.17.5",
- "redux": "3.7.2",
- "uuid": "3.2.1"
- },
- "dependencies": {
- "redux": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
- "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
- "requires": {
- "lodash": "4.17.5",
- "lodash-es": "4.17.8",
- "loose-envify": "1.3.1",
- "symbol-observable": "1.2.0"
- }
- }
- }
- },
- "@jsonforms/editor": {
- "version": "file:jsonforms-editor-2.0.2.tgz",
- "integrity": "sha512-PeMG+qTmIVMTZ157DI0Q9Zqtq0yVwDkm4vwS04CNlIQKeCP9h1Si5Q7yBV7PtUSeqB13LCpfZ7Tz5i/xCGPd1Q==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@jsonforms/core/-/core-2.0.6.tgz",
+ "integrity": "sha512-mOoH8A73nWvhYYCfM8omXqH3WQWf1GRN+VAf4c6tABdibNpgwwulKl3fA2SGD4LFrVZCg3F72HseM1Tts/bEKg==",
"requires": {
- "@jsonforms/core": "file:jsonforms-core-2.0.2.tgz",
- "@jsonforms/react": "file:jsonforms-react-2.0.2.tgz",
- "@jsonforms/webcomponent": "2.0.2",
- "@material-ui/core": "1.2.2",
- "@material-ui/icons": "1.0.0",
"ajv": "6.4.0",
"json-refs": "3.0.4",
"lodash": "4.17.5",
- "react": "16.3.2",
- "react-dnd": "2.6.0",
- "react-dnd-html5-backend": "2.6.0",
- "react-dom": "16.4.1",
- "react-redux": "5.0.7",
- "recompose": "0.27.1",
"redux": "3.7.2",
"uuid": "3.2.1"
},
"dependencies": {
- "react-dom": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.1.tgz",
- "integrity": "sha512-1Gin+wghF/7gl4Cqcvr1DxFX2Osz7ugxSwl6gBqCMpdrxHjIFUS7GYxrFftZ9Ln44FHw0JxCFD9YtZsrbR5/4A==",
- "requires": {
- "fbjs": "0.8.16",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1",
- "prop-types": "15.6.1"
- }
- },
"redux": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
@@ -124,13 +79,15 @@
}
},
"@jsonforms/material-renderers": {
- "version": "file:jsonforms-material-renderers-2.0.2.tgz",
- "integrity": "sha512-JmS5bi8T9d0tVpfQNTUyGtatrGHfgTvZcF4gLMP2BtysxjgCmobMTciJ0ecczHNuIaievpEPTj1+ZB0gqu6WQQ==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@jsonforms/material-renderers/-/material-renderers-2.0.6.tgz",
+ "integrity": "sha512-6NkUvYY95HrEAzDAGhy9OvrHysx5h1QmOX+vIcYMpXsGyh3NhXLxEGFtYh86PkspLZyrKj+Ij9owcIzTnKHkIw==",
"requires": {
- "@jsonforms/core": "file:jsonforms-core-2.0.2.tgz",
- "@jsonforms/react": "file:jsonforms-react-2.0.2.tgz",
+ "@jsonforms/core": "2.0.6",
+ "@jsonforms/react": "2.0.6",
"@material-ui/core": "1.2.2",
"@material-ui/icons": "1.0.0",
+ "@material-ui/lab": "1.0.0-alpha.8",
"material-ui-pickers": "1.0.0-rc.9",
"moment": "2.22.2",
"react": "16.3.2",
@@ -150,32 +107,51 @@
}
}
},
- "@jsonforms/react": {
- "version": "file:jsonforms-react-2.0.2.tgz",
- "integrity": "sha512-XlUsPfT0cgAy1x3Nk0gxq18Oh64Xc2xIBvbAG+DFYPbbd7ft+to094v9J6LsJZJyKIQ98l1akMaRnN+y7hFLKQ==",
- "requires": {
- "@jsonforms/core": "file:jsonforms-core-2.0.2.tgz",
- "lodash": "4.17.5",
- "react": "16.3.2",
- "react-redux": "5.0.7"
- }
- },
- "@jsonforms/webcomponent": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@jsonforms/webcomponent/-/webcomponent-2.0.2.tgz",
- "integrity": "sha512-KD85fijOU3SN7mpIJOBRnu8/ML8vkw8F0s/vKgcgQQ6E2GJXNtaejGAcEZRfoXQJ37T/7Ru/afigKU3bfsLr6Q==",
+ "@jsonforms/material-tree-renderer": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@jsonforms/material-tree-renderer/-/material-tree-renderer-2.0.6.tgz",
+ "integrity": "sha512-qThlhY/sDdHCFoDl1Aes8QV1UunVHaPLMGKvau8Z0RNo53va4dbzP610dMWPiTUudo+rmr+qYOijt7tBoPNXrw==",
"requires": {
- "@jsonforms/core": "file:jsonforms-core-2.0.2.tgz",
- "@jsonforms/react": "file:jsonforms-react-2.0.2.tgz",
- "@webcomponents/webcomponentsjs": "1.2.2",
- "es6-shim": "0.35.3",
+ "@jsonforms/core": "2.0.6",
+ "@jsonforms/react": "2.0.6",
+ "@material-ui/core": "1.2.2",
+ "@material-ui/icons": "1.0.0",
+ "ajv": "6.4.0",
"json-refs": "3.0.4",
+ "lodash": "4.17.5",
"react": "16.3.2",
+ "react-dnd": "2.6.0",
+ "react-dnd-html5-backend": "2.6.0",
"react-dom": "16.4.1",
"react-redux": "5.0.7",
- "redux": "3.7.2"
+ "recompose": "0.27.1",
+ "redux": "3.7.2",
+ "uuid": "3.2.1"
},
"dependencies": {
+ "@jsonforms/core": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@jsonforms/core/-/core-2.0.6.tgz",
+ "integrity": "sha512-mOoH8A73nWvhYYCfM8omXqH3WQWf1GRN+VAf4c6tABdibNpgwwulKl3fA2SGD4LFrVZCg3F72HseM1Tts/bEKg==",
+ "requires": {
+ "ajv": "6.4.0",
+ "json-refs": "3.0.4",
+ "lodash": "4.17.5",
+ "redux": "3.7.2",
+ "uuid": "3.2.1"
+ }
+ },
+ "@jsonforms/react": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@jsonforms/react/-/react-2.0.6.tgz",
+ "integrity": "sha512-zzHXDSOrFvqu70W+u2hzu0KfaBdu1dUdk/Y9YixafISkQoPmRR8Eh9K8Qz/62ar0b76tgtYU/w99tVBpNnz8cQ==",
+ "requires": {
+ "@jsonforms/core": "2.0.6",
+ "lodash": "4.17.5",
+ "react": "16.3.2",
+ "react-redux": "5.0.7"
+ }
+ },
"react-dom": {
"version": "16.4.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.1.tgz",
@@ -200,6 +176,17 @@
}
}
},
+ "@jsonforms/react": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@jsonforms/react/-/react-2.0.6.tgz",
+ "integrity": "sha512-zzHXDSOrFvqu70W+u2hzu0KfaBdu1dUdk/Y9YixafISkQoPmRR8Eh9K8Qz/62ar0b76tgtYU/w99tVBpNnz8cQ==",
+ "requires": {
+ "@jsonforms/core": "2.0.6",
+ "lodash": "4.17.5",
+ "react": "16.3.2",
+ "react-redux": "5.0.7"
+ }
+ },
"@material-ui/core": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.2.2.tgz",
@@ -257,6 +244,11 @@
"recompose": "0.27.1"
}
},
+ "@material-ui/lab": {
+ "version": "1.0.0-alpha.8",
+ "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-1.0.0-alpha.8.tgz",
+ "integrity": "sha512-zZzkw6Xphb3Dtuob43G/QL6ZIBnoEHZm2PvMFFSeeLXyV6393AtVjZPiDLvPjUBQ1SwlOIoW5U+Pn1ahO8URvg=="
+ },
"@types/jest": {
"version": "22.2.2",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.2.tgz",
@@ -309,11 +301,6 @@
"@types/react": "16.3.13"
}
},
- "@webcomponents/webcomponentsjs": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-1.2.2.tgz",
- "integrity": "sha512-VQlEKZwJFBz4x7VwYdZYeCNYvF39hJHoaGKfcKnv6u01tkXK9c0UCl1Zx4yBrMF+H1+rFvX6PLzDLFgUvZagmQ=="
- },
"abab": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz",
@@ -3701,11 +3688,6 @@
"event-emitter": "0.3.5"
}
},
- "es6-shim": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.3.tgz",
- "integrity": "sha1-m/tzY/7//4emzbbNk+QF7DxLbyY="
- },
"es6-symbol": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
diff --git a/package.json b/package.json
index 34802e6..e0d83ef 100644
--- a/package.json
+++ b/package.json
@@ -5,10 +5,10 @@
"bugs": "https://github.com/eclipsesource/jsonforms-ui-schema-editor/issues",
"homepage": "https://AhmetTanakol.github.io/jsonforms-ui-schema-editor/",
"dependencies": {
- "@jsonforms/core": "file:jsonforms-core-2.0.2.tgz",
- "@jsonforms/editor": "file:jsonforms-editor-2.0.2.tgz",
- "@jsonforms/material-renderers": "file:jsonforms-material-renderers-2.0.2.tgz",
- "@jsonforms/react": "file:jsonforms-react-2.0.2.tgz",
+ "@jsonforms/core": "^2.0.6",
+ "@jsonforms/material-renderers": "^2.0.6",
+ "@jsonforms/material-tree-renderer": "^2.0.6",
+ "@jsonforms/react": "^2.0.6",
"@material-ui/core": "^1.2.1",
"@material-ui/icons": "^1.0.0",
"@types/lodash": "^4.14.106",
@@ -43,7 +43,8 @@
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"testPathIgnorePatterns": [
"/node_modules/"
- ]
+ ],
+ "testURL": "http://localhost/"
},
"devDependencies": {
"@types/jest": "^22.2.2",
diff --git a/src/App.tsx b/src/App.tsx
index 6a61a22..b854445 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -8,16 +8,12 @@ import { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';
const theme = createMuiTheme({
palette: {
- type: 'dark',
- primary: {
- main: '#FFFFFF'
- },
secondary: {
main: '#ee6e73',
dark: '#26a69a'
},
background: {
- 'default': '#1e1e1e'
+ 'default': '#3748AC'
}
},
typography: {
diff --git a/src/editor/JsonEditorIde.tsx b/src/editor/JsonEditorIde.tsx
index cddd71b..65693b2 100644
--- a/src/editor/JsonEditorIde.tsx
+++ b/src/editor/JsonEditorIde.tsx
@@ -1,7 +1,6 @@
import * as React from 'react';
import { connect } from 'react-redux';
-import { TreeRenderer } from '@jsonforms/editor';
-import './jsoneditor.css';
+import { TreeWithDetailRenderer } from '@jsonforms/material-tree-renderer';
import './example.css';
const JsonFormsEditorIde = props => {
@@ -9,7 +8,7 @@ const JsonFormsEditorIde = props => {
return (
-
= theme => ({
@@ -37,8 +35,7 @@ const styles:
marginLeft: theme.spacing.unit
},
button: {
- margin: theme.spacing.unit,
- color: theme.palette.text.primary
+ margin: theme.spacing.unit
}
});
@@ -138,8 +135,9 @@ class EditorBar extends
return;
}
if (!_.isEmpty(readData)) {
- const valid = ajv.validate(schema, readData);
- if (valid) {
+ const validator = validate(schema);
+ const errors = validator(readData);
+ if (_.isEmpty(errors)) {
this.props.updateRootData(readData);
} else {
alert('Loaded data does not adhere to the specified schema.');
@@ -159,10 +157,10 @@ class EditorBar extends
-
+
UI Schema Editor
-
@@ -168,7 +172,6 @@ const mapStateToProps = (state, ownProps) => {
onClose: ownProps.onClose,
readOnly: ownProps.readOnly,
open: ownProps.open,
- modelSchema: getModelSchema(state),
uischema: getUiSchema(state)
};
};
diff --git a/src/editor/app-bar/dialogs/PreviewDialog.tsx b/src/editor/app-bar/dialogs/PreviewDialog.tsx
index 1e185df..d571851 100644
--- a/src/editor/app-bar/dialogs/PreviewDialog.tsx
+++ b/src/editor/app-bar/dialogs/PreviewDialog.tsx
@@ -51,10 +51,10 @@ class PreviewDialog extends
>
-
+
-
+
Preview
diff --git a/src/editor/jsoneditor.css b/src/editor/jsoneditor.css
deleted file mode 100644
index f3dc860..0000000
--- a/src/editor/jsoneditor.css
+++ /dev/null
@@ -1,212 +0,0 @@
-:root {
- --jsf-modest-bg-color: #217daf;
- --jsf-border-color: lightgray;
- --jsf-validation-color: #F44336;
-}
-
-body {
- background-color: #1e1e1e;
-}
-
-#editor {
- margin: auto;
- width: 75%;
-}
-
-.array-button {
- margin-right: 0.5em
-}
-
-.group.label {
- color: lightgray;
-}
-
-.validation_error {
- color: var(--jsf-validation-color);
-}
-
-fieldset {
- margin-bottom: 0.5em;
-}
-
-fieldset legend label {
- font-size: 1em;
-}
-
-jsf-treeMasterDetail {
- display: flex;
- flex-direction: column;
-}
-.jsf-treeMasterDetail > .jsf-treeMasterDetail-content {
- display: flex;
- flex-direction: row;
-}
-.jsf-treeMasterDetail > .jsf-treeMasterDetail-content > * {
- padding: 0.5em;
- border-style: solid;
- border-width: thin;
- border-color: var(--jsf-border-color);
- border-radius: 0.2em;
-}
-.jsf-treeMasterDetail > .jsf-treeMasterDetail-content > *:first-child {
- margin-right: 0.25em;
-}
-.jsf-treeMasterDetail-master {
- flex:1;
-}
-.jsf-treeMasterDetail-detail {
- flex:3;
-}
-.jsf-treeMasterDetail-master ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
- position: relative;
- overflow:hidden;
-}
-.jsf-treeMasterDetail-master li {
- min-height: 1em;
- position: relative;
- padding-left: 1.5em;
-}
-.jsf-treeMasterDetail-master li > div {
- display: flex;
- flex-direction: row;
-}
-.jsf-treeMasterDetail-master li > div > .icon {
- flex-basis: 1em;
- min-height: 1em;
- margin-right: 0.25em;
- background-repeat: no-repeat;
- background-position: center;
-}
-
-.jsf-treeMasterDetail-master li.selected > div > .label {
- font-weight: bold;
-}
-.jsf-treeMasterDetail-master li > div > .label {
- display: flex;
- flex: 1;
- margin-right: 1em;
- min-height: 1.5em;
- color: white;
- align-items: center;
-}
-/* TODO: Needed? */
-.jsf-treeMasterDetail-master li > div > .label > span:first-child:empty {
- background: #ffff00;
- max-height: 1.5em;
-}
-.jsf-treeMasterDetail-master li > div > .label:hover {
- font-weight: bold;
- cursor: pointer;
- color: white;
- opacity: 0.9;
- background-color: var(--jsf-modest-bg-color);
-}
-.jsf-treeMasterDetail-master li > div > .label > .add,
-.jsf-treeMasterDetail-master li > div > .label > .remove {
- display: none;
- cursor: pointer;
- margin-left: 0.25em;
- font-weight: normal;
- width: inherit;
- height: inherit;
-}
-.jsf-treeMasterDetail-master li > div > .label:hover > .add,
-.jsf-treeMasterDetail-master li > div > .label:hover > .remove {
- display: flex;
- justify-content: center;
-}
-.jsf-treeMasterDetail-master li > div > .label:hover > .add:hover,
-.jsf-treeMasterDetail-master li > div > .label:hover > .remove:hover {
- color: white;
- border-radius: 50%;
-}
-.jsf-treeMasterDetail-master li::before,
-.jsf-treeMasterDetail-master li::after,
-.jsf-treeMasterDetail-master ul::after {
- content: '';
- position: absolute;
- left:0.2em;
-}
-.jsf-treeMasterDetail-master li::before {
- border-top: 1px solid var(--jsf-border-color);
- top:0.5em;
- width: 1em;
-}
-.jsf-treeMasterDetail-master li::after {
- border-left: 1px solid var(--jsf-border-color);
- height:100%;
- top:-0.6em;
-}
-.jsf-treeMasterDetail-master ul::after {
- border-left: 1px solid var(--jsf-border-color);
- height: 0.6em;
- bottom: 0;
-}
-.jsf-treeMasterDetail-master ul:last-child::after {
- display: none;
-}
-.jsf-treeMasterDetail-master > ul > li::after {
- top:0.5em;
-}
-.jsf-treeMasterDetail-master > ul > li:last-child::after {
- display: none;
-}
-.jsf-treeMasterDetail-master > ul > li:only-child::before {
- display: none;
-}
-.jsf-treeMasterDetail-master > ul > li:only-child {
- padding-left: 0.25em;
-}
-
-/* tree master detail create dialog */
-.jsf-treeMasterDetail-dialog {
- border-width: medium;
- border-radius: 8px;
- border-color: lightgrey
-}
-.jsf-treeMasterDetail-dialog-title {
- font-size: large;
-}
-.jsf-treeMasterDetail-dialog-content {
- display: flex;
- flex-direction: column;
-}
-.jsf-treeMasterDetail-dialog-button,
-.jsf-treeMasterDetail-dialog-createbutton {
- margin-bottom: 5px
-}
-.jsf-treeMasterDetail-dialog-button {
- width: 100%;
- margin-top: 10px;
- margin-bottom: 0;
-}
-
-.jsf-treeMasterDetail-dialog-close {
- width: 100%;
- margin-top: 20px;
-}
-
-/* Drag and Drop */
-/* Create border for possible drag and drop drop-zones */
-
-.jsf-editor-dnd-target-valid,
-.jsf-editor-dnd-target-invalid {
- border-style: dashed;
- border-width: thin;
-}
-
-.jsf-editor-dnd-target-valid {
- border-color: rgb(88, 199, 23);
- min-height: 1em;
-}
-
-.jsf-editor-dnd-target-invalid {
- border-color: rgb(189, 0, 0);
-}
-
-.jsf-editor-dnd-current-target {
- border-width: medium;
-}
diff --git a/src/editor/util/ExpectedValueField.tsx b/src/editor/util/ExpectedValueField.tsx
index 6b00285..f0c9e26 100644
--- a/src/editor/util/ExpectedValueField.tsx
+++ b/src/editor/util/ExpectedValueField.tsx
@@ -8,7 +8,8 @@ import {
rankWith,
schemaSubPathMatches,
StatePropsOfEnumField,
- uiTypeIs
+ uiTypeIs,
+ update
} from '@jsonforms/core';
import * as _ from 'lodash';
import { MaterialEnumField } from '@jsonforms/material-renderers';
@@ -40,8 +41,12 @@ interface EnumFieldState {
selectedType: string;
}
+interface ExpectedValueFieldProps extends EnumFieldProps {
+ updateRootData: any;
+}
+
export class ExpectedValueField extends
- React.Component {
+ React.Component {
constructor(props) {
super(props);
@@ -51,6 +56,11 @@ export class ExpectedValueField extends
}
selectionHandle = (path, value) => {
+ if (value === 'boolean') {
+ this.props.updateRootData(this.props.path, false);
+ } else {
+ this.props.updateRootData(this.props.path, undefined);
+ }
this.setState({
selectedType: value
});
@@ -72,7 +82,9 @@ export class ExpectedValueField extends
{
@@ -89,6 +101,13 @@ export class ExpectedValueField extends
}
}
+const mapDispatchToEnumFieldProps = dispatch => ({
+ updateRootData(path, value) {
+ dispatch(update(path, () => value));
+ }
+});
+
export default connect(
- mapStateToEnumFieldProps
+ mapStateToEnumFieldProps,
+ mapDispatchToEnumFieldProps
)(ExpectedValueField);
diff --git a/src/index.tsx b/src/index.tsx
index 01f080d..e1214e8 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -14,11 +14,11 @@ import {
RankedTester
} from '@jsonforms/core';
import {
- editorReducer,
findAllContainerProperties,
Property,
- setContainerProperties
-} from '@jsonforms/editor';
+ setContainerProperties,
+ treeWithDetailReducer
+} from '@jsonforms/material-tree-renderer';
import { uiEditorReducer } from './reducers';
import NonEmptyLayoutRenderer, { nonEmptyLayoutTester } from './editor/util/NonEmptyLayout';
import ExpectedValueField, {
@@ -99,7 +99,7 @@ const jsonforms: any = {
jsonforms: {
renderers,
fields,
- editor: {
+ treeWithDetail: {
imageMapping: imageProvider,
labelMapping: labelProvider,
modelMapping,
@@ -115,7 +115,7 @@ const store: Store = createStore(
combineReducers({
jsonforms: jsonformsReducer(
{
- editor: editorReducer,
+ treeWithDetail: treeWithDetailReducer,
uiEditor: uiEditorReducer
}
)
diff --git a/src/models/ui-metaschema.ts b/src/models/ui-metaschema.ts
index 3755228..b2edfa6 100644
--- a/src/models/ui-metaschema.ts
+++ b/src/models/ui-metaschema.ts
@@ -203,7 +203,8 @@ export const uiMetaSchema: JsonSchema7 = {
'properties': {
'type': {
'type': 'string',
- 'const': 'LEAF'
+ 'const': 'LEAF',
+ 'default': 'LEAF'
},
'scope': {
'$ref': '#/definitions/scope'
@@ -224,10 +225,10 @@ export const uiMetaSchema: JsonSchema7 = {
]
}
},
- 'required': [
- 'effect',
- 'condition'
- ]
+ 'dependencies': {
+ 'effect': ['condition'],
+ 'condition': ['effect']
+ }
},
'scope': {
'type': 'string',