Browse Source

Pull request #1: REPORT-85619 feat: 拓展下数据连接配置功能

Merge in ~AUSTIN.DUAN/decision-webui-dcm from feature/x to release/11.0

* commit 'abea0a53ae7c74c8dac4564ae7140ef5566de54b':
  REPORT-85619 feat: 拓展下数据连接配置功能
release/11.0
Austin.Duan-段嗣跃 2 years ago
parent
commit
e71d9d4263
  1. 28
      src/modules/app.provider.ts

28
src/modules/app.provider.ts

@ -1,10 +1,11 @@
import { CONSTANT_PLUGIN_TYPES } from './app.constant';
import { DATA_BASE_TYPES } from '@constants/constant';
BI.provider('dec.connection.provider.datebase', function() {
BI.provider('dec.connection.provider.datebase', function () {
this.resolves = {};
// 原service中resolveUrlInfo方法
function jdbcResolve (url: string) {
function jdbcResolve(url: string) {
if (BI.isNull(url)) return {};
const oracleUlr = url.match(/^jdbc:(oracle):(thin:([0-9a-zA-Z/]*)?@|thin:([0-9a-zA-Z/]*)?@\/\/|\/\/|)([0-9a-zA-Z_\\.-]+)(:([0-9|port]+))?(:|\/)([^]+)(.*)/i);
if (oracleUlr) {
@ -68,14 +69,35 @@ BI.provider('dec.connection.provider.datebase', function() {
};
}
function coverBaseDatabase(config) {
const baseDataBase = DATA_BASE_TYPES.find(item => item.text === config.text);
if (BI.isNotNull(baseDataBase)) {
// 覆盖基础配置
Object.assign(baseDataBase, config);
return true;
}
return false;
}
this.registerDatabaseType = (config: any) => {
if (coverBaseDatabase(config)) return;
BI.config(CONSTANT_PLUGIN_TYPES, connections => BI.concat(connections, config));
};
this.registerJdbcDatabase = (config: any, resolve?: Function) => {
BI.config(CONSTANT_PLUGIN_TYPES, connections => BI.concat(connections, { ...config, type: 'jdbc' }));
config = {
...config,
type: 'jdbc',
};
BI.isFunction(resolve) && (this.resolves[config.databaseType] = resolve);
if (coverBaseDatabase(config)) return;
BI.config(CONSTANT_PLUGIN_TYPES, connections => BI.concat(connections, config));
};
this.$get = () => BI.inherit(BI.OB, {

Loading…
Cancel
Save