|
|
|
@ -639,162 +639,166 @@ export class FormJdbc extends BI.Widget {
|
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sshSet = _ref; |
|
|
|
|
}, |
|
|
|
|
invisible: true, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
bgap: -15, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSH'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.MultiSelectItem.xtype, |
|
|
|
|
ref: (_ref: MultiSelectItem) => { |
|
|
|
|
this.form.usingSsh = _ref; |
|
|
|
|
}, |
|
|
|
|
logic: { dynamic: true }, |
|
|
|
|
text: BI.i18nText('Dec-Basic_Use') + BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSH'), |
|
|
|
|
selected: usingSsh, |
|
|
|
|
listeners: [ |
|
|
|
|
{ |
|
|
|
|
eventName: BI.MultiSelectItem.EVENT_CHANGE, |
|
|
|
|
action: () => { |
|
|
|
|
const value = this.form.usingSsh.isSelected(); |
|
|
|
|
this.sshForm.setVisible(value); |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sshSet = _ref; |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sshForm = _ref; |
|
|
|
|
bgap: vgap, |
|
|
|
|
invisible: true, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSH'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.MultiSelectItem.xtype, |
|
|
|
|
ref: (_ref: MultiSelectItem) => { |
|
|
|
|
this.form.usingSsh = _ref; |
|
|
|
|
}, |
|
|
|
|
logic: { dynamic: true }, |
|
|
|
|
text: BI.i18nText('Dec-Basic_Use') + BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSH'), |
|
|
|
|
selected: usingSsh, |
|
|
|
|
listeners: [ |
|
|
|
|
{ |
|
|
|
|
eventName: BI.MultiSelectItem.EVENT_CHANGE, |
|
|
|
|
action: () => { |
|
|
|
|
const value = this.form.usingSsh.isSelected(); |
|
|
|
|
this.sshForm.setVisible(value); |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
vgap, |
|
|
|
|
invisible: !usingSsh, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Host'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sshForm = _ref; |
|
|
|
|
}, |
|
|
|
|
bgap: vgap, |
|
|
|
|
invisible: !usingSsh, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshIp = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Host'), |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: sshIp || 'hostname', |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Host'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshIp = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Host'), |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: sshIp || 'hostname', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshPort = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'), |
|
|
|
|
allowBlank: false, |
|
|
|
|
validationChecker: [ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshPort = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'), |
|
|
|
|
allowBlank: false, |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
value: String(sshPort || 22), |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
value: String(sshPort || 22), |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_UserName'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshUser = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_UserName'), |
|
|
|
|
value: sshUser, |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_UserName'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshUser = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_UserName'), |
|
|
|
|
value: sshUser, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_VerifyType'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.sshType = _ref; |
|
|
|
|
}, |
|
|
|
|
width: 300, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_VerifyType'), |
|
|
|
|
items: CONNECT_SSH_TYPE, |
|
|
|
|
value: sshType, |
|
|
|
|
listeners: [ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_VerifyType'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
eventName: BI.TextValueCombo.EVENT_CHANGE, |
|
|
|
|
action: () => { |
|
|
|
|
const sshType = this.form.sshType.getValue()[0]; |
|
|
|
|
this.onSshTypeChange(sshType); |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.sshType = _ref; |
|
|
|
|
}, |
|
|
|
|
width: 300, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_VerifyType'), |
|
|
|
|
items: CONNECT_SSH_TYPE, |
|
|
|
|
value: sshType, |
|
|
|
|
listeners: [ |
|
|
|
|
{ |
|
|
|
|
eventName: BI.TextValueCombo.EVENT_CHANGE, |
|
|
|
|
action: () => { |
|
|
|
|
const sshType = this.form.sshType.getValue()[0]; |
|
|
|
|
this.onSshTypeChange(sshType); |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
ref: (_ref: FormItem) => { |
|
|
|
|
this.form.sshPrivateKeyPathForm = _ref; |
|
|
|
|
}, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_PrivateKey'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshPrivateKeyPath = _ref; |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
ref: (_ref: FormItem) => { |
|
|
|
|
this.form.sshPrivateKeyPathForm = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_PrivateKey'), |
|
|
|
|
value: sshPrivateKeyPath, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_PrivateKey'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshPrivateKeyPath = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_PrivateKey'), |
|
|
|
|
value: sshPrivateKeyPath, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
ref: (ref: FormItem) => { |
|
|
|
|
this.form.sshSecretForm = ref; |
|
|
|
|
}, |
|
|
|
|
name: BI.i18nText(''), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshSecret = _ref; |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
ref: (ref: FormItem) => { |
|
|
|
|
this.form.sshSecretForm = ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText(''), |
|
|
|
|
inputType: 'password', |
|
|
|
|
autocomplete: 'new-password', |
|
|
|
|
value: sshSecret, |
|
|
|
|
name: BI.i18nText(''), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.sshSecret = _ref; |
|
|
|
|
}, |
|
|
|
|
watermark: BI.i18nText(''), |
|
|
|
|
inputType: 'password', |
|
|
|
|
autocomplete: 'new-password', |
|
|
|
|
value: sshSecret, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
// SSL设置
|
|
|
|
|
{ |
|
|
|
@ -812,114 +816,117 @@ export class FormJdbc extends BI.Widget {
|
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sslSet = _ref; |
|
|
|
|
}, |
|
|
|
|
invisible: true, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
bgap: -15, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSL'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.MultiSelectItem.xtype, |
|
|
|
|
ref: (_ref: MultiSelectItem) => { |
|
|
|
|
this.form.usingSsl = _ref; |
|
|
|
|
}, |
|
|
|
|
logic: { dynamic: true }, |
|
|
|
|
text: BI.i18nText('Dec-Basic_Use') + BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSL'), |
|
|
|
|
selected: usingSsl, |
|
|
|
|
listeners: [ |
|
|
|
|
{ |
|
|
|
|
eventName: BI.MultiSelectItem.EVENT_CHANGE, |
|
|
|
|
action: () => { |
|
|
|
|
const value = this.form.usingSsl.isSelected(); |
|
|
|
|
this.sslForm.setVisible(value); |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sslSet = _ref; |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sslForm = _ref; |
|
|
|
|
bgap: vgap, |
|
|
|
|
invisible: true, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSL'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.MultiSelectItem.xtype, |
|
|
|
|
ref: (_ref: MultiSelectItem) => { |
|
|
|
|
this.form.usingSsl = _ref; |
|
|
|
|
}, |
|
|
|
|
logic: { dynamic: true }, |
|
|
|
|
text: BI.i18nText('Dec-Basic_Use') + BI.i18nText('Dec-Dcm_Connection_Tunnel', 'SSL'), |
|
|
|
|
selected: usingSsl, |
|
|
|
|
listeners: [ |
|
|
|
|
{ |
|
|
|
|
eventName: BI.MultiSelectItem.EVENT_CHANGE, |
|
|
|
|
action: () => { |
|
|
|
|
const value = this.form.usingSsl.isSelected(); |
|
|
|
|
this.sslForm.setVisible(value); |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
vgap, |
|
|
|
|
invisible: !usingSsl, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_CA_Certificate'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.sslForm = _ref; |
|
|
|
|
}, |
|
|
|
|
bgap: vgap, |
|
|
|
|
invisible: !usingSsl, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: FileChooser) => { |
|
|
|
|
this.form.caCertificate = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_CA_Certificate'), |
|
|
|
|
value: caCertificate, |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_CA_Certificate'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: FileChooser) => { |
|
|
|
|
this.form.caCertificate = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_CA_Certificate'), |
|
|
|
|
value: caCertificate, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Verify_CA_Certificate'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.verifyCa = _ref; |
|
|
|
|
}, |
|
|
|
|
width: 300, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Verify_CA_Certificate'), |
|
|
|
|
items: this.getBooleanItem(), |
|
|
|
|
value: verifyCa, |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Verify_CA_Certificate'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.verifyCa = _ref; |
|
|
|
|
}, |
|
|
|
|
width: 300, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Verify_CA_Certificate'), |
|
|
|
|
items: this.getBooleanItem(), |
|
|
|
|
value: verifyCa, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_SecretKey'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: FileChooser) => { |
|
|
|
|
this.form.sslClientPrivateKey = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_SecretKey'), |
|
|
|
|
value: sslClientPrivateKey, |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_SecretKey'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: FileChooser) => { |
|
|
|
|
this.form.sslClientPrivateKey = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_SecretKey'), |
|
|
|
|
value: sslClientPrivateKey, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_Certificate'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: FileChooser) => { |
|
|
|
|
this.form.sslClientCertificate = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_Certificate'), |
|
|
|
|
value: sslClientCertificate, |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_Certificate'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: FileChooser.xtype, |
|
|
|
|
ref: (_ref: FileChooser) => { |
|
|
|
|
this.form.sslClientCertificate = _ref; |
|
|
|
|
}, |
|
|
|
|
root: 'certificates', |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Client') + BI.i18nText('Dec-Dcm_Connection_Form_Certificate'), |
|
|
|
|
value: sslClientCertificate, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
// 高级设置
|
|
|
|
|
{ |
|
|
|
|
type: Collapse.xtype, |
|
|
|
|
bgap: -15, |
|
|
|
|
width: 100, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_More_Setting'), |
|
|
|
|
listeners: [ |
|
|
|
@ -932,226 +939,226 @@ export class FormJdbc extends BI.Widget {
|
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
vgap, |
|
|
|
|
tgap: -15, |
|
|
|
|
invisible: true, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.advancedSet = _ref; |
|
|
|
|
}, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
tgap: 15, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'initial-size', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: initialSize, |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
bgap: vgap, |
|
|
|
|
invisible: true, |
|
|
|
|
ref: (_ref: VerticalLayout) => { |
|
|
|
|
this.advancedSet = _ref; |
|
|
|
|
}, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'initial-size', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: initialSize, |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'), |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.initialSize = _ref; |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'), |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.initialSize = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'min-idle', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: minIdle, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'min-idle', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: minIdle, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.minIdle = _ref; |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.minIdle = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
$value: 'test-on-return', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
value: testOnReturn, |
|
|
|
|
items: this.getBooleanItem(), |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'), |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.testOnReturn = _ref; |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
$value: 'test-on-return', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
value: testOnReturn, |
|
|
|
|
items: this.getBooleanItem(), |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'), |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.testOnReturn = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
$value: 'test-while-idle', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
value: testWhileIdle, |
|
|
|
|
items: this.getBooleanItem(), |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'), |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.testWhileIdle = _ref; |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: BI.TextValueCombo.xtype, |
|
|
|
|
$value: 'test-while-idle', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
value: testWhileIdle, |
|
|
|
|
items: this.getBooleanItem(), |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'), |
|
|
|
|
ref: (_ref: TextValueCombo) => { |
|
|
|
|
this.form.testWhileIdle = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_Between_Eviction_Millis'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'test-between-evicition-millis', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: timeBetweenEvictionRunsMillis, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_Between_Eviction_Millis'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Number'), |
|
|
|
|
checker: (value: string) => this.checkNumber(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_Between_Eviction_Millis'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'test-between-evicition-millis', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: timeBetweenEvictionRunsMillis, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_Between_Eviction_Millis'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Number'), |
|
|
|
|
checker: (value: string) => this.checkNumber(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.timeBetweenEvictionRunsMillis = _ref; |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.timeBetweenEvictionRunsMillis = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.Label.xtype, |
|
|
|
|
lgap: 5, |
|
|
|
|
height: CONNECTION_LAYOUT.labelHeight, |
|
|
|
|
text: BI.i18nText('Dec-Dcm_Millisecond'), |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'test-pereviction-run-num', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: numTestsPerEvictionRun, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
{ |
|
|
|
|
type: BI.Label.xtype, |
|
|
|
|
lgap: 5, |
|
|
|
|
height: CONNECTION_LAYOUT.labelHeight, |
|
|
|
|
text: BI.i18nText('Dec-Dcm_Millisecond'), |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'test-pereviction-run-num', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: numTestsPerEvictionRun, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.numTestsPerEvictionRun = _ref; |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.numTestsPerEvictionRun = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Evictable_Idle_Time_Millis'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'min-evictable-idle-time-millis', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: minEvictableIdleTimeMillis, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Evictable_Idle_Time_Millis'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Evictable_Idle_Time_Millis'), |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'min-evictable-idle-time-millis', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: false, |
|
|
|
|
value: minEvictableIdleTimeMillis, |
|
|
|
|
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Evictable_Idle_Time_Millis'), |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Integer'), |
|
|
|
|
checker: (value: string) => this.checkInteger(value), |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.minEvictableIdleTimeMillis = _ref; |
|
|
|
|
}, |
|
|
|
|
valueRangeConfig, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.minEvictableIdleTimeMillis = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
type: BI.Label.xtype, |
|
|
|
|
lgap: 5, |
|
|
|
|
height: CONNECTION_LAYOUT.labelHeight, |
|
|
|
|
text: BI.i18nText('BI-Basic_Seconds'), |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
cls: 'bi-border-top', |
|
|
|
|
invisible: fetchSize < 0 && fetchSize !== -2, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
el: { |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: 'Fetchsize', |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'fetch-size', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
value: fetchSize === -2 ? '' : fetchSize, |
|
|
|
|
watermark: 'Fetchsize', |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Fetch_Size_Range'), |
|
|
|
|
checker: (value: string) => |
|
|
|
|
BI.isInteger(value) && BI.parseInt(value) >= 0 && BI.parseInt(value) <= 1000000, |
|
|
|
|
autoFix: true, |
|
|
|
|
type: BI.Label.xtype, |
|
|
|
|
lgap: 5, |
|
|
|
|
height: CONNECTION_LAYOUT.labelHeight, |
|
|
|
|
text: BI.i18nText('BI-Basic_Seconds'), |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
el: { |
|
|
|
|
type: BI.VerticalLayout.xtype, |
|
|
|
|
cls: 'bi-border-top', |
|
|
|
|
invisible: fetchSize < 0 && fetchSize !== -2, |
|
|
|
|
items: [ |
|
|
|
|
{ |
|
|
|
|
el: { |
|
|
|
|
type: FormItem.xtype, |
|
|
|
|
name: 'Fetchsize', |
|
|
|
|
forms: [ |
|
|
|
|
{ |
|
|
|
|
type: TextChecker.xtype, |
|
|
|
|
$value: 'fetch-size', |
|
|
|
|
width: 300, |
|
|
|
|
allowBlank: true, |
|
|
|
|
value: fetchSize === -2 ? '' : fetchSize, |
|
|
|
|
watermark: 'Fetchsize', |
|
|
|
|
validationChecker: [ |
|
|
|
|
{ |
|
|
|
|
errorText: BI.i18nText('Dec-Dcm_Connection_Check_Fetch_Size_Range'), |
|
|
|
|
checker: (value: string) => |
|
|
|
|
BI.isInteger(value) && BI.parseInt(value) >= 0 && BI.parseInt(value) <= 1000000, |
|
|
|
|
autoFix: true, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.fetchSize = _ref; |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
ref: (_ref: TextChecker) => { |
|
|
|
|
this.form.fetchSize = _ref; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
vgap: 15, |
|
|
|
|
}, |
|
|
|
|
vgap: 15, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|