Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Sunny_yiyi
Swagger Ui
提交
e9f46e6f
S
Swagger Ui
项目概览
Sunny_yiyi
/
Swagger Ui
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Swagger Ui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e9f46e6f
编写于
9月 08, 2017
作者:
O
Owen Conti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Working on refactoring of model.jsx
上级
3b994056
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
77 addition
and
26 deletion
+77
-26
src/core/components/model.jsx
src/core/components/model.jsx
+77
-25
src/core/components/models.jsx
src/core/components/models.jsx
+0
-1
未找到文件。
src/core/components/model.jsx
浏览文件 @
e9f46e6f
...
...
@@ -28,41 +28,25 @@ export default class Model extends Component {
return
specSelectors
.
findDefinition
(
model
)
}
render
()
{
let
{
getComponent
,
specSelectors
,
schema
,
required
,
name
,
isRef
}
=
this
.
props
let
ObjectModel
=
getComponent
(
"
ObjectModel
"
)
let
ArrayModel
=
getComponent
(
"
ArrayModel
"
)
let
PrimitiveModel
=
getComponent
(
"
PrimitiveModel
"
)
let
$$ref
=
schema
&&
schema
.
get
(
"
$$ref
"
)
let
modelName
=
$$ref
&&
this
.
getModelName
(
$$ref
)
let
modelSchema
,
type
const
deprecated
=
specSelectors
.
isOAS3
()
&&
schema
.
get
(
"
deprecated
"
)
if
(
schema
&&
(
schema
.
get
(
"
type
"
)
||
schema
.
get
(
"
properties
"
))
)
{
modelSchema
=
schema
}
else
if
(
$$ref
)
{
modelSchema
=
this
.
getRefSchema
(
modelName
)
}
type
=
modelSchema
&&
modelSchema
.
get
(
"
type
"
)
if
(
!
type
&&
modelSchema
&&
modelSchema
.
get
(
"
properties
"
)
)
{
type
=
"
object
"
}
renderModel
(
type
,
props
,
modelSchema
,
modelName
,
isRef
,
required
,
getComponent
,
specSelectors
)
{
const
ObjectModel
=
getComponent
(
"
ObjectModel
"
)
const
ArrayModel
=
getComponent
(
"
ArrayModel
"
)
const
PrimitiveModel
=
getComponent
(
"
PrimitiveModel
"
)
const
deprecated
=
specSelectors
.
isOAS3
()
&&
modelSchema
.
get
(
"
deprecated
"
)
switch
(
type
)
{
case
"
object
"
:
return
<
ObjectModel
className
=
"object"
{
...
this
.
props
}
schema
=
{
modelSchema
}
name
=
{
modelName
||
name
}
name
=
{
modelName
}
deprecated
=
{
deprecated
}
isRef
=
{
isRef
!==
undefined
?
isRef
:
!!
$$ref
}
/>
isRef
=
{
isRef
}
/>
case
"
array
"
:
return
<
ArrayModel
className
=
"array"
{
...
this
.
props
}
schema
=
{
modelSchema
}
name
=
{
modelName
||
name
}
name
=
{
modelName
}
deprecated
=
{
deprecated
}
required
=
{
required
}
/>
case
"
string
"
:
...
...
@@ -76,6 +60,74 @@ export default class Model extends Component {
schema
=
{
modelSchema
}
name
=
{
modelName
}
deprecated
=
{
deprecated
}
required
=
{
required
}
/>
}
required
=
{
required
}
/>
}
}
render
()
{
let
{
getComponent
,
specSelectors
,
schema
,
required
,
name
,
isRef
}
=
this
.
props
let
modelName
,
modelSchema
,
type
let
$$ref
=
schema
&&
schema
.
get
(
"
$$ref
"
)
console
.
log
(
"
Rendering model
"
,
this
.
getModelName
(
$$ref
),
name
,
$$ref
,
schema
.
toJS
())
if
(
schema
&&
(
schema
.
get
(
"
type
"
)
||
schema
.
get
(
"
properties
"
))
)
{
// props.schema is a normal schema
modelName
=
name
modelSchema
=
schema
}
else
if
(
$$ref
)
{
// props.schema is not a normal schema, most likely a $ref
modelName
=
this
.
getModelName
(
$$ref
)
modelSchema
=
this
.
getRefSchema
(
modelName
)
}
if
(
!
modelSchema
)
{
// Don't bother rendering an invalid schema
return
null
}
// Default `type` to object
type
=
modelSchema
.
get
(
"
type
"
)
||
"
object
"
isRef
=
isRef
!==
undefined
?
isRef
:
!!
$$ref
// If the model is `oneOf` or `anyOf`, go through its available types
// and render each type as part of an array
// if ( this.props.schema.get("oneOf") || this.props.schema.get("anyOf") ) {
// const isOneOf = this.props.schema.get("oneOf")
// const options = this.props.schema.get("oneOf") || this.props.schema.get("anyOf")
// return (
// <span>
// { isOneOf ? "One of: " : "Any of: " }
// { options.map( (typeOption, i) => {
// const type = typeOption.get("type")
// const $$ref = typeOption.get("$$ref")
// // Override modelName if the typeOption is a $$ref to another Model
// if ( $$ref ) {
// console.log("reassigning model name from", typeOption.toJS(), modelName, this.getModelName( $$ref ))
// // modelName = $$ref && this.getModelName( $$ref )
// }
// let result = []
// // "join" together the options with " or "/" and "
// if ( i > 0 ) {
// result.push( <span> or </span> )
// }
// // Render the Model component, overriding the props.schema and modelSchema properties
// // with the proper type from the current iteration of the available types
// result.push( <span key={type}>
// { this.renderModel( type, {
// ...this.props,
// schema: typeOption
// }, typeOption, modelName, name, deprecated, isRef, $$ref, required, getComponent ) }
// </span> )
// return result
// } ).toJS() }
// </span>
// )
// }
return
this
.
renderModel
(
type
,
this
.
props
,
modelSchema
,
modelName
,
isRef
,
required
,
getComponent
,
specSelectors
)
}
}
src/core/components/models.jsx
浏览文件 @
e9f46e6f
...
...
@@ -34,7 +34,6 @@ export default class Models extends Component {
return
<
div
className
=
"model-container"
key
=
{
`models-section-
${
name
}
`
}
>
<
ModelWrapper
name
=
{
name
}
schema
=
{
model
}
isRef
=
{
true
}
getComponent
=
{
getComponent
}
specSelectors
=
{
specSelectors
}
/>
</
div
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录