Browse Source

Merge pull request #7431 in DEC/decision-webui-dcm from bugfix/11.0 to release/11.0

* commit '31a9ba4f671632262ab634b1f89aa22931838804':
  REPORT-93847 fix: 数据连接样式问题
  REPORT-93628 fix:修改下文件上传的组件样式
  无JIRA任务,顺带处理下数据连接样式
  REPORT-93627【迭代】【平台视觉适配】数据连接管理-模式选择处有滚动条 fix: 并非这次迭代导致,之前就有问题。 调整一下间距的设置大小,防止挤出滚动条
  REPORT-93628【迭代】【平台视觉适配】数据连接管理-修改下密码处的视觉展示 fix: 其实适配6.0的改动不涉及数据连接部分。 但是主风格改为输入框border-bottom风格了,那么这里也需要同步改一下。
  REPORT-91727 对用户输入的参数进行统一校验 feat:dcm仓库里面有两个场景,这里引入进来补充
release/11.0
superman 2 years ago
parent
commit
7ef4dcbc89
  1. 2
      src/modules/components/file_chooser/file_chooser.ts
  2. 2
      src/modules/components/file_upload/file_upload.ts
  3. 9
      src/modules/components/test_status/tip_icon/tip_fail.ts
  4. 44
      src/modules/core/checkIllegalStrings/checkIllegalStrings.ts
  5. 15
      src/modules/core/checkIllegalStrings/constant.ts
  6. 1
      src/modules/core/index.ts
  7. 1
      src/modules/pages/connection/connection.ts
  8. 12
      src/modules/pages/connection/list/list_item/list_item.ts
  9. 11
      src/modules/pages/maintain/forms/components/form.jdbc.ts
  10. 7
      src/modules/pages/maintain/forms/form.ts
  11. 5
      src/modules/title/title_database/title_datebase.ts
  12. 7
      src/modules/title/title_maintain/title_maintain.ts

2
src/modules/components/file_chooser/file_chooser.ts

@ -41,7 +41,7 @@ export class FileChooser extends BI.Widget {
items: [ items: [
{ {
type: BI.SignEditor.xtype, type: BI.SignEditor.xtype,
cls: 'bi-border bi-focus-shadow', cls: 'bi-border-bottom bi-focus-shadow',
width, width,
height: 22, height: 22,
watermark, watermark,

2
src/modules/components/file_upload/file_upload.ts

@ -59,7 +59,7 @@ export class FileUpload extends BI.Widget {
items: [ items: [
{ {
type: BI.SignEditor.xtype, type: BI.SignEditor.xtype,
cls: 'bi-border bi-focus-shadow', cls: 'bi-border-bottom bi-focus-shadow',
width: 300, width: 300,
height: 22, height: 22,
watermark, watermark,

9
src/modules/components/test_status/tip_icon/tip_fail.ts

@ -54,8 +54,7 @@ export class TipFail extends BI.Widget {
}], }],
}, { }, {
type: BI.Label.xtype, type: BI.Label.xtype,
height: 14, _bgap: 10,
bgap: 10,
text: tipText, text: tipText,
ref:(_ref:Label)=>{ ref:(_ref:Label)=>{
this.failText=_ref; this.failText=_ref;
@ -63,12 +62,12 @@ export class TipFail extends BI.Widget {
}, },
{ {
type: BI.VerticalAdaptLayout.xtype, type: BI.VerticalAdaptLayout.xtype,
hgap: 5, hgap: 12,
items: [ items: [
{ {
type: BI.Button.xtype, type: BI.Button.xtype,
text: BI.i18nText('Dec-Dcm_Connection_Detailed_Information'), text: BI.i18nText('Dec-Dcm_Connection_Detailed_Information'),
level: 'ignore', clear: true,
ref: (_ref: Button) => { ref: (_ref: Button) => {
this.detailButton = _ref; this.detailButton = _ref;
}, },
@ -79,8 +78,8 @@ export class TipFail extends BI.Widget {
}, },
{ {
type: BI.Button.xtype, type: BI.Button.xtype,
light: true,
text: BI.i18nText('Dec-Dcm_Back'), text: BI.i18nText('Dec-Dcm_Back'),
level: 'ignore',
handler: () => { handler: () => {
this.fireEvent(TipFail.EVENT_CLOSE); this.fireEvent(TipFail.EVENT_CLOSE);
}, },

44
src/modules/core/checkIllegalStrings/checkIllegalStrings.ts

@ -0,0 +1,44 @@
/*
https://work.fineres.com/browse/REPORT-91724 用于参数统一校验
*/
import { ILLEGAL_STRINGS } from "./constant";
export type CheckResult = {
legal: boolean,
errorMsg: string,
}
export const CHECK_CORRECT: CheckResult = {
legal: true,
errorMsg: "",
};
/**
*
* @param value
*/
export function checkIllegalStrings(value: string): CheckResult {
// 后端传入的校验开关,如果没传,那也默认开启
const enabled = Dec.system.enableParameterVerify ?? true;
if (enabled) {
const illegalStringIndex = ILLEGAL_STRINGS.findIndex(s => value.includes(s));
if (illegalStringIndex === -1) {
return CHECK_CORRECT;
}
return {
legal: false,
errorMsg: `${BI.i18nText("Dec-Basic_Check_Illegal_Strings")}${ILLEGAL_STRINGS[illegalStringIndex]}`,
};
}
return CHECK_CORRECT;
}
export function checkIllegalStringsInWidgetAndShowError(widget: any) {
const value = widget.getValue();
const result = checkIllegalStrings(value);
if (!result.legal) {
widget.showError(result.errorMsg);
}
return result.legal;
}

15
src/modules/core/checkIllegalStrings/constant.ts

@ -0,0 +1,15 @@
/**
*
*/
export const ILLEGAL_STRINGS = [
"\"",
"<",
">",
"&",
"/script",
"javascript:",
"onblur",
"getRuntime",
"ProcessBuilder",
"java.lang.ProcessImpl",
];

1
src/modules/core/index.ts

@ -0,0 +1 @@
export { checkIllegalStringsInWidgetAndShowError, checkIllegalStrings } from "./checkIllegalStrings/checkIllegalStrings"

1
src/modules/pages/connection/connection.ts

@ -143,7 +143,6 @@ export class Connection extends BI.Widget {
}, },
}], }],
}, },
width: 90,
}, },
], ],
}, },

12
src/modules/pages/connection/list/list_item/list_item.ts

@ -7,6 +7,7 @@ import { connectionCanEdit, getTextByDatabaseType, getChartLength } from '../../
import { testConnection } from '../../../maintain/forms/form.server'; import { testConnection } from '../../../maintain/forms/form.server';
import { DownListCombo, Label, SignEditor } from '@fui/core'; import { DownListCombo, Label, SignEditor } from '@fui/core';
import { ApiFactory } from '../../../../crud/apiFactory'; import { ApiFactory } from '../../../../crud/apiFactory';
import { checkIllegalStrings } from "@core/index";
const api = new ApiFactory().create(); const api = new ApiFactory().create();
@ -89,6 +90,17 @@ export class ListItem extends BI.BasicButton {
return; return;
} }
const result = checkIllegalStrings(newName);
if (!result.legal) {
BI.Msg.toast(result.errorMsg, {
level: 'error',
});
this.store.setIsEdit(false, name);
this.nameLabel.setText(name);
this.nameEditor.setValue(name);
return;
}
this.store.changeName(name, newName).then(re => { this.store.changeName(name, newName).then(re => {
this.store.setIsEdit(false, name); this.store.setIsEdit(false, name);
if (re.errorCode) { if (re.errorCode) {

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

@ -423,7 +423,7 @@ export class FormJdbc extends BI.Widget {
{ {
type: BI.Editor.xtype, type: BI.Editor.xtype,
$value: 'password', $value: 'password',
cls: 'bi-border bi-border-radius', cls: 'bi-border-bottom',
width: EDITOR_WIDTH, width: EDITOR_WIDTH,
height: EDITOR_HEIGHT, height: EDITOR_HEIGHT,
allowBlank: true, allowBlank: true,
@ -573,6 +573,7 @@ export class FormJdbc extends BI.Widget {
forms: [ forms: [
{ {
type: BI.VerticalLayout.xtype, type: BI.VerticalLayout.xtype,
height: 55,
items: [ items: [
{ {
type: BI.FloatLeftLayout.xtype, type: BI.FloatLeftLayout.xtype,
@ -595,9 +596,9 @@ export class FormJdbc extends BI.Widget {
}, },
{ {
type: BI.TextValueCombo.xtype, type: BI.TextValueCombo.xtype,
_tgap: 15,
$value: 'schema', $value: 'schema',
width: EDITOR_WIDTH, width: EDITOR_WIDTH,
tgap: 15,
disabled: true, disabled: true,
value: schema, value: schema,
items: schema ? [{ text: schema, value: schema }] : [], items: schema ? [{ text: schema, value: schema }] : [],
@ -715,7 +716,7 @@ export class FormJdbc extends BI.Widget {
{ {
type: BI.Editor.xtype, type: BI.Editor.xtype,
$value: 'temporary-file-pieces-limit', $value: 'temporary-file-pieces-limit',
cls: 'bi-border bi-border-radius', cls: 'bi-border-bottom',
width: EDITOR_WIDTH, width: EDITOR_WIDTH,
height: EDITOR_HEIGHT, height: EDITOR_HEIGHT,
allowBlank: true, allowBlank: true,
@ -735,7 +736,7 @@ export class FormJdbc extends BI.Widget {
{ {
type: BI.Editor.xtype, type: BI.Editor.xtype,
$value: 'temporary-file-size-limit', $value: 'temporary-file-size-limit',
cls: 'bi-border bi-border-radius', cls: 'bi-border-bottom',
width: EDITOR_WIDTH, width: EDITOR_WIDTH,
height: EDITOR_HEIGHT, height: EDITOR_HEIGHT,
allowBlank: true, allowBlank: true,
@ -801,7 +802,7 @@ export class FormJdbc extends BI.Widget {
{ {
type: BI.Editor.xtype, type: BI.Editor.xtype,
$value: 'hdfs-connection-address', $value: 'hdfs-connection-address',
cls: 'bi-border bi-border-radius', cls: 'bi-border-bottom',
width: EDITOR_WIDTH, width: EDITOR_WIDTH,
height: EDITOR_HEIGHT, height: EDITOR_HEIGHT,
allowBlank: true, allowBlank: true,

7
src/modules/pages/maintain/forms/form.ts

@ -8,6 +8,7 @@ import { ConnectionJDBC, Connection, ResultType } from 'src/modules/crud/crud.ty
import { DEFAULT_JNDI_DATA, DEFAULT_JDBC_POOL, DATEBASE_FILTER_TYPE } from '@constants/constant'; import { DEFAULT_JNDI_DATA, DEFAULT_JDBC_POOL, DATEBASE_FILTER_TYPE } from '@constants/constant';
import { getJdbcDatabaseType, getChartLength } from '../../../app.service'; import { getJdbcDatabaseType, getChartLength } from '../../../app.service';
import { NAME_MAX_LENGTH } from '../../../app.constant'; import { NAME_MAX_LENGTH } from '../../../app.constant';
import { checkIllegalStrings } from "@core/index";
@shortcut() @shortcut()
@store(MaintainFormModel) @store(MaintainFormModel)
@ -209,6 +210,12 @@ export class MaintainForm extends BI.Widget {
if (this.form.validation && !this.form.validation()) { if (this.form.validation && !this.form.validation()) {
return false; return false;
} }
const result = checkIllegalStrings(value.connectionName);
if (!result.legal) {
this.setFromError(result.errorMsg);
return false;
}
return true; return true;
} }

5
src/modules/title/title_database/title_datebase.ts

@ -25,13 +25,13 @@ export class TitleDatabase extends BI.Widget {
items: [{ items: [{
type: BI.VerticalAdaptLayout.xtype, type: BI.VerticalAdaptLayout.xtype,
height: 40, height: 40,
rgap: 5, rgap: 16,
items: [ items: [
{ {
type: BI.Button.xtype, type: BI.Button.xtype,
$value: 'title-database-cancel', $value: 'title-database-cancel',
text: BI.i18nText('BI-Basic_Cancel'), text: BI.i18nText('BI-Basic_Cancel'),
level: 'ignore', light: true,
handler: () => { handler: () => {
this.store.setPageIndex(PAGE_INDEX.CONNECTION); this.store.setPageIndex(PAGE_INDEX.CONNECTION);
}, },
@ -49,6 +49,7 @@ export class TitleDatabase extends BI.Widget {
}, },
}, },
], ],
_rgap: -16,
}], }],
}; };
} }

7
src/modules/title/title_maintain/title_maintain.ts

@ -15,13 +15,13 @@ export class TitleMaintain extends BI.Widget {
items: [{ items: [{
type: BI.VerticalAdaptLayout.xtype, type: BI.VerticalAdaptLayout.xtype,
height: 40, height: 40,
rgap: 5, hgap: 16,
items: [ items: [
{ {
type: BI.Button.xtype, type: BI.Button.xtype,
$value: 'title-maintain-cancel', $value: 'title-maintain-cancel',
text: BI.i18nText('BI-Basic_Cancel'), text: BI.i18nText('BI-Basic_Cancel'),
level: 'ignore', clear: true,
handler: () => { handler: () => {
this.store.setIsCopy(false); this.store.setIsCopy(false);
this.store.setPageIndex(PAGE_INDEX.CONNECTION); this.store.setPageIndex(PAGE_INDEX.CONNECTION);
@ -32,7 +32,7 @@ export class TitleMaintain extends BI.Widget {
type: BI.Button.xtype, type: BI.Button.xtype,
$value: 'title-maintain-connection-test', $value: 'title-maintain-connection-test',
text: BI.i18nText('Dec-Dcm_Connection_Test'), text: BI.i18nText('Dec-Dcm_Connection_Test'),
level: 'ignore', light: true,
handler: () => { handler: () => {
this.store.setTestEvent(); this.store.setTestEvent();
}, },
@ -47,6 +47,7 @@ export class TitleMaintain extends BI.Widget {
}, },
}, },
], ],
_hgap: -16,
}], }],
}; };
} }

Loading…
Cancel
Save