帆软决策平台数据连接界面库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
superman 71482284f7 Merge pull request #6833 in DEC/decision-webui-dcm from persist/10.0 to final/10.0 2 years ago
assets/scripts DEC-15759 & DEC-15764 帮助文档链接 4 years ago
config build: KERNEL-6541 引用类型规范化 4 years ago
i18n DEC-14713 feat: 新增websocket连接失败文档链接 4 years ago
lib refactor: 重构页面 5 years ago
private REPORT-60284 fix: 将平台前端数据连接编码的 【自动】 改成 【默认】 3 years ago
src Merge pull request #6099 in DEC/decision-webui-dcm from release/10.0 to bugfix/10.0 2 years ago
types build: KERNEL-6541 引用类型规范化 4 years ago
webpack REPORT-77480 fix:SSRF漏洞处理 2 years ago
.eslintignore refactor: 重构页面 5 years ago
.eslintrc feat: DEC-9068 加入表单验证,添加other类型数据连接 5 years ago
.gitignore refactor: 重构页面 5 years ago
.npmrc KERNEL-4727 refactor: 【平台】使用babel-preset-fineui插件配置babel 4 years ago
README.md DEC-18013 fix: 【自动化】最新redis数据集插件,新建redis数据连接,默认名称是widget7127这种带随机数 4 years ago
babel.config.js KERNEL-4727 refactor: 【平台】使用babel-preset-fineui插件配置babel 4 years ago
index.html build: KERNEL-6541 引用类型规范化 4 years ago
jest.config.js fix: BI-51537 未拥有编辑权限的不可编辑、删除、重命名、复制。 5 years ago
package.json DEC-19762 feat:【FR配合】部分数据连接支持fetchsize 3 years ago
redis.js fix: 无jira任务 重命名的时候也发送socket,修改插件图片地址 5 years ago
tsconfig.json build: KERNEL-6541 引用类型规范化 4 years ago

README.md

Database Connection Manager

用于决策平台和设计器中管理数据连接的通用管理器

fineui

开始

安装依赖

yarn

开始开发

yarn dev

接口文档:

增加数据连接类型

使用BI.config,ConstantName名称为dec.constant.database.conf.connect.types,值为连接的名称

例如增加Redis的连接:

BI.config(ConstantPluginTyps, (datas: string[]) => [...datas, {
    text: 'Redis',
    databaseType: 'Redis',
    edit: '',
    show: '',
}]);

数据连接填写页面

edit属性值为填写组件shortcut的名称

数据连接展示页面

show属性值为组件shortcut的名称

示例

const DataBaseConfigProvider = 'dec.connection.provider.datebase';

const RedisShowName = 'dec.dcm.connection.plugin.redis.show';
const RedisEditName = 'dec.dcm.connection.plugin.redis.edit';
BI.config(DataBaseConfigProvider, function (provider) {
    provider.registerDatabaseType({
        text: "Redis",
        databaseType: "Redis",
        edit: "dec.dcm.connection.plugin.demo.edit",
        show: "dec.dcm.connection.plugin.demo.show",
    });
});

const RedisShow = BI.inherit(BI.Widget, {
    props: {
        formData: {
            url: '',
            port: '6379',
            password: '',
        },
    },
    render() {
        const o = this.options;
        
        return {
            type: 'bi.vertical',
            hgap: 15,
            vgap: 10,
            items: [
                {
                    type: 'bi.left',
                    items: [
                        {
                            type: 'bi.label',
                            cls: 'bi-font-bold',
                            width: 100,
                            textAlign: 'left',
                            text: '数据库地址',
                        },
                        {
                            type: 'bi.label',
                            text: o.formData.url,
                        },
                    ],
                },
                {
                    type: 'bi.left',
                    items: [
                        {
                            type: 'bi.label',
                            cls: 'bi-font-bold',
                            width: 100,
                            textAlign: 'left',
                            text: '端口号',
                        },
                        {
                            type: 'bi.label',
                            text: o.formData.port,
                        },
                    ],
                },
                {
                    type: 'bi.left',
                    items: [
                        {
                            type: 'bi.label',
                            cls: 'bi-font-bold',
                            width: 100,
                            textAlign: 'left',
                            text: '密码',
                        },
                        {
                            type: 'bi.label',
                            text: o.formData.password,
                        },
                    ],
                },
            ],
        };
    },
});
BI.shortcut(RedisShowName, RedisShow);

const RedisEdit = BI.inherit(BI.Widget, {
    props: {
        value: {
            url: '',
            port: '6379',
            password: '',
        },
    },
    render() {
        const o = this.options;
        
        return {
            type: 'bi.vertical',
            hgap: 15,
            vgap: 10,
            items: [
                {
                    type: 'bi.left',
                    items: [
                        {
                            type: 'bi.label',
                            cls: 'bi-font-bold',
                            width: 100,
                            textAlign: 'left',
                            text: '数据库地址',
                        },
                        {
                            type: 'bi.text_editor',
                            width: 300,
                            allowBlank: true,
                            ref: _ref => {
                                this.url = _ref;
                            },
                            text: o.value.url,
                        },
                    ],
                },
                {
                    type: 'bi.left',
                    items: [
                        {
                            type: 'bi.label',
                            cls: 'bi-font-bold',
                            width: 100,
                            textAlign: 'left',
                            text: '端口号',
                        },
                        {
                            type: 'bi.text_editor',
                            width: 300,
                            allowBlank: true,
                            ref: _ref => {
                                this.port = _ref;
                            },
                            text: o.value.port,
                        },
                    ],
                },
                {
                    type: 'bi.left',
                    items: [
                        {
                            type: 'bi.label',
                            cls: 'bi-font-bold',
                            width: 100,
                            textAlign: 'left',
                            text: '密码',
                        },
                        {
                            type: 'bi.text_editor',
                            width: 300,
                            allowBlank: true,
                            inputType: 'password',
                            ref: _ref => {
                                this.password = _ref;
                            },
                            text: o.value.password,
                        },
                    ],
                },
            ],
        };
    },
    getValue() {
        return {
            url: this.url.getValue(),
            port: this.port.getValue(),
            password: this.password.getValue(),
        };
    },
});
BI.shortcut(RedisEditName, RedisEdit);