【仅供内部供应商使用,不提供对外解答和培训】
仿照9.0将目录和管理系统结合在一起.
View file | ||||
---|---|---|---|---|
|
...
Dec.Utils.getWorkbenchSubDirectoryById
...
pId, callback
...
Dec.Utils.searchWorkbenchSubDirectory
...
搜索目录树
...
keyword,callback
...
Dec.Plugin.getManagementModules
Dec.Utils.getManagementModules
...
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 "";
}
} |
...
参数对象结构 {
value: "dashboard", // 值
text: BI.i18nText("Dec-Menu_Dashboard"), // 文字
cardType: "dec.dashboard", // 加载内容 字符串或对象
cls: "analysis-menu-font" // 图标class名
}
名称 | 描述 |
---|---|
DecCst.DIRECTORY_TREE_ROOT_ID | 目录根节点 |
Code Block | ||
---|---|---|
| ||
{
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 | ||
---|---|---|
| ||
// 注入布局方式,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 | ||||
---|---|---|---|---|
| ||||
// 继承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 | ||||
---|---|---|---|---|
| ||||
// 继承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"
]
Children Display |
---|
使用前希望你已经对FineUI有一定了解
可以参靠FineUI API文档,提供了在线可修改的代码示例