# 功能模块

# 模块管理

fast3dbase.widget 类是静态类,是平台widget模块统一管理维护的类

# 使用示例

var jsondata= {
    "debugger": true,
    "version": "time",
    "defaultOptions": {
        "windowOptions": {
            "position": "r",
            "maxmin": false,
            "resize": true
        },
        "autoDisable": true,
        "disableOhter": true
    },
    "widgetsAtStart": [
        {
            "name": "左上角工具栏",
            "uri": "widgets/toolBar/widget.js",
            "visible": true
        }
    ],
    "widgets": [ 
        {
            "name": "图层管理",
            "uri": "widgets/manageLayers/widget.js",
            "windowOptions": {
                "position": {"top": 1,"bottom": 1,"right": 1}
            },
            "disableOhter": false
        },
        {
            "name": "图上量算",
            "uri": "widgets/measure/widget.js"
        }  
    ]
};
fast3dbase.widget.init(viewer, jsondata);

# 方法

包括模块初始化,激活释放指定模块等方法

方法名 返回值 说明
init(<Viewer> viewer,<Object> jsondata,<String> basePath) 按配置信息初始化widget管理类
如果widgets目录不在当前页面的同级目录,在其他处时可以传入basePath参数,参数值为:widgets目录相对于当前页面的路径
activate(<Object> item,<Boolean> noDisableOther) 激活指定的模块,item可以是id或者uri或模块配置信息对象
//常用方式,直接使用uri
fast3dbase.widget.activate("widgets/bookmark/widget.js");
//widget中配置有id时
fast3dbase.widget.activate("bookmark");
//使用对象,可以传入更多参数,具体参数参看配置项手册。
fast3dbase.widget.activate({
    uri: "widgets/bookmark/widget.js",
    testdata:"widget内部使用this.config获取到这些参数",
    success:function(thisWidget){ //激活后回调方法
    }
});
disable(<String> id或uri) 释放指定id或uri的widget
disableAll(<String> nodisableid?) 释放所有Widget,可以指定id或uri的widget不释放
getWidget(<String> id或uri) Object 获取指定id或uri的widget配置信息
getClass(<String> id或uri) BaseWidget 获取指定id或uri的widget的对应的实例化BaseWidget类
bindClass(<BaseWidget> class) 实例化后的对象 绑定继承BaseWidget类的类到当前对应js的widget中
removeDebugeBar() 移除Widget测试栏
getDefWindowOptions() objcet 获取全局默认的view配置信息
getCacheVersion() String 获取当前配置的版本信息,用于清除浏览器缓存

# 基础模块

fast3dbase.widget.BaseWidget 类是平台所有widget功能模块的基础类,开发widget时需要继承该类。 该类不是直接new实例化使用的,是新建一个类继承该类后使用。

# 使用示例

var MyWidget = fast3dbase.widget.BaseWidget.extend({
    map: null,//框架会自动对map赋值
    options: {                         
        resources: ['style.css'],
        view: { 
            type: "window",
            url: "view.html",
            windowOptions: {width: 250, height: 300}
        },
    },
    //初始化[仅执行1次]
    create: function () {
    },
    viewWindow:null,
    //每个窗口创建完成后调用
    winCreateOK: function (opt, result) {
        this.viewWindow = result; 
    },
    //打开激活
    activate: function () {        
    },
    //关闭释放
    disable: function () {
    }
})

# Options参数选项

Option参数 参数类型 默认值 说明
resources String[] null 该模块依赖的外部js、css资源文件,会在实例化之前加入的页面中。 默认引用是当前widget所在目录的资源,相当于页面的资源或外部资源请以 “/” 或 “.” 或 “http” 开始命名
view Object null 定义模块的view页面配置信息,为空时表示当前模块无关联页面, 其中url地址规则,参考resources说明

# 方法

包括模块初始化、激活、释放时相关方法。

方法名 返回值 说明
activateBase() 激活模块初始方法,基类内部使用
disableBase() 释放模块初始方法,基类内部使用
init() 模块初始化之前触发该方法,仅首次初始化执行1次
create() 模块初始化,仅首次初始化执行1次
winCreateOK(<String> opt,<String> result) 每个view窗口或页面创建完成后调用
activate() 打开激活模块
disable() 关闭释放模块
getHtml(<String> url,<function> callback) 获取指定url的html信息
winFull() 窗口最大化后触发
winMin() 窗口最小化后触发
winRestore() 窗口最大、小化后,被还原时触发
Last Updated: 6/21/2024, 5:48:01 PM