|
|
|
@ -25,196 +25,193 @@ yarn dev
|
|
|
|
|
BI.config(ConstantPluginTyps, (datas: string[]) => [...datas, { |
|
|
|
|
text: 'Redis', |
|
|
|
|
databaseType: 'Redis', |
|
|
|
|
edit: '', |
|
|
|
|
show: '', |
|
|
|
|
}]); |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### 数据连接填写页面 |
|
|
|
|
ConstantName名称为`dec.constant.database.conf.connect.form.${name}.edit`,值为组件shortcut的名称 |
|
|
|
|
edit属性值为填写组件shortcut的名称 |
|
|
|
|
|
|
|
|
|
### 数据连接展示页面 |
|
|
|
|
ConstantName名称为`dec.constant.database.conf.connect.form.${name}.show`,值为组件shortcut的名称 |
|
|
|
|
show属性值为组件shortcut的名称 |
|
|
|
|
|
|
|
|
|
### 示例 |
|
|
|
|
``` |
|
|
|
|
const ConstantRedisType = 'dec.constant.database.conf.connect.types'; |
|
|
|
|
const ConstantRedisShow = 'dec.constant.database.conf.connect.form.Redis.show'; |
|
|
|
|
const ConstantRedisEdit = 'dec.constant.database.conf.connect.form.Redis.edit'; |
|
|
|
|
|
|
|
|
|
BI.DOM.ready(() => { |
|
|
|
|
BI.config(ConstantRedisType, datas => [...datas, { |
|
|
|
|
text: 'Redis', |
|
|
|
|
databaseType: 'Redis', |
|
|
|
|
}]); |
|
|
|
|
|
|
|
|
|
const RedisShowName = 'dec.dcm.connection.plugin.redis.show'; |
|
|
|
|
const RedisShow = BI.inherit(BI.Widget, { |
|
|
|
|
props: { |
|
|
|
|
formData: { |
|
|
|
|
url: '', |
|
|
|
|
port: '6379', |
|
|
|
|
password: '', |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
render() { |
|
|
|
|
const o = this.options; |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
type: 'bi.vertical', |
|
|
|
|
hgap: 15, |
|
|
|
|
vgap: 10, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '数据库地址', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
text: o.formData.url, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '端口号', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
text: o.formData.port, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '密码', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
text: o.formData.password, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
const DataBaseConfigProvider = 'dec.connection.provider.datebase'; |
|
|
|
|
|
|
|
|
|
const RedisShowName = 'dec.dcm.connection.plugin.redis.show'; |
|
|
|
|
const RedisEditName = 'dec.dcm.connection.plugin.redis.edit'; |
|
|
|
|
BI.config(DataBaseConfigProvider, function (provider) { |
|
|
|
|
provider.registerDatabaseType({ |
|
|
|
|
text: "Redis", |
|
|
|
|
databaseType: "Redis", |
|
|
|
|
edit: "dec.dcm.connection.plugin.demo.edit", |
|
|
|
|
show: "dec.dcm.connection.plugin.demo.show", |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
BI.shortcut(RedisShowName, RedisShow); |
|
|
|
|
BI.constant(ConstantRedisShow, RedisShowName); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const RedisEditName = 'dec.dcm.connection.plugin.redis.edit'; |
|
|
|
|
const RedisEdit = BI.inherit(BI.Widget, { |
|
|
|
|
props: { |
|
|
|
|
formData: { |
|
|
|
|
url: '', |
|
|
|
|
port: '6379', |
|
|
|
|
password: '', |
|
|
|
|
}, |
|
|
|
|
const RedisShow = BI.inherit(BI.Widget, { |
|
|
|
|
props: { |
|
|
|
|
formData: { |
|
|
|
|
url: '', |
|
|
|
|
port: '6379', |
|
|
|
|
password: '', |
|
|
|
|
}, |
|
|
|
|
render() { |
|
|
|
|
const o = this.options; |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
type: 'bi.vertical', |
|
|
|
|
hgap: 15, |
|
|
|
|
vgap: 10, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '数据库地址', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.text_editor', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
ref: _ref => { |
|
|
|
|
this.url = _ref; |
|
|
|
|
}, |
|
|
|
|
text: o.formData.url, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '端口号', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.text_editor', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
ref: _ref => { |
|
|
|
|
this.port = _ref; |
|
|
|
|
}, |
|
|
|
|
text: o.formData.port, |
|
|
|
|
}, |
|
|
|
|
render() { |
|
|
|
|
const o = this.options; |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
type: 'bi.vertical', |
|
|
|
|
hgap: 15, |
|
|
|
|
vgap: 10, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '数据库地址', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
text: o.formData.url, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '端口号', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
text: o.formData.port, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '密码', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
text: o.formData.password, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
BI.shortcut(RedisShowName, RedisShow); |
|
|
|
|
|
|
|
|
|
const RedisEdit = BI.inherit(BI.Widget, { |
|
|
|
|
props: { |
|
|
|
|
value: { |
|
|
|
|
url: '', |
|
|
|
|
port: '6379', |
|
|
|
|
password: '', |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
render() { |
|
|
|
|
const o = this.options; |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
type: 'bi.vertical', |
|
|
|
|
hgap: 15, |
|
|
|
|
vgap: 10, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '数据库地址', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.text_editor', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
ref: _ref => { |
|
|
|
|
this.url = _ref; |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '密码', |
|
|
|
|
text: o.value.url, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '端口号', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.text_editor', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
ref: _ref => { |
|
|
|
|
this.port = _ref; |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.text_editor', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
inputType: 'password', |
|
|
|
|
ref: _ref => { |
|
|
|
|
this.password = _ref; |
|
|
|
|
}, |
|
|
|
|
text: o.formData.password, |
|
|
|
|
text: o.value.port, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.left', |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: 'bi.label', |
|
|
|
|
cls: 'bi-font-bold', |
|
|
|
|
width: 100, |
|
|
|
|
textAlign: 'left', |
|
|
|
|
text: '密码', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: 'bi.text_editor', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
inputType: 'password', |
|
|
|
|
ref: _ref => { |
|
|
|
|
this.password = _ref; |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
getSubmitValue() { |
|
|
|
|
return { |
|
|
|
|
url: this.url.getValue(), |
|
|
|
|
port: this.port.getValue(), |
|
|
|
|
password: this.password.getValue(), |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
BI.shortcut(RedisEditName, RedisEdit); |
|
|
|
|
BI.constant(ConstantRedisEdit, RedisEditName); |
|
|
|
|
text: o.value.password, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
getValue() { |
|
|
|
|
return { |
|
|
|
|
url: this.url.getValue(), |
|
|
|
|
port: this.port.getValue(), |
|
|
|
|
password: this.password.getValue(), |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
BI.shortcut(RedisEditName, RedisEdit); |
|
|
|
|
|
|
|
|
|
``` |