Browse Source

Merge pull request #98 in DEC/decision-webui-dcm from ~ALAN/decision-webui-dcm:feature/10.0 to feature/10.0

* commit 'aee9f54a9a2897a2253d90b677f0594af0961a07':
  fix: update
  fix: 右侧重命名时也加入验证
  fix: DEC-10149 数据连接名称不能大于200个字符
qufenxi
alan 5 years ago
parent
commit
34b209a95c
  1. 2
      i18n/zh_cn.properties
  2. 1
      private/i18n.ts
  3. 4
      src/modules/app.service.ts
  4. 11
      src/modules/pages/connection/list/list_item/list_item.ts
  5. 12
      src/modules/pages/maintain/forms/form.ts

2
i18n/zh_cn.properties

@ -110,7 +110,7 @@ Dec-Dcm_Connection_Deleted=该数据连接已被删除,无法进行操作
Dec-Dcm_Connection_Click_Connect_Database=点击连接数据库 Dec-Dcm_Connection_Click_Connect_Database=点击连接数据库
Dec-Dcm_Connection_Read_Mode_List=以读取模式列表 Dec-Dcm_Connection_Read_Mode_List=以读取模式列表
Dec-Dcm_Connection_NO_Connection_Pool=无数据连接,可在数据连接管理页面添加 Dec-Dcm_Connection_NO_Connection_Pool=无数据连接,可在数据连接管理页面添加
Dec-Dcm_Connection_Cannot_Too_Lang=文本长度不能大于200个字符
BI-Multi_Date_Quarter_End= 季度末 BI-Multi_Date_Quarter_End= 季度末
BI-Multi_Date_Month_Begin= 月初 BI-Multi_Date_Month_Begin= 月初
BI-Multi_Date_YMD= 年月日 BI-Multi_Date_YMD= 年月日

1
private/i18n.ts

@ -109,6 +109,7 @@ export default {
'Dec-Dcm_Connection_Click_Connect_Database': '点击连接数据库', 'Dec-Dcm_Connection_Click_Connect_Database': '点击连接数据库',
'Dec-Dcm_Connection_Read_Mode_List': '以读取模式列表', 'Dec-Dcm_Connection_Read_Mode_List': '以读取模式列表',
'Dec-Dcm_Connection_NO_Connection_Pool': '无数据连接,可在数据连接管理页面添加', 'Dec-Dcm_Connection_NO_Connection_Pool': '无数据连接,可在数据连接管理页面添加',
'Dec-Dcm_Connection_Cannot_Too_Lang': '文本长度不能大于200个字符',
'BI-Multi_Date_Quarter_End': '季度末', 'BI-Multi_Date_Quarter_End': '季度末',
'BI-Multi_Date_Month_Begin': '月初', 'BI-Multi_Date_Month_Begin': '月初',
'BI-Multi_Date_YMD': '年月日', 'BI-Multi_Date_YMD': '年月日',

4
src/modules/app.service.ts

@ -98,3 +98,7 @@ export function getTextByDatabaseType(databaseType: string) {
return database ? database.text : ''; return database ? database.text : '';
} }
export function getChartLength(str: string) {
return str.replace(/[^\x00-\xff]/g, '01').length;
}

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

@ -4,7 +4,7 @@ import './list_item.less';
import { ListItemModel, ListItemModelXtype } from './list_item.model'; import { ListItemModel, ListItemModelXtype } from './list_item.model';
import { PAGE_INDEX } from '@constants/constant'; import { PAGE_INDEX } from '@constants/constant';
import { hasRegistered } from '../list.service'; import { hasRegistered } from '../list.service';
import { connectionCanEdit, getTextByDatabaseType } from '../../../../app.service'; import { connectionCanEdit, getTextByDatabaseType, getChartLength } from '../../../../app.service';
import { testConnection } from '../../../maintain/forms/form.server'; import { testConnection } from '../../../maintain/forms/form.server';
export const ListItemXtype = 'dec.dcm.connection.list_item'; export const ListItemXtype = 'dec.dcm.connection.list_item';
@ -71,6 +71,15 @@ export class ListItem extends BI.BasicButton {
eventName: BI.SignEditor.EVENT_BLUR, eventName: BI.SignEditor.EVENT_BLUR,
action: () => { action: () => {
const newName = this.nameEditor.getValue(); const newName = this.nameEditor.getValue();
if (getChartLength(newName) > 200) {
BI.Msg.toast(BI.i18nText(BI.i18nText('Dec-Dcm_Connection_Cannot_Too_Lang')), {
level: 'error',
});
this.store.setIsEdit(false, name);
this.nameLabel.setText(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) {

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

@ -6,7 +6,7 @@ import { FormPluginXtype } from './components/form.plugin';
import { connectionType } from '@constants/env'; import { connectionType } from '@constants/env';
import { ConnectionJDBC, Connection } from 'src/modules/crud/crud.typings'; import { ConnectionJDBC, Connection } from 'src/modules/crud/crud.typings';
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 } from 'src/modules/app.service'; import { getJdbcDatabaseType, getChartLength } from '../../../app.service';
export const MaintainFormXtype = 'dec.dcm.maintain.form'; export const MaintainFormXtype = 'dec.dcm.maintain.form';
@shortcut(MaintainFormXtype) @shortcut(MaintainFormXtype)
@store(MaintainFormModelXtype) @store(MaintainFormModelXtype)
@ -190,6 +190,11 @@ export class MaintainForm extends BI.Widget {
return false; return false;
} }
} }
if (getChartLength(value.connectionName) > 200) {
this.setFromError(BI.i18nText('Dec-Dcm_Connection_Cannot_Too_Lang'));
return false;
}
return true; return true;
} }
@ -221,6 +226,11 @@ export class MaintainForm extends BI.Widget {
return; return;
} }
if (getChartLength(formValue.connectionName) > 200) {
this.setFromError(BI.i18nText('Dec-Dcm_Connection_Cannot_Too_Lang'));
return false;
}
if (this.isEdit || this.model.isCopy) { if (this.isEdit || this.model.isCopy) {
formValue.connectionId = this.connectionName; formValue.connectionId = this.connectionName;
} }

Loading…
Cancel
Save