【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

View file
namefr-plugin-theme-original-1.0.zip
height250

学习文档:

请求接口:

接口描述参数返回值

Dec.Utils.getWorkbenchSubDirectoryById

分层取目录树节点

pId, callback

 

Dec.Utils.searchWorkbenchSubDirectory

搜索目录树

keyword,callback

 
Dec.Utils.getFavoritesList取收藏列表callback 

Dec.Plugin.getManagementModules

Dec.Utils.getManagementModules

取管理系统节点callback 
Dec.Plugin.getMenus取menu节点 menu list
Dec.Utils.handlerCollect收藏一个模板/取消收藏一个节点true/false 
Dec.Utils.getReportList取分享给我的列表  
    

 

后台支持:

Code Block
languagejava
titleComponent
package com.fr.plugin.decision.theme.original;
 
import com.fr.web.struct.Component;
import com.fr.web.struct.category.ScriptPath;
import com.fr.web.struct.category.StylePath;
import com.fr.web.struct.Filter;
 
public class OriginalComponent extends Component {
 
    public static final OriginalComponent KEY = new OriginalComponent();
 
    private OriginalComponent() {
 
    }
 
    @Override
    public ScriptPath script() {
        return ScriptPath.build("/com/fr/plugin/decision/theme/original/web/theme.js");
    }
 
    @Override
    public StylePath style() {
        return StylePath.build("/com/fr/plugin/decision/theme/original/web/style.css");
    }

    @Override
    public Filter filter() {
        return new Filter() {
            public boolean accept() {
                return "com.fr.plugin.decision.theme.original.OriginalTheme".equals(AppearanceConfig.getInstance().getThemeId());
            }
        };
    }
}
Code Block
languagejava
titleAbstractThemeVariousProvider
package com.fr.plugin.decision.theme.original;

import com.fr.decision.fun.impl.AbstractThemeVariousProvider;
import com.fr.decision.web.MainComponent;
import com.fr.plugin.transform.ExecuteFunctionRecord;
import com.fr.plugin.transform.FunctionRecorder;
import com.fr.web.struct.Atom;

/**
 * Created by dailer on 18/10/10.
 */
@FunctionRecorder(localeKey = "decision-theme-test")
public class OriginalTheme extends AbstractThemeVariousProvider  {


    @Override
    public Atom attach() {
        return MainComponent.KEY;
    }

    @Override
    public Atom client() {
        return OriginalComponent.KEY;
    }

    @Override
    @ExecuteFunctionRecord
    public String name() {
        return "OriginalTheme";
    }

    @Override
    public String text() {
        return "复古";
    }

    @Override
    public String coverPath() {
        return "";
    }

}

 

开放接口:

接口描述参数详情
Dec.Plugin.tabPane.addItemtabPane 添加一个tab(cardTitle,cardValue,cardType)展示名,value,cardType 可以为fineui注册组件字符串,也可以为对象{src:"baidu.com"}
Dec.Plugin.tabPane.closeActiveTab关闭当前激活的tab  
Dec.Plugin.tabPane.openTab打开一个目录节点到tabPane(entry)将请求取到目录树节点的对象传进去即可
Dec.Plugin.Menus.addItem向侧栏menus加一个按钮(op)

参数对象结构 {

value: "dashboard", // 值
text: BI.i18nText("Dec-Menu_Dashboard"), // 文字
cardType: "dec.dashboard", // 加载内容 字符串或对象
cls: "analysis-menu-font" // 图标class名

}

 

常量:

名称描述

DecCst.DIRECTORY_TREE_ROOT_ID

目录根节点
  
  

配置:

Code Block
languagejs
{
    theme: {
        name: "default",
        // 框架布局配置属性
        config4Frame: {
            // 上区域
            north: {
                height: 40, // 上方导航栏高度设置
                invisible: false // 是否不可见
            },
            // 左区域
            west: {
                width: 70, // 宽度 默认70
                invisible: false // 是否不可见
            },
            // 右区域
            east: {
                invisible: false // 是否不可见
            }
        },
        // Header配置属性
        config4Header: {},
        // menu组件配置属性
        config4Menu: {
            invisible: false, // 是否不可见
        },
        // 目录面板组件配置属性
        config4EntryPane: {
            pinable: true //  是否支持固定
        },
        // 管理系统面板组件配置属性
        config4ModulesPane: {
            pinable: true, //  是否支持固定
            showHomepage: true
        }
    }
}

 

流程:

注入布局策略>注入组件>实现相关组件.

Code Block
languagejs
//  注入布局方式,10.0平台默认用上+下(左+右)结构,只用到了header,menu,body
Dec.injection.injectLayoutStrategy({
	layout: function (config4Frame, header, footer, menu, body) {
    }
})
 
Dec.injection.injectHeader({
    widget: function () {
        return {
            type: "dec.header",
            height: 60
        };
    }
});
Dec.injection.injectFooter({
    widget: function () {
    }
});
Dec.injection.injectMenu({
    widget: function (config) {
        return {
            type: "dec.menu",
            invisible: config.invisible
        };
    }
});
Dec.injection.injectBody({
    widget: function () {
        return {
            type: "dec.body"
        };
    }
});
 
 
// 示例中注册了 dec.workbench.directory 即目录树组件为新的 目录和管理系统节点合并的树组件
BI.Plugin.registerWidget("dec.workbench.directory", function (ob) {
    return BI.extend(ob, {type: "dec.theme.modules"});
});

集成:

 

Code Block
languagejs
titleReact
//  继承BI.Widget 在组件的render方法中将react组件放入
!(function () {
    var Widget = BI.inherit(BI.Widget, {
        props: {
            cls: "dec-demo"
        },
        render: function () {
            ReactDOM.render(<MyComponent/>, this.element[0]);
        }
    });
    BI.shortcut("dec.demo", Widget);
})();


Code Block
languagejs
titleJQuery
//  继承BI.Widget 在组件的render方法中创建一个widget挂载
!(function () {
    var Widget = BI.inherit(BI.Widget, {
        props: {
            cls: "dec-demo"
        },
        render: function () {
            var component = BI.createWidget({
    			type: "bi.layout",
    			element: "<div>dec-demo</div>"
			});
			return {
    			type: "bi.default",
    			items: [component]
			};
        }
    });
    BI.shortcut("dec.demo", Widget);
})();
 
//  render方法也可以这样写
render: function () {
    var component = $("<div>dec-demo</div>");
    this.element.append(component);
}
 


配色:

 

Dec.platformStyles.customColors=[

"#FFFFFF", "#4B7EFE", "#2C3D59", "#F2F6FA", "#FFFFFF", "#3D4D66"

]