Compare commits

..

No commits in common. 'master' and 'master' have entirely different histories.

  1. 4
      plugin.xml
  2. 2
      src/main/java/com/fr/plugin/db/redis/RedisUniversalConnectionImpl.java
  3. 4
      src/main/java/com/fr/plugin/db/redis/bean/ParameterBean.java
  4. BIN
      src/main/resources/com/fr/plugin/db/redis/images/redis.jpg
  5. 2
      src/main/resources/com/fr/plugin/db/redis/web/redis.js
  6. 2
      src/web/src/index.ts
  7. 29
      src/web/src/modules/app.dataset.ts
  8. 35
      src/web/src/modules/app.program.ts

4
plugin.xml

@ -3,14 +3,12 @@
<id>com.fr.solution.plugin.db.redis.v10</id>
<name><![CDATA[Redis数据集]]></name>
<active>yes</active>
<version>7.4.3</version>
<version>7.4.1</version>
<env-version>10.0</env-version>
<jartime>2020-01-20</jartime>
<vendor>richie</vendor>
<description><![CDATA[可以连接Redis数据库,支持哈希表、列表、集合以及有序集合]]></description>
<change-notes><![CDATA[
[2021-2-4]更换平台redis图片。<br/>
[2020-12-29]解决平台数据集参数公式识别错误。<br/>
[2020-11-16]修复保存数据连接后平台测试连接报错的问题。<br/>
[2020-10-28]支持单一主机的集群模式连接选项。<br/>
[2020-07-07]修复了数据集没有随着参数的变化而变化的问题。<br>

2
src/main/java/com/fr/plugin/db/redis/RedisUniversalConnectionImpl.java

@ -27,7 +27,7 @@ public class RedisUniversalConnectionImpl extends AbstractUniversalConnectionPro
@Override
public String iconPathForConnection() {
return "/com/fr/plugin/db/redis/images/redis.jpg";
return "/com/fr/plugin/db/redis/images/redis.png";
}
@Override

4
src/main/java/com/fr/plugin/db/redis/bean/ParameterBean.java

@ -1,9 +1,7 @@
package com.fr.plugin.db.redis.bean;
import com.fanruan.api.cal.ParameterKit;
import com.fanruan.api.util.GeneralKit;
import com.fanruan.api.util.StringKit;
import com.fr.general.GeneralUtils;
import com.fr.stable.ParameterProvider;
import java.util.ArrayList;
@ -63,7 +61,7 @@ public class ParameterBean {
public static ParameterBean createBean(ParameterProvider parameterProvider) {
if (parameterProvider.getValue() != null) {
return new ParameterBean(parameterProvider.getValue().getClass().getSimpleName(), parameterProvider.getName(), GeneralKit.objectToString(parameterProvider.getValue()));
return new ParameterBean(parameterProvider.getValue().getClass().getSimpleName(), parameterProvider.getName(), parameterProvider.valueToString());
} else {
return new ParameterBean(String.class.getSimpleName(), parameterProvider.getName(), StringKit.EMPTY);
}

BIN
src/main/resources/com/fr/plugin/db/redis/images/redis.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

2
src/main/resources/com/fr/plugin/db/redis/web/redis.js

File diff suppressed because one or more lines are too long

2
src/web/src/index.ts

@ -8,7 +8,7 @@ BI.DOM.ready(() => {
provider.registerDatabaseType({
text: 'Redis',
databaseType: 'Redis',
iconUrl: 'com/fr/plugin/db/redis/images/redis.jpg',
iconUrl: 'com/fr/plugin/db/redis/images/redis.png',
edit: RedisEdit.xtype,
show: RedisShow.xtype,
});

29
src/web/src/modules/app.dataset.ts

@ -1,11 +1,11 @@
import {shortcut, store} from '@core/core';
import {TableList} from './table_list/table_list';
import { shortcut, store } from '@core/core';
import { TableList } from './table_list/table_list';
import '../less/index.less';
import {DatabaseIndex} from './components/database_index/database_index';
import {RedisModel, ParameterType} from './app.model';
import {Preview} from './components/preview/preview';
import { DatabaseIndex } from './components/database_index/database_index';
import { RedisModel, ParameterType } from './app.model';
import { Preview } from './components/preview/preview';
import './app.less';
import {redisField} from './app.constant';
import { redisField } from './app.constant';
@shortcut()
@store(RedisModel)
@ -43,12 +43,11 @@ export class RedisDataset extends BI.Widget {
}
render() {
const {database = '', orderValue = 0, query = '', parameters = []} = this.options.value.datasetData || {};
const { database = '', orderValue = 0, query = '', parameters = [] } = this.options.value.datasetData || {};
this.store.setParameters(parameters);
const plainQuery = BI.Providers.getProvider("dec.provider.cipher").getPlain(query);
this.store.setAbleSave(!!plainQuery);
this.store.setAbleSave(!!query);
const inputType = typeof orderValue === 'string' ? 'formula' : 'int';
return {
type: BI.HTapeLayout.xtype,
tgap: 15,
@ -131,7 +130,7 @@ export class RedisDataset extends BI.Widget {
cls: 'bi-border',
height: 200,
allowBlank: true,
value: plainQuery,
value: query,
ref: (_ref: any) => {
this.queryCondition = _ref;
},
@ -186,7 +185,7 @@ export class RedisDataset extends BI.Widget {
columnSize: [300, 300, ''],
items: this.renderItems(),
header: [this.model.paramHeader],
ref: (_ref: any) => {
ref: (_ref: any) => {
this.parameterEditor = _ref;
},
}],
@ -196,7 +195,7 @@ export class RedisDataset extends BI.Widget {
private renderItems() {
const self = this;
return this.model.parameters.map((item, index) => [{
type: BI.Label.xtype,
text: item.name,
@ -211,7 +210,7 @@ export class RedisDataset extends BI.Widget {
value: item.type,
listeners: [{
eventName: BI.IconTextValueCombo.EVENT_CHANGE,
action() {
action () {
self.store.setParamType(index, this.getValue()[0]);
},
}],
@ -228,7 +227,7 @@ export class RedisDataset extends BI.Widget {
return {
database: this.tableList.getSelectedDatabase(),
orderValue: this.databaseIndex.getValue(),
query: BI.Providers.getProvider("dec.provider.cipher").getCipher(this.queryCondition.getValue()),
query: this.queryCondition.getValue(),
parameters: this.model.parameters,
};
}

35
src/web/src/modules/app.program.ts

@ -1,11 +1,11 @@
import {shortcut, store} from '@core/core';
import {TableList} from './table_list/table_list';
import { shortcut, store } from '@core/core';
import { TableList } from './table_list/table_list';
import '../less/index.less';
import {DatabaseIndex} from './components/database_index/database_index';
import {RedisModel, ParameterType} from './app.model';
import { DatabaseIndex } from './components/database_index/database_index';
import { RedisModel, ParameterType } from './app.model';
import './app.less';
import {redisField} from './app.constant';
import {Preview} from './components/preview/preview';
import { redisField } from './app.constant';
import { Preview } from './components/preview/preview';
@shortcut()
@store(RedisModel)
@ -46,17 +46,10 @@ export class RedisProgram extends BI.Widget {
}
render() {
const {
database = '',
orderValue = 0,
script = '',
parameters = [],
engineType = 0
} = this.options.value.datasetData || {};
const { database = '', orderValue = 0, script = '', parameters = [], engineType = 0 } = this.options.value.datasetData || {};
this.store.setParameters(parameters);
const inputType = typeof orderValue === 'string' ? 'formula' : 'int';
const plainScript = BI.Providers.getProvider("dec.provider.cipher").getPlain(script);
return {
type: BI.HTapeLayout.xtype,
tgap: 15,
@ -164,7 +157,7 @@ export class RedisProgram extends BI.Widget {
cls: 'bi-border',
height: 200,
allowBlank: true,
value: plainScript,
value: script,
ref: (_ref: any) => {
this.queryCondition = _ref;
},
@ -219,7 +212,7 @@ export class RedisProgram extends BI.Widget {
columnSize: [300, 300, ''],
items: this.renderItems(),
header: [this.model.paramHeader],
ref: (_ref: any) => {
ref: (_ref: any) => {
this.parameterEditor = _ref;
},
}],
@ -229,7 +222,7 @@ export class RedisProgram extends BI.Widget {
private renderItems() {
const self = this;
return this.model.parameters.map((item, index) => [{
type: BI.Label.xtype,
text: item.name,
@ -244,7 +237,7 @@ export class RedisProgram extends BI.Widget {
value: item.type,
listeners: [{
eventName: BI.IconTextValueCombo.EVENT_CHANGE,
action() {
action () {
self.store.setParamType(index, this.getValue()[0]);
},
}],
@ -258,7 +251,7 @@ export class RedisProgram extends BI.Widget {
self.store.setParamValue(index, value);
})]);
}
private createParameterValueItem(param: ParameterType, cb: Function) {
return BI.Services.getService('dec.service.data.set').createParameterValueItem(param, cb);
}
@ -267,7 +260,7 @@ export class RedisProgram extends BI.Widget {
return {
database: this.tableList.getSelectedDatabase(),
orderValue: this.databaseIndex.getValue(),
script: BI.Providers.getProvider("dec.provider.cipher").getCipher(this.queryCondition.getValue()),
script: this.queryCondition.getValue(),
engineType: this.engineTypeSelect.getValue()[0],
parameters: this.model.parameters,
};

Loading…
Cancel
Save