Browse Source

Merge pull request #246 in DEC/decision-webui-dcm from final/10.0 to persist/10.0

* commit 'b95621828a0cc096108a013eb910a36373dddf49':
  KERNEL-4727 refactor: 【平台】使用babel-preset-fineui插件配置babel
  KERNEL-4727 refactor: 【平台】使用babel-preset-fineui插件配置babel
  fix: 添加判断
  DEC-14009 1.8以上版本JDK支持ODBC连接
  fix:调整名称
  DEC-13832 fix: 调整id
  DEC-13832 chore:覆盖数据连接id
qufenxi
superman 4 years ago
parent
commit
e2445dea4b
  1. 2
      .npmrc
  2. 28
      babel.config.js
  3. 2
      config/jest.environment.js
  4. 28
      index.html
  5. 13
      package.json
  6. 1
      src/modules/components/collapse/collapse.ts
  7. 3
      src/modules/components/text_checker/text_checker.ts
  8. 3
      src/modules/constants/constant.ts
  9. 1
      src/modules/pages/connection/components/form_item/form_item.ts
  10. 1
      src/modules/pages/connection/connection.ts
  11. 1
      src/modules/pages/connection/connection_jndi/connection_jndi.ts
  12. 9
      src/modules/pages/connection/list/list_item/list_item.ts
  13. 1
      src/modules/pages/connection_pool/list_item/list_item.ts
  14. 9
      src/modules/pages/connection_pool/pool/pool.ts
  15. 1
      src/modules/pages/database/database.ts
  16. 2
      src/modules/pages/database/database_type/database_type.less
  17. 3
      src/modules/pages/database/database_type/database_type.ts
  18. 1
      src/modules/pages/database/filter/filter.ts
  19. 1
      src/modules/pages/maintain/components/form_item/form_item.ts
  20. 26
      src/modules/pages/maintain/forms/components/form.jdbc.ts
  21. 19
      src/modules/pages/maintain/forms/components/form.jndi.ts
  22. 8
      src/modules/pages/maintain/forms/form.server.ts
  23. 1
      src/modules/pages/maintain/maintain.ts
  24. 2
      src/modules/title/title.ts
  25. 2
      src/modules/title/title_database/title_datebase.ts
  26. 3
      src/modules/title/title_maintain/title_maintain.ts
  27. 2
      webpack/webpack.dev.js

2
.npmrc

@ -0,0 +1,2 @@
puppeteer_download_host=https://npm.taobao.org/mirrors
@fui:registry=https://npm.fineres.com/

28
babel.config.js

@ -1,29 +1,3 @@
module.exports = function (api) { module.exports = function (api) {
api.cache(true); return require("@fui/babel-preset-fineui").configs.base(api)
const presets = [
[
'@babel/preset-env',
{
targets: {
ie: 9,
chrome: 47,
},
},
],
'@babel/preset-typescript',
];
const plugins = [
[
'@babel/plugin-proposal-decorators',
{
legacy: true,
},
],
'@babel/plugin-proposal-class-properties',
];
return {
presets,
plugins,
};
}; };

2
config/jest.environment.js

@ -12,7 +12,7 @@ class FineUiEnvironment extends JsdomEnvironment {
[ [
'../node_modules/fineui/dist/fineui.js', '../node_modules/fineui/dist/fineui.js',
'../node_modules/fineui-materials/docs/materials.js', '../node_modules/@fui/materials/docs/materials.js',
'../config/fineui.prepare.js', '../config/fineui.prepare.js',
'./fineui.setup.js', './fineui.setup.js',
].forEach(scriptRelativePath => { ].forEach(scriptRelativePath => {

28
index.html

@ -1,34 +1,22 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<title>Fine Report</title> <title>Fine Report</title>
<!--核心css文件--> <!--核心css文件-->
<link <link rel="preload" href="./node_modules/fineui/dist/font/iconfont.woff" as="font" type="font/woff" crossorigin="" />
rel="preload" <link rel="stylesheet" type="text/css" href="./node_modules/fineui/dist/fineui.css" />
href="./node_modules/fineui/dist/font/iconfont.woff" <link rel="stylesheet" type="text/css" href="./node_modules/@fui/materials/docs/materials.css" />
as="font"
type="font/woff"
crossorigin=""
/>
<link
rel="stylesheet"
type="text/css"
href="./node_modules/fineui/dist/fineui.min.css"
/>
<link
rel="stylesheet"
type="text/css"
href="./node_modules/fineui-materials/docs/materials.css"
/>
</head> </head>
<body id="body"> <body id="body">
<div id="wrapper"></div> <div id="wrapper"></div>
<script src="./node_modules/fineui/dist/fineui.min.js"></script> <script src="./node_modules/fineui/dist/fineui.js"></script>
<script src="./node_modules/fineui/i18n/i18n.cn.js"></script> <script src="./node_modules/fineui/dist/utils.js"></script>
<script src="./node_modules/fineui-materials/docs/materials.js"></script> <script src="./node_modules/@fui/materials/docs/materials.js"></script>
<script src="./assets/scripts/dec.js"></script> <script src="./assets/scripts/dec.js"></script>
<script src="./redis.js"></script> <script src="./redis.js"></script>
</body> </body>
</html> </html>

13
package.json

@ -16,12 +16,6 @@
"nprogress": "0.2.0" "nprogress": "0.2.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.4.5",
"@babel/plugin-proposal-class-properties": "^7.5.0",
"@babel/plugin-proposal-decorators": "7.4.4",
"@babel/polyfill": "^7.8.3",
"@babel/preset-env": "7.4.5",
"@babel/preset-typescript": "7.3.3",
"@types/jest": "24.0.11", "@types/jest": "24.0.11",
"@typescript-eslint/eslint-plugin": "1.7.0", "@typescript-eslint/eslint-plugin": "1.7.0",
"@typescript-eslint/parser": "1.7.0", "@typescript-eslint/parser": "1.7.0",
@ -57,12 +51,11 @@
"webpack-cli": "3.3.5", "webpack-cli": "3.3.5",
"webpack-dev-server": "3.7.2", "webpack-dev-server": "3.7.2",
"webpack-merge": "4.2.1", "webpack-merge": "4.2.1",
"ydoc": "4.1.0", "@fui/babel-preset-fineui": "^1.0.0"
"ydoc-plugin-jsdoc": "0.0.3"
}, },
"optionalDependencies": { "optionalDependencies": {
"fineui": "git+ssh://git@cloud.finedevelop.com:7999/visual/fineui.git", "fineui": "^2.0.0",
"fineui-materials": "git+ssh://git@cloud.finedevelop.com:7999/fui/fineui-materials.git#release/10.0" "@fui/materials": "10.0.0-release - 10.0.0-release.99999999999999"
}, },
"scripts": { "scripts": {
"dev": "cross-env NODE_ENV=mock webpack-dev-server -p --progress --config=webpack/webpack.dev.js --mode development --open", "dev": "cross-env NODE_ENV=mock webpack-dev-server -p --progress --config=webpack/webpack.dev.js --mode development --open",

1
src/modules/components/collapse/collapse.ts

@ -10,6 +10,7 @@ export class Collapse extends BI.BasicButton {
props = { props = {
name: '', name: '',
isCollapse: true, isCollapse: true,
$testId: 'dec-dcm-components-collapse',
} }
rightFont: any; rightFont: any;

3
src/modules/components/text_checker/text_checker.ts

@ -26,7 +26,7 @@ export class TextChecker extends BI.Widget {
} }
render() { render() {
const { width, allowBlank, value, watermark, validationChecker } = this.options; const { width, allowBlank, value, watermark, validationChecker, $value } = this.options;
this.value = value; this.value = value;
return { return {
@ -36,6 +36,7 @@ export class TextChecker extends BI.Widget {
items: [{ items: [{
el: { el: {
type: TextEditor, type: TextEditor,
$value,
width, width,
allowBlank, allowBlank,
value, value,

3
src/modules/constants/constant.ts

@ -9,6 +9,9 @@ export const PAGE_INDEX = {
export const OTHER_JDBC = 'otherJDBC'; export const OTHER_JDBC = 'otherJDBC';
export const JDBC_ODBC_DRIVER = 'sun.jdbc.odbc.JdbcOdbcDriver';
export const JDBC_ODBC_DRIVER_HELP_LINK = DecCst && DecCst.Hyperlink ? DecCst.Hyperlink.Database.OTHER_ODBC : '';
export const DATEBASE_FILTER_TYPE = { export const DATEBASE_FILTER_TYPE = {
COMMONLY: 'commonly', COMMONLY: 'commonly',
ALL: 'all', ALL: 'all',

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

@ -9,6 +9,7 @@ export class FormItem extends BI.Widget {
unit: '', unit: '',
isBold: true, isBold: true,
nameWidth: 140, nameWidth: 140,
$testId: 'dec-dcm-connection-form-item',
} }
render () { render () {

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

@ -102,6 +102,7 @@ export class Connection extends BI.Widget {
type: VerticalAdapt, type: VerticalAdapt,
items: [{ items: [{
type: Button, type: Button,
$value: 'connection-edit',
invisible: true, invisible: true,
text: BI.i18nText('Dec-Dcm_Edit'), text: BI.i18nText('Dec-Dcm_Edit'),
ref: (_ref: any) => { ref: (_ref: any) => {

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

@ -21,6 +21,7 @@ export class ConnectionJdbc extends BI.Widget {
return { return {
type: Vertical, type: Vertical,
$testId: 'dec-dcm-connection-jndi',
hgap, hgap,
vgap, vgap,
items: [ items: [

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

@ -17,6 +17,7 @@ export class ListItem extends BI.BasicButton {
databaseType: '', databaseType: '',
height: 25, height: 25,
baseCls: 'dec-dcm-connection-list-item bi-list-item-active2', baseCls: 'dec-dcm-connection-list-item bi-list-item-active2',
$testId: 'dec-dcm-connection-list-item',
} }
store: ListItemModel['store']; store: ListItemModel['store'];
@ -42,6 +43,7 @@ export class ListItem extends BI.BasicButton {
return { return {
type: Htape, type: Htape,
$scope: name,
items: [{ items: [{
el: { el: {
type: IconLabel, type: IconLabel,
@ -64,6 +66,7 @@ export class ListItem extends BI.BasicButton {
}, },
{ {
type: SignEditor, type: SignEditor,
$value: 'connection-name',
value: name, value: name,
invisible: !this.model.isEdit, invisible: !this.model.isEdit,
ref: (_ref: any) => { ref: (_ref: any) => {
@ -107,6 +110,7 @@ export class ListItem extends BI.BasicButton {
hgap: 8, hgap: 8,
el: { el: {
type: IconButton, type: IconButton,
$value: 'other-edit',
cls: 'dcm-link-other-font icon-size-16', cls: 'dcm-link-other-font icon-size-16',
}, },
items: this.renderDownList(), items: this.renderDownList(),
@ -158,29 +162,34 @@ export class ListItem extends BI.BasicButton {
[ [
{ {
text: BI.i18nText('Dec-Dcm_Test_Connection'), text: BI.i18nText('Dec-Dcm_Test_Connection'),
$testId: 'dec-dcm-connection-list-btn',
cls: 'dcm-test-font', cls: 'dcm-test-font',
value: 'test', value: 'test',
}, },
{ {
text: BI.i18nText('Dec-Dcm_Edit'), text: BI.i18nText('Dec-Dcm_Edit'),
$testId: 'dec-dcm-connection-list-btn',
cls: 'dcm-link-edit-font', cls: 'dcm-link-edit-font',
value: 'edit', value: 'edit',
invisible: !canEdit, invisible: !canEdit,
}, },
{ {
text: BI.i18nText('Dec-Dcm_Change_Name'), text: BI.i18nText('Dec-Dcm_Change_Name'),
$testId: 'dec-dcm-connection-list-btn',
cls: 'dcm-change-name-font', cls: 'dcm-change-name-font',
value: 'changeName', value: 'changeName',
invisible: !canEdit, invisible: !canEdit,
}, },
{ {
text: BI.i18nText('Dec-Dcm_Copy'), text: BI.i18nText('Dec-Dcm_Copy'),
$testId: 'dec-dcm-connection-list-btn',
cls: 'copy-font', cls: 'copy-font',
value: 'copy', value: 'copy',
invisible: !canEdit, invisible: !canEdit,
}, },
{ {
text: BI.i18nText('Dec-Dcm_Delete'), text: BI.i18nText('Dec-Dcm_Delete'),
$testId: 'dec-dcm-connection-list-btn',
cls: 'dcm-delete-font', cls: 'dcm-delete-font',
value: 'delete', value: 'delete',
invisible: !canEdit, invisible: !canEdit,

1
src/modules/pages/connection_pool/list_item/list_item.ts

@ -9,6 +9,7 @@ export class ListItem extends BI.BasicButton {
name: '', name: '',
height: 25, height: 25,
baseCls: 'dec-dcm-connection-pool-list-item bi-list-item-active2', baseCls: 'dec-dcm-connection-pool-list-item bi-list-item-active2',
$testId: 'dec-dcm-connection-pool-list-item',
} }
store: ListItemModel['store']; store: ListItemModel['store'];

9
src/modules/pages/connection_pool/pool/pool.ts

@ -10,6 +10,7 @@ export const PoolXtype = 'dec.dcm.connection_pool.pool';
export class Pool extends BI.Widget { export class Pool extends BI.Widget {
props = { props = {
baseCls: 'dec-dcm-connection-pool', baseCls: 'dec-dcm-connection-pool',
$testId: 'dec-dcm-connection-pool',
} }
model: PoolModel['model']; model: PoolModel['model'];
@ -54,6 +55,8 @@ export class Pool extends BI.Widget {
items: [ items: [
{ {
type: Label, type: Label,
$testId: 'dec-dcm-pool-status-number',
$value: 'active',
cls: 'bi-high-light card-font-heighlight', cls: 'bi-high-light card-font-heighlight',
ref: (_ref: any) => { ref: (_ref: any) => {
this.numActive = _ref; this.numActive = _ref;
@ -65,6 +68,8 @@ export class Pool extends BI.Widget {
}, },
{ {
type: Label, type: Label,
$testId: 'dec-dcm-pool-status-max',
$value: 'active',
ref: (_ref: any) => { ref: (_ref: any) => {
this.maxActive = _ref; this.maxActive = _ref;
}, },
@ -98,6 +103,8 @@ export class Pool extends BI.Widget {
items: [ items: [
{ {
type: Label, type: Label,
$testId: 'dec-dcm-pool-status-number',
$value: 'idle',
cls: 'bi-high-light card-font-heighlight', cls: 'bi-high-light card-font-heighlight',
ref: (_ref: any) => { ref: (_ref: any) => {
this.numIdle = _ref; this.numIdle = _ref;
@ -109,6 +116,8 @@ export class Pool extends BI.Widget {
}, },
{ {
type: Label, type: Label,
$testId: 'dec-dcm-pool-status-max',
$value: 'idle',
ref: (_ref: any) => { ref: (_ref: any) => {
this.maxIdle = _ref; this.maxIdle = _ref;
}, },

1
src/modules/pages/database/database.ts

@ -81,6 +81,7 @@ export class Datebase extends BI.Widget {
items: [ items: [
{ {
type: SearchEditor, type: SearchEditor,
$value: 'database-type',
width: 300, width: 300,
watermark: BI.i18nText('BI-Basic_Search'), watermark: BI.i18nText('BI-Basic_Search'),
ref: (_ref: any) => { ref: (_ref: any) => {

2
src/modules/pages/database/database_type/database_type.less

@ -1,6 +1,6 @@
@import '../../../../less/index.less'; @import '../../../../less/index.less';
.dec-dcm-datebase-type{ .dec-dcm-database-type{
.bi-list-item-active{ .bi-list-item-active{
&:hover{ &:hover{
.box-shadow(0 1px 5px 0, fade(@color-bi-background-black, 20)); .box-shadow(0 1px 5px 0, fade(@color-bi-background-black, 20));

3
src/modules/pages/database/database_type/database_type.ts

@ -18,7 +18,8 @@ export class DatebaseType extends BI.BasicButton {
keyword: '', keyword: '',
databaseType: '', databaseType: '',
iconUrl: '', iconUrl: '',
baseCls: 'dec-dcm-datebase-type', baseCls: 'dec-dcm-database-type',
$testId: 'dec-dcm-database-type',
} }
img: any; img: any;

1
src/modules/pages/database/filter/filter.ts

@ -11,6 +11,7 @@ export class Filter extends BI.BasicButton {
text: '', text: '',
value: '', value: '',
baseCls: 'bi-list-item-active2', baseCls: 'bi-list-item-active2',
$testId: 'dec-dcm-database-filter',
} }
render() { render() {

1
src/modules/pages/maintain/components/form_item/form_item.ts

@ -9,6 +9,7 @@ export class FormItem extends BI.Widget {
forms: '', forms: '',
nameWidth: 140, nameWidth: 140,
isBold: true, isBold: true,
$testId: 'dec-dcm-maintain-form-item',
} }
render () { render () {

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

@ -81,6 +81,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Name'), name: BI.i18nText('Dec-Dcm_Connection_Name'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'connection-name',
width: 300, width: 300,
value: connectionName, value: connectionName,
allowBlank: true, allowBlank: true,
@ -95,6 +96,8 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Driver'), name: BI.i18nText('Dec-Dcm_Connection_Form_Driver'),
forms: [{ forms: [{
type: EdirotIconCheckCombo, type: EdirotIconCheckCombo,
$testId: 'dec-editor-icon-check-combo',
$value: 'driver',
width: 300, width: 300,
value: driver, value: driver,
ref: (_ref: any) => { ref: (_ref: any) => {
@ -122,6 +125,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Name'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Name'),
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'database-name',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Name'), watermark: BI.i18nText('Dec-Dcm_Connection_Form_Database_Name'),
@ -142,6 +146,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Host'), name: BI.i18nText('Dec-Dcm_Connection_Form_Host'),
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'database-host',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: host, value: host,
@ -162,6 +167,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Port'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'database-port',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: port, value: port,
@ -188,6 +194,7 @@ export class FormJdbc extends BI.Widget {
invisible: !databaseType.kerberos, invisible: !databaseType.kerberos,
forms: [{ forms: [{
type: TextValueCombo, type: TextValueCombo,
$value: 'auth-type',
width: 300, width: 300,
value: authType, value: authType,
ref: (_ref: any) => { ref: (_ref: any) => {
@ -227,6 +234,7 @@ export class FormJdbc extends BI.Widget {
}, },
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'username',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: user, value: user,
@ -245,6 +253,7 @@ export class FormJdbc extends BI.Widget {
}, },
forms: [{ forms: [{
type: Editor, type: Editor,
$value: 'password',
cls: 'bi-border bi-border-radius', cls: 'bi-border bi-border-radius',
width: 300, width: 300,
height: 20, height: 20,
@ -266,6 +275,7 @@ export class FormJdbc extends BI.Widget {
}, },
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'principal',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: principal, value: principal,
@ -284,6 +294,7 @@ export class FormJdbc extends BI.Widget {
}, },
forms: [{ forms: [{
type: Editor, type: Editor,
$value: 'key-path',
cls: 'bi-border', cls: 'bi-border',
width: 300, width: 300,
height: 20, height: 20,
@ -310,6 +321,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_OriginalCharsetName'), name: BI.i18nText('Dec-Dcm_Connection_Form_OriginalCharsetName'),
forms: [{ forms: [{
type: TextValueCombo, type: TextValueCombo,
$value: 'original-charset-name',
width: 300, width: 300,
value: originalCharsetName ? originalCharsetName : '', value: originalCharsetName ? originalCharsetName : '',
items: CONNECT_CHARSET, items: CONNECT_CHARSET,
@ -342,6 +354,7 @@ export class FormJdbc extends BI.Widget {
}], }],
}, { }, {
type: TextValueCombo, type: TextValueCombo,
$value: 'schema',
width: 300, width: 300,
vgap: 15, vgap: 15,
disabled: true, disabled: true,
@ -363,6 +376,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_URL'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_URL'),
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'database-url',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: url, value: url,
@ -410,6 +424,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Initial_Size'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'initial-size',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: initialSize, value: initialSize,
@ -429,6 +444,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Max_Active'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Max_Active'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'max-active',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: maxActive, value: maxActive,
@ -448,6 +464,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Max_Idle'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Max_Idle'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'max-idle',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: maxIdle, value: maxIdle,
@ -467,6 +484,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Min_Idle'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'min-idle',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: minIdle, value: minIdle,
@ -487,6 +505,7 @@ export class FormJdbc extends BI.Widget {
forms: [ forms: [
{ {
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'max-wait',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: maxWait, value: maxWait,
@ -513,6 +532,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_SQL_Validation_Query'), name: BI.i18nText('Dec-Dcm_Connection_Form_SQL_Validation_Query'),
forms: [{ forms: [{
type: TextAreaEditor, type: TextAreaEditor,
$value: 'validation-query',
cls: 'bi-border', cls: 'bi-border',
allowBlank: true, allowBlank: true,
watermark: BI.i18nText('Dec-Dcm_Connection_Form_Place_Input'), watermark: BI.i18nText('Dec-Dcm_Connection_Form_Place_Input'),
@ -529,6 +549,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Connection-Check'), name: BI.i18nText('Dec-Dcm_Connection_Form_Connection-Check'),
forms: [{ forms: [{
type: TextValueCombo, type: TextValueCombo,
$value: 'check',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: testOnBorrow, value: testOnBorrow,
@ -544,6 +565,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_On_Return'),
forms: [{ forms: [{
type: TextValueCombo, type: TextValueCombo,
$value: 'test-on-return',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: testOnReturn, value: testOnReturn,
@ -559,6 +581,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Test_While_Idle'),
forms: [{ forms: [{
type: TextValueCombo, type: TextValueCombo,
$value: 'test-while-idle',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: testWhileIdle, value: testWhileIdle,
@ -575,6 +598,7 @@ export class FormJdbc extends BI.Widget {
forms: [ forms: [
{ {
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'test-between-evicition-millis',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: timeBetweenEvictionRunsMillis, value: timeBetweenEvictionRunsMillis,
@ -601,6 +625,7 @@ export class FormJdbc extends BI.Widget {
name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'), name: BI.i18nText('Dec-Dcm_Connection_Form_Database_Tests_PerEviction_Run_Num'),
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'test-pereviction-run-num',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: numTestsPerEvictionRun, value: numTestsPerEvictionRun,
@ -621,6 +646,7 @@ export class FormJdbc extends BI.Widget {
forms: [ forms: [
{ {
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'min-evictable-idle-time-millis',
width: 300, width: 300,
allowBlank: false, allowBlank: false,
value: minEvictableIdleTimeMillis, value: minEvictableIdleTimeMillis,

19
src/modules/pages/maintain/forms/components/form.jndi.ts

@ -51,6 +51,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextCheckerXtype, type: TextCheckerXtype,
$value: 'connection-name',
width: 300, width: 300,
value: connectionName, value: connectionName,
ref: (_ref: any) => { ref: (_ref: any) => {
@ -64,6 +65,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'jdni-name',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: jndiName, value: jndiName,
@ -102,6 +104,8 @@ export class FormJndi extends BI.Widget {
isBold: false, isBold: false,
forms: [{ forms: [{
type: EdirotIconCheckCombo, type: EdirotIconCheckCombo,
$testId: 'dec-editor-icon-check-combo',
$value: 'initial',
width: 300, width: 300,
value: contextHashtable['java.naming.factory.initial'], value: contextHashtable['java.naming.factory.initial'],
ref: (_ref: any) => { ref: (_ref: any) => {
@ -130,6 +134,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'provider-url',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.provider.url'], value: contextHashtable['java.naming.provider.url'],
@ -145,6 +150,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'security-principal',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.security.principal'], value: contextHashtable['java.naming.security.principal'],
@ -160,6 +166,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'security-credentials',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.security.credentials'], value: contextHashtable['java.naming.security.credentials'],
@ -185,6 +192,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextValueCombo, type: TextValueCombo,
$value: 'new-charset-name',
width: 300, width: 300,
value: newCharsetName ? newCharsetName : '', value: newCharsetName ? newCharsetName : '',
items: CONNECT_CHARSET, items: CONNECT_CHARSET,
@ -221,6 +229,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'factory-object',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.factory.object'], value: contextHashtable['java.naming.factory.object'],
@ -235,6 +244,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'factory-state',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.factory.state'], value: contextHashtable['java.naming.factory.state'],
@ -249,6 +259,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'factory-url-pkgs',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.factory.url.pkgs'], value: contextHashtable['java.naming.factory.url.pkgs'],
@ -263,6 +274,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'dns-url',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.dns.url'], value: contextHashtable['java.naming.dns.url'],
@ -277,6 +289,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'authoritative',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.authoritative'], value: contextHashtable['java.naming.authoritative'],
@ -291,6 +304,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'batchsize',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.batchsize'], value: contextHashtable['java.naming.batchsize'],
@ -305,6 +319,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'referral',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.referral'], value: contextHashtable['java.naming.referral'],
@ -319,6 +334,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'security-protocol',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.security.protocol'], value: contextHashtable['java.naming.security.protocol'],
@ -333,6 +349,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'security-authentication',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.security.authentication'], value: contextHashtable['java.naming.security.authentication'],
@ -347,6 +364,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'language',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.language'], value: contextHashtable['java.naming.language'],
@ -361,6 +379,7 @@ export class FormJndi extends BI.Widget {
nameWidth: 200, nameWidth: 200,
forms: [{ forms: [{
type: TextEditor, type: TextEditor,
$value: 'applet',
width: 300, width: 300,
allowBlank: true, allowBlank: true,
value: contextHashtable['java.naming.applet'], value: contextHashtable['java.naming.applet'],

8
src/modules/pages/maintain/forms/form.server.ts

@ -1,6 +1,6 @@
import { Connection, ConnectionJDBC } from '../../../crud/crud.typings'; import { Connection, ConnectionJDBC } from '../../../crud/crud.typings';
import { connectionType, errorCode } from '@constants/env'; import { connectionType, errorCode } from '@constants/env';
import { DATA_BASE_DRIVER_LINK } from '@constants/constant'; import { DATA_BASE_DRIVER_LINK, JDBC_ODBC_DRIVER, JDBC_ODBC_DRIVER_HELP_LINK } from '@constants/constant';
import { TestStatusXtype, EVENT_RELOAD, EVENT_CLOSE } from '../../../components/test_status/test_status'; import { TestStatusXtype, EVENT_RELOAD, EVENT_CLOSE } from '../../../components/test_status/test_status';
import { ApiFactory } from '../../../crud/apiFactory'; import { ApiFactory } from '../../../crud/apiFactory';
const api = new ApiFactory().create(); const api = new ApiFactory().create();
@ -23,6 +23,12 @@ export function testConnection(value: Connection): Promise<string[]> {
if (api.isDriverError(re.errorCode)) { if (api.isDriverError(re.errorCode)) {
if (formValue.connectionType === connectionType.JDBC) { if (formValue.connectionType === connectionType.JDBC) {
const driver = (formValue.connectionData as ConnectionJDBC).driver; const driver = (formValue.connectionData as ConnectionJDBC).driver;
// DEC-14009 1.8以上版本JDK支持ODBC连接
if (driver === JDBC_ODBC_DRIVER) {
testStatus.setFail(re.errorMsg, driver, Dec.system[DecCst.Hyperlink.DECISION_HYPERLINK_CONFIG][JDBC_ODBC_DRIVER_HELP_LINK]);
return;
}
const databaseType = (formValue.connectionData as ConnectionJDBC).database; const databaseType = (formValue.connectionData as ConnectionJDBC).database;
const databaseLink = BI.get(DATA_BASE_DRIVER_LINK.find(item => item.databaseType === databaseType), 'link'); const databaseLink = BI.get(DATA_BASE_DRIVER_LINK.find(item => item.databaseType === databaseType), 'link');
testStatus.setFail(re.errorMsg, driver, Dec.system[DecCst.Hyperlink.DECISION_HYPERLINK_CONFIG][databaseLink]); testStatus.setFail(re.errorMsg, driver, Dec.system[DecCst.Hyperlink.DECISION_HYPERLINK_CONFIG][databaseLink]);

1
src/modules/pages/maintain/maintain.ts

@ -35,6 +35,7 @@ export class Maintain extends BI.Widget {
items: [ items: [
{ {
type: IconButton, type: IconButton,
$value: 'back-databases',
cls: 'dcm-back-font', cls: 'dcm-back-font',
height: 15, height: 15,
invisible: this.model.isCopy || isEdit, invisible: this.model.isCopy || isEdit,

2
src/modules/title/title.ts

@ -44,12 +44,14 @@ export class Title extends BI.Widget {
items: [ items: [
{ {
text: BI.i18nText('Dec-Dcm_Connection_Management'), text: BI.i18nText('Dec-Dcm_Connection_Management'),
$testId: 'dec-dcm-connection-tab',
selected: true, selected: true,
value: PAGE_INDEX.CONNECTION, value: PAGE_INDEX.CONNECTION,
hgap: 15, hgap: 15,
}, },
{ {
text: BI.i18nText('Dec-Dcm_Pool_Connection_Management'), text: BI.i18nText('Dec-Dcm_Pool_Connection_Management'),
$testId: 'dec-dcm-connection-tab',
value: PAGE_INDEX.POOL, value: PAGE_INDEX.POOL,
hgap: 15, hgap: 15,
}, },

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

@ -29,6 +29,7 @@ export class TitleDatabaseWidget extends BI.Widget {
items: [ items: [
{ {
type: Button, type: Button,
$value: 'title-database-cancel',
text: BI.i18nText('BI-Basic_Cancel'), text: BI.i18nText('BI-Basic_Cancel'),
level: 'ignore', level: 'ignore',
handler: () => { handler: () => {
@ -37,6 +38,7 @@ export class TitleDatabaseWidget extends BI.Widget {
}, },
{ {
type: Button, type: Button,
$value: 'title-database-save',
text: BI.i18nText('BI-Basic_Save'), text: BI.i18nText('BI-Basic_Save'),
disabled: !this.model.datebaseTypeSelected, disabled: !this.model.datebaseTypeSelected,
ref: (_ref: any) => { ref: (_ref: any) => {

3
src/modules/title/title_maintain/title_maintain.ts

@ -19,6 +19,7 @@ export class TitleMaintainWidget extends BI.Widget {
items: [ items: [
{ {
type: Button, type: Button,
$value: 'title-maintain-cancel',
text: BI.i18nText('BI-Basic_Cancel'), text: BI.i18nText('BI-Basic_Cancel'),
level: 'ignore', level: 'ignore',
handler: () => { handler: () => {
@ -29,6 +30,7 @@ export class TitleMaintainWidget extends BI.Widget {
}, },
{ {
type: Button, type: Button,
$value: 'title-maintain-connection-test',
text: BI.i18nText('Dec-Dcm_Connection_Test'), text: BI.i18nText('Dec-Dcm_Connection_Test'),
level: 'ignore', level: 'ignore',
handler: () => { handler: () => {
@ -37,6 +39,7 @@ export class TitleMaintainWidget extends BI.Widget {
}, },
{ {
type: Button, type: Button,
$value: 'title-maintain-save',
text: BI.i18nText('BI-Basic_Save'), text: BI.i18nText('BI-Basic_Save'),
handler: () => { handler: () => {
this.store.setSaveEvent(); this.store.setSaveEvent();

2
webpack/webpack.dev.js

@ -36,7 +36,7 @@ chokidar
module.exports = merge(common, { module.exports = merge(common, {
devtool: 'eval-source-map', devtool: 'eval-source-map',
entry: { entry: {
show: ['babel-polyfill', './src/i18n.ts', './src/request.ts', './src/index.ts'], show: ['./src/i18n.ts', './src/request.ts', './src/index.ts'],
}, },
output: { output: {
path: dirs.DEST, path: dirs.DEST,

Loading…
Cancel
Save