Browse Source

DEC-22408 feat:【迭代】【数据连接支持SSH及SSL】调整gap

feature/x
Cauchy.Ke 3 years ago
parent
commit
f427f41fd8
  1. 3
      src/modules/components/file_chooser/file_chooser.ts
  2. 241
      src/modules/pages/connection/connection_jdbc/connection_jdbc.ts
  3. 859
      src/modules/pages/maintain/forms/components/form.jdbc.ts

3
src/modules/components/file_chooser/file_chooser.ts

@ -37,12 +37,13 @@ export class FileChooser extends BI.Widget {
return {
type: BI.VerticalAdaptLayout.xtype,
height: 20,
height: 24,
items: [
{
type: BI.SignEditor.xtype,
cls: 'bi-border bi-focus-shadow',
width,
height: 22,
watermark,
title: value,
value,

241
src/modules/pages/connection/connection_jdbc/connection_jdbc.ts

@ -152,46 +152,47 @@ export class ConnectionJdbc extends BI.Widget {
],
},
{
type: BI.VerticalLayout.xtype,
tgap: -15,
vgap,
invisible: true,
ref: (_ref: VerticalLayout) => {
this.sshSet = _ref;
},
items: [
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Host'),
value: sshIp,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'),
value: sshPort,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_UserName'),
value: sshUser,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_VerifyType'),
value: CONNECT_SSH_TYPE.find((SSH_TYPE) => sshType === SSH_TYPE.value).text,
el: {
type: BI.VerticalLayout.xtype,
bgap: vgap,
invisible: true,
ref: (_ref: VerticalLayout) => {
this.sshSet = _ref;
},
{
type: FormItem.xtype,
invisible: sshType !== 'KEY',
name: BI.i18nText('Dec-Dcm_Connection_Form_PrivateKey'),
value: sshPrivateKeyPath,
},
{
type: FormItem.xtype,
name: CONNECT_SSH_TYPE.find((SSH_TYPE) => sshType === SSH_TYPE.value).secretFormName,
value: sshSecret,
},
],
items: [
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Host'),
value: sshIp,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'),
value: sshPort,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_UserName'),
value: sshUser,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_VerifyType'),
value: CONNECT_SSH_TYPE.find((SSH_TYPE) => sshType === SSH_TYPE.value).text,
},
{
type: FormItem.xtype,
invisible: sshType !== 'KEY',
name: BI.i18nText('Dec-Dcm_Connection_Form_PrivateKey'),
value: sshPrivateKeyPath,
},
{
type: FormItem.xtype,
name: CONNECT_SSH_TYPE.find((SSH_TYPE) => sshType === SSH_TYPE.value).secretFormName,
value: sshSecret,
},
],
},
},
// ssl设置
{
@ -209,36 +210,37 @@ export class ConnectionJdbc extends BI.Widget {
],
},
{
type: BI.VerticalLayout.xtype,
tgap: -15,
vgap,
invisible: true,
ref: (_ref: VerticalLayout) => {
this.sslSet = _ref;
},
items: [
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_CA_Certificate'),
value: caCertificate,
el: {
type: BI.VerticalLayout.xtype,
bgap: vgap,
invisible: true,
ref: (_ref: VerticalLayout) => {
this.sslSet = _ref;
},
{
type: FormItem.xtype,
invisible: !caCertificate,
name: BI.i18nText('Dec-Dcm_Connection_Form_Verify_CA_Certificate'),
value: verifyCa ? BI.i18nText('Dec-Dcm_Yes') : BI.i18nText('Dec-Dcm_No'),
},
{
type: FormItem.xtype,
name: 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'),
value: sslClientCertificate,
},
],
items: [
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_CA_Certificate'),
value: caCertificate,
},
{
type: FormItem.xtype,
invisible: !caCertificate,
name: BI.i18nText('Dec-Dcm_Connection_Form_Verify_CA_Certificate'),
value: verifyCa ? BI.i18nText('Dec-Dcm_Yes') : BI.i18nText('Dec-Dcm_No'),
},
{
type: FormItem.xtype,
name: 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'),
value: sslClientCertificate,
},
],
},
},
// 更多设置
{
@ -255,58 +257,59 @@ export class ConnectionJdbc extends BI.Widget {
],
},
{
type: BI.VerticalLayout.xtype,
tgap: -15,
vgap,
invisible: true,
ref: (_ref: VerticalLayout) => {
this.advancedSet = _ref;
},
items: [
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'),
value: connectionPoolAttr.initialSize,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'),
value: connectionPoolAttr.minIdle,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'),
value: connectionPoolAttr.testOnReturn ? BI.i18nText('Dec-Dcm_Yes') : BI.i18nText('Dec-Dcm_No'),
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'),
value: connectionPoolAttr.testWhileIdle ? BI.i18nText('Dec-Dcm_Yes') : BI.i18nText('Dec-Dcm_No'),
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_Between_Eviction_Millis'),
value: connectionPoolAttr.timeBetweenEvictionRunsMillis,
unit: BI.i18nText('Dec-Dcm_Millisecond'),
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'),
value: connectionPoolAttr.numTestsPerEvictionRun,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Evictable_Idle_Time_Millis'),
value: connectionPoolAttr.minEvictableIdleTimeMillis,
unit: BI.i18nText('BI-Basic_Seconds'),
},
{
type: FormItem.xtype,
invisible: fetchSize < 0 && fetchSize !== -2,
name: 'Fetchsize',
value: fetchSize === -2 ? '' : fetchSize,
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'),
value: connectionPoolAttr.initialSize,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'),
value: connectionPoolAttr.minIdle,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'),
value: connectionPoolAttr.testOnReturn ? BI.i18nText('Dec-Dcm_Yes') : BI.i18nText('Dec-Dcm_No'),
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'),
value: connectionPoolAttr.testWhileIdle ? BI.i18nText('Dec-Dcm_Yes') : BI.i18nText('Dec-Dcm_No'),
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_Between_Eviction_Millis'),
value: connectionPoolAttr.timeBetweenEvictionRunsMillis,
unit: BI.i18nText('Dec-Dcm_Millisecond'),
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'),
value: connectionPoolAttr.numTestsPerEvictionRun,
},
{
type: FormItem.xtype,
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Evictable_Idle_Time_Millis'),
value: connectionPoolAttr.minEvictableIdleTimeMillis,
unit: BI.i18nText('BI-Basic_Seconds'),
},
{
type: FormItem.xtype,
invisible: fetchSize < 0 && fetchSize !== -2,
name: 'Fetchsize',
value: fetchSize === -2 ? '' : fetchSize,
},
],
},
},
],
};

859
src/modules/pages/maintain/forms/components/form.jdbc.ts

@ -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,
},
],
],
},
},
},
],
],
},
},
],
};

Loading…
Cancel
Save