2019-04-30 11:11:25 +08:00
|
|
|
|
|
|
|
|
|
const predefined = {
|
|
|
|
|
'crud': {
|
|
|
|
|
type: "crud",
|
|
|
|
|
draggable: true,
|
|
|
|
|
api: "/api/sample",
|
|
|
|
|
syncLocation: false,
|
|
|
|
|
filter: {
|
|
|
|
|
title: "条件搜索",
|
|
|
|
|
submitText: "",
|
|
|
|
|
controls: [
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "keywords",
|
|
|
|
|
placeholder: "通过关键字搜索",
|
|
|
|
|
addOn: {
|
|
|
|
|
label: "搜索",
|
|
|
|
|
type: "submit"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "plain",
|
|
|
|
|
text: "这里的表单项可以配置多个"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
bulkActions: [
|
|
|
|
|
{
|
|
|
|
|
label: "批量删除",
|
|
|
|
|
actionType: "ajax",
|
|
|
|
|
api: "delete:/api/sample/$ids",
|
|
|
|
|
confirmText: "确定要批量删除?"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "批量修改",
|
|
|
|
|
actionType: "dialog",
|
|
|
|
|
dialog: {
|
|
|
|
|
title: "批量编辑",
|
|
|
|
|
name: "sample-bulk-edit",
|
|
|
|
|
body: {
|
|
|
|
|
type: "form",
|
|
|
|
|
api: "/api/sample/bulkUpdate2",
|
|
|
|
|
controls: [
|
|
|
|
|
{
|
|
|
|
|
type: 'hidden',
|
|
|
|
|
name: 'ids'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "engine",
|
|
|
|
|
label: "Engine"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
quickSaveApi: "/api/sample/bulkUpdate",
|
|
|
|
|
quickSaveItemApi: "/api/sample/$id",
|
|
|
|
|
columns: [
|
|
|
|
|
{
|
|
|
|
|
name: "id",
|
|
|
|
|
label: "ID",
|
|
|
|
|
width: 20,
|
|
|
|
|
sortable: true,
|
|
|
|
|
type: "text",
|
|
|
|
|
toggled: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "engine",
|
|
|
|
|
label: "Rendering engine",
|
|
|
|
|
sortable: true,
|
|
|
|
|
searchable: true,
|
|
|
|
|
type: "text",
|
|
|
|
|
toggled: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "browser",
|
|
|
|
|
label: "Browser",
|
|
|
|
|
sortable: true,
|
|
|
|
|
type: "text",
|
|
|
|
|
toggled: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "platform",
|
|
|
|
|
label: "Platform(s)",
|
|
|
|
|
sortable: true,
|
|
|
|
|
type: "text",
|
|
|
|
|
toggled: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "version",
|
|
|
|
|
label: "Engine version",
|
|
|
|
|
quickEdit: true,
|
|
|
|
|
type: "text",
|
|
|
|
|
toggled: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "grade",
|
|
|
|
|
label: "CSS grade",
|
|
|
|
|
quickEdit: {
|
|
|
|
|
mode: "inline",
|
|
|
|
|
type: "select",
|
|
|
|
|
options: ["A", "B", "C", "D", "X"],
|
|
|
|
|
saveImmediately: true
|
|
|
|
|
},
|
|
|
|
|
type: "text",
|
|
|
|
|
toggled: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "operation",
|
|
|
|
|
label: "操作",
|
|
|
|
|
width: 130,
|
|
|
|
|
buttons: [
|
|
|
|
|
{
|
|
|
|
|
type: "button",
|
|
|
|
|
icon: "fa fa-eye",
|
|
|
|
|
actionType: "dialog",
|
|
|
|
|
dialog: {
|
|
|
|
|
title: "查看",
|
|
|
|
|
body: {
|
|
|
|
|
type: "form",
|
|
|
|
|
controls: [
|
|
|
|
|
{
|
|
|
|
|
type: "static",
|
|
|
|
|
name: "engine",
|
|
|
|
|
label: "Engine"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "static",
|
|
|
|
|
name: "browser",
|
|
|
|
|
label: "Browser"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "static",
|
|
|
|
|
name: "platform",
|
|
|
|
|
label: "Platform(s)"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "static",
|
|
|
|
|
name: "version",
|
|
|
|
|
label: "Engine version"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "static",
|
|
|
|
|
name: "grade",
|
|
|
|
|
label: "CSS grade"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "html",
|
|
|
|
|
html:
|
|
|
|
|
"<p>添加其他 <span>Html 片段</span> 需要支持变量替换(todo).</p>"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "button",
|
|
|
|
|
icon: "fa fa-pencil",
|
|
|
|
|
actionType: "dialog",
|
|
|
|
|
dialog: {
|
|
|
|
|
title: "编辑",
|
|
|
|
|
body: {
|
|
|
|
|
type: "form",
|
|
|
|
|
name: "sample-edit-form",
|
|
|
|
|
api: "/api/sample/$id",
|
|
|
|
|
controls: [
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "engine",
|
|
|
|
|
label: "Engine",
|
|
|
|
|
required: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "browser",
|
|
|
|
|
label: "Browser",
|
|
|
|
|
required: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "platform",
|
|
|
|
|
label: "Platform(s)",
|
|
|
|
|
required: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "version",
|
|
|
|
|
label: "Engine version"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "divider"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "text",
|
|
|
|
|
name: "grade",
|
|
|
|
|
label: "CSS grade"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "button",
|
|
|
|
|
icon: "fa fa-times text-danger",
|
|
|
|
|
actionType: "ajax",
|
|
|
|
|
confirmText: "您确认要删除?",
|
|
|
|
|
api: "delete:/api/sample/$id"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
toggled: true
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
form: {
|
|
|
|
|
type: "form",
|
|
|
|
|
api: "/api/form/saveForm?waitSeconds=2",
|
|
|
|
|
title: "常规模式",
|
|
|
|
|
mode: "normal",
|
|
|
|
|
controls: [
|
|
|
|
|
{
|
|
|
|
|
type: "email",
|
|
|
|
|
name: "email",
|
|
|
|
|
required: true,
|
|
|
|
|
placeholder: "请输入邮箱",
|
|
|
|
|
label: "邮箱"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "password",
|
|
|
|
|
name: "password",
|
|
|
|
|
label: "密码",
|
|
|
|
|
required: true,
|
|
|
|
|
placeholder: "请输入密码"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "checkbox",
|
|
|
|
|
name: "rememberMe",
|
|
|
|
|
label: "记住登录"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: "submit",
|
|
|
|
|
btnClassName: "btn-default",
|
|
|
|
|
label: "登录"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
tabs: {
|
|
|
|
|
type: 'tabs',
|
|
|
|
|
tabs: [
|
|
|
|
|
{
|
|
|
|
|
title: 'TabA',
|
|
|
|
|
body: '卡片A内容'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
title: 'TabB',
|
|
|
|
|
body: '卡片B内容'
|
|
|
|
|
}
|
|
|
|
|
]
|
2019-07-16 11:45:19 +08:00
|
|
|
|
},
|
|
|
|
|
controls: {
|
|
|
|
|
controls: [
|
|
|
|
|
{
|
|
|
|
|
"label": "名称",
|
|
|
|
|
"type": "text",
|
|
|
|
|
"labelClassName": "text-muted",
|
|
|
|
|
"name": "name"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"label": "作者",
|
|
|
|
|
"type": "text",
|
|
|
|
|
"labelClassName": "text-muted",
|
|
|
|
|
"name": "author"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"label": "请求时间",
|
|
|
|
|
"type": "datetime",
|
|
|
|
|
"labelClassName": "text-muted",
|
|
|
|
|
"name": "date"
|
|
|
|
|
}
|
|
|
|
|
]
|
2019-04-30 11:11:25 +08:00
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.exports = function(req, res) {
|
|
|
|
|
const type = req.query.type;
|
|
|
|
|
|
|
|
|
|
if (predefined[type]) {
|
|
|
|
|
return res.json({
|
|
|
|
|
status: 0,
|
|
|
|
|
msg: '',
|
|
|
|
|
data: predefined[type]
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
return res.json({
|
|
|
|
|
status: 404,
|
|
|
|
|
msg: 'Not Found'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|