diff --git a/src/components/editor/PropertyList.jsx b/src/components/editor/PropertyList.jsx
index 3168657..caacde7 100644
--- a/src/components/editor/PropertyList.jsx
+++ b/src/components/editor/PropertyList.jsx
@@ -24,7 +24,7 @@ export const ResponsePropertyListPreviewer = (props) => (
// TODO 2.3 检测重复属性
class SortableTreeTableHeader extends Component {
- render () {
+ render() {
let { editable } = this.props
return (
@@ -32,6 +32,7 @@ class SortableTreeTableHeader extends Component {
{/* DONE 2.1 每列增加帮助 Tip */}
{editable &&
}
名称
+
必选
类型
{/* TODO 2.3 规则编辑器 */}
@@ -58,7 +59,7 @@ const PropertyLabel = (props) => {
}
class SortableTreeTableRow extends Component {
- render () {
+ render() {
let { property, editable } = this.props
let { handleClickCreateChildPropertyButton, handleDeleteMemoryProperty, handleChangePropertyField, handleSortProperties } = this.props
return (
@@ -81,6 +82,13 @@ class SortableTreeTableRow extends Component {
: handleChangePropertyField(item.id, 'name', e.target.value)} className='form-control editable' spellCheck='false' placeholder='' />
}
+
+ {!editable
+ ? {item.required ? '✔️' : ''}
+ : handleChangePropertyField(item.id, 'required', e.target.checked)} />
+ }
+
+
{!editable
? {item.type}
@@ -110,7 +118,7 @@ class SortableTreeTableRow extends Component {
}
- {item.children && item.children.length ? : null }
+ {item.children && item.children.length ? : null}
)}
@@ -120,7 +128,7 @@ class SortableTreeTableRow extends Component {
}
class SortableTreeTable extends Component {
- render () {
+ render() {
let { root, editable } = this.props
return (
@@ -153,7 +161,7 @@ class PropertyList extends Component {
bodyOption: PropTypes.string,
requestParamsType: PropTypes.string
}
- constructor (props) {
+ constructor(props) {
super(props)
this.state = {
createProperty: false,
@@ -162,7 +170,7 @@ class PropertyList extends Component {
importer: false
}
}
- render () {
+ render() {
let { title, label, scope, properties = [], repository = {}, mod = {}, itf = {} } = this.props
if (!itf.id) return null
let { editable, requestParamsType } = this.props // itf.locker && (itf.locker.id === auth.id)
diff --git a/src/components/utils/Tree.js b/src/components/utils/Tree.js
index 58ebf1a..2246749 100644
--- a/src/components/utils/Tree.js
+++ b/src/components/utils/Tree.js
@@ -33,7 +33,7 @@ const treeToJson = (tree) => {
const parse = (item, result) => {
let rule = item.rule ? ('|' + item.rule) : ''
let value = item.value
- if (value[0] === '[' || value.indexOf('function(') === 0) {
+ if (typeof value === 'string' && (value[0] === '[' || value.indexOf('function(') === 0)) {
value = tryToCalculateValue(value)
}
switch (item.type) {
diff --git a/src/config/config.prod.js b/src/config/config.prod.js
index 5515f98..cc81876 100644
--- a/src/config/config.prod.js
+++ b/src/config/config.prod.js
@@ -4,4 +4,4 @@ module.exports = {
session: {
key: 'koa:sess'
}
-}
+}
\ No newline at end of file