From 6f5bd3f05e46f45c5ff49039934185f4495b1b59 Mon Sep 17 00:00:00 2001 From: Bosn Date: Thu, 27 Sep 2018 11:10:56 +0800 Subject: [PATCH] dev --- src/components/editor/PropertyList.jsx | 20 ++++++++++++++------ src/components/utils/Tree.js | 2 +- src/config/config.prod.js | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) 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