123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- /**
- *
- * Class: SuperMap.Plotting.PlotPanel
- * 标绘面板类。
- *
- */
- SuperMap.Plotting.TreePanel = new SuperMap.Class({
- /**
- * Constant: EVENT_TYPES
- * {Array(String)}
- *
- * 此类支持的事件类型:
- * - *clickTreeNode* 点击态势图文件列表上节点时触发。
- */
- EVENT_TYPES: ["clickTreeNode"],
- /**
- * APIProperty: events
- * {<SuperMap.Events>} 在 TreePanel 类中处理所有事件的对象,支持两种事件 initializeCompleted ,初始化完成时触发 initializeCompleted 事件。
- *
- * 例如:
- * (start code)
- * var treePanel = SuperMap.Plotting.TreePanel(url);
- * treePanel.events.on({
- * "clickTreeNode": clickTreeNode
- * }
- * );
- * treePanel.initializeTree(smlInfos);
- * (end)
- */
- events: null,
- /**
- * APIProperty: eventListeners
- * {Object} 监听器对象,在构造函数中设置此参数(可选),对 TreePanel 支持的两个事件 initializeCompleted 进行监听,相当于调用 SuperMap.Events.on(eventListeners)。
- */
- eventListeners: null,
- /**
- * APIProperty: 点击的节点态势图文件名
- */
- clickSmlFileName: "",
- /**
- * Constructor: SuperMap.Plotting.TreePanel
- * 态势图列表UI面板。
- *
- * Parameters:
- * div - {String} 态势图列表UI面板div
- *
- * Returns:
- * {<SuperMap.Plotting.TreePanel>} 结果类型对象。
- */
- initialize : function(div){
- this.events = new SuperMap.Events(
- this, null, this.EVENT_TYPES, true
- );
- if (this.eventListeners instanceof Object) {
- this.events.on(this.eventListeners);
- }
- var plotPanel = document.getElementById(div);
- var treeNodeStyle = document.createElement("div");
- treeNodeStyle.style.height = '100%';
- treeNodeStyle.style.width = '100%';
- treeNodeStyle.style.border = '1px solid #617775';
- treeNodeStyle.style.overflow ='scroll';
- var treeNode = document.createElement("div");
- treeNode.id = "tree";
- treeNode.className = "ztree";
- treeNodeStyle.appendChild(treeNode);
- plotPanel.appendChild(treeNodeStyle);
- },
- /**
- * APIMethod: initializeTree
- * 初始化态势图列表UI面板。
- *
- * Parameters:
- * smlInfos - {Array(Object)} 需要展示的态势图列表。
- */
- initializeTree : function(smlInfos){
- function beforeClickTreeNode(treeId, treeNode){
- var tree = $.fn.zTree.getZTreeObj(treeId);
- if (treeNode.isParent) {
- tree.expandNode(treeNode);
- if (treeNode.pId===1) {
- me.clickSmlFileName = treeNode.name;
- me.events.triggerEvent("clickTreeNode");
- }
- return false;
- }
- }
- var me = this;
- var setting = {
- view: {
- dblClickExpand: false,
- showLine: true,
- selectedMulti: false,
- showIcon:false
- },
- data: {
- simpleData: {
- enable:true,
- idKey: "id",
- pIdKey: "pId",
- rootPId: 0
- }
- },
- callback: {
- beforeClick: beforeClickTreeNode
- }
- };
- var symbolTreeData = this.analysisSMLInfos(smlInfos);
- $.fn.zTree.init($("#tree"), setting, symbolTreeData);
- },
- /**
- * Method: analysisSMLInfos
- * 初始化态势图列表UI面板的树节点信息。
- *
- * Parameters:
- * smlInfos - {Array(Object)} 需要展示的态势图列表。
- */
- analysisSMLInfos:function(smlInfos){
- var treeData = [];
- var cellRootNode = new Object();
- cellRootNode.id = 1;
- cellRootNode.pId = 0;
- cellRootNode.name = "态势图文件列表";
- cellRootNode.fullName = "态势图文件列表" +"/";
- treeData.push(cellRootNode);
- var cellId = cellRootNode.id + 1;
- var nid= cellId+1;
- for(var i = 0; i < smlInfos.length; i++){
- var info = new SuperMap.Plot.SMLInfoStruct(smlInfos[i]);
- var result = info;
- var rootNode = new Object();
- rootNode.id = cellId++;
- rootNode.pId = 1;
- rootNode.name = smlInfos[i].SMLFileName;
- treeData.push(rootNode);
- cellId = rootNode.id + 1;
- var key = ["SMLAuthor","SMLDepat","SMLDesc","SMLName","SMLSeclevel","SMLTime"];
- var value = [result.SMLAuthor,result.SMLDepat,result.SMLDesc,result.SMLName,result.SMLSeclevel,result.SMLTime];
- for(var j = 0; j < 6; j++){
- var chrootNode = new Object();
- chrootNode.id = cellId++;
- chrootNode.pId = rootNode.id;
- chrootNode.name = key[j]+":"+value[j];
- treeData.push(chrootNode);
- }
- }
- return treeData;
- },
- CLASS_NAME: "SuperMap.Plotting.TreePanel"
- });
|