master
2022-03-21 1292f810644e422357734d1616761eb920903f45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var thisWidget, lastRightClickTreeId, lastRightClickTreeNode, layers = [], layersObj = {}; 
function initWidgetView(e) { 
    thisWidget = e, bindRightMenuEvnet(); 
    for (var e = { 
        check: { enable: !0 }, 
        data: { 
            simpleData: { enable: !0 } ,
            }, 
        callback: { 
            onCheck: treeOverlays_onCheck, 
            onRightClick: treeOverlays_OnRightClick, 
            onDblClick: treeOverlays_onDblClick, 
            onClick: treeOverlays_onClick ,
            }, 
        view: { 
            addDiyDom: addOpacityRangeDom ,
            } ,
        }, 
        n = [], 
        t = (layers = thisWidget.getLayers()).length - 1; 0 <= t; t--) { 
            var a = _getNodeConfig(layers[t]); 
            a && n.push(a) 
        } 
        $.fn.zTree.init($("#treeOverlays"), e, n) 
} 
function _getNodeConfig(e) { 
    if (null != e && !e.options.noLayerManage) { 
        var n = e.options; 
        if ("未命名" != n.name) { 
            var t = { id: e.id, pId: e.pid, name: e.name, uuid: e.uuid }; 
            return e.hasEmptyGroup ? (t.icon = "img/folder.png", t.open = null == n.open || n.open) : e.hasChildLayer ? (t.icon = "img/layerGroup.png", t.open = null == n.open || n.open) : (t.icon = "img/layer.png", t.checked = e.isAdded && e.show, 
            n._parent && (t._parent = n._parent.uuid), 
            layersObj[t.uuid] = e), t 
            } 
    } 
} 
function addNode(e) { 
    var n, t = $.fn.zTree.getZTreeObj("treeOverlays"); 
    e.pid && -1 != e.pid && (n = t.getNodeByParam("id", e.pid, null)); 
    var a = _getNodeConfig(e); 
    a && (t.addNodes(n, 0, [a], !0), 
    e.hasChildLayer && e.eachLayer(function (e) { 
        removeNode(e), addNode(e) 
    })) 
} 
function removeNode(e) { 
    var n = $.fn.zTree.getZTreeObj("treeOverlays"), e = n.getNodeByParam("uuid", e.uuid, null); 
    e && n.removeNode(e) 
} 
function updateNode(e) { 
    var n = $.fn.zTree.getZTreeObj("treeOverlays"), t = n.getNodeByParam("uuid", e.uuid, null), a = e.isAdded && e.show; 
    t ? t.checked != a && (t.checkedOld = t.checked, t.checked = a, n.updateNode(t)) : addNode(e, a) 
} 
function treeOverlays_onClick(e, n, t, a) {
    
} 
function treeOverlays_onDblClick(e, n, t) { 
    null == t || null == t.uuid || null != (t = layersObj[t.uuid]) && t.flyTo() 
} 
function treeOverlays_onCheck(e, n, t) { 
    for (var a = $.fn.zTree.getZTreeObj(n), d = a.getChangeCheckedNodes(), r = 0; r < d.length; r++) { 
        var o = d[r]; o.checkedOld = o.checked; var i, l = layersObj[o.uuid]; if (null != l) { if (o.checked ? $("#" + o.tId + "_range").show() : $("#" + o.tId + "_range").hide(), l.options.radio && o.checked) for (var c = a.getNodesByFilter(function (e) { var n = layersObj[e.uuid]; return n.options.radio && n.pid == l.pid && e.uuid != o.uuid }, !1, o.getParentNode()), u = 0; u < c.length; u++)c[u].checkedOld = !1, a.checkNode(c[u], !1, !0), $("#" + c[u].tId + "_range").hide(), layersObj[c[u].uuid].show = !1; o._parent ? (i = layersObj[o._parent], thisWidget.updateLayerShow(l, o.checked, i)) : thisWidget.updateLayerShow(l, o.checked) } } } function addOpacityRangeDom(e, n) { var t, a, d = layersObj[n.uuid]; d && d.hasOpacity && (t = $("#" + n.tId), a = '<input id="' + n.tId + '_range" type="range" style="width: 50px;" />', t.append(a), n.checked || $("#" + n.tId + "_range").hide(), $("#" + n.tId + "_range").range({ min: 0, max: 100, step: 1, value: 100 * (d.opacity || 1), onChange: function (e) { layersObj[n.uuid].opacity = e / 100 } })) } function treeOverlays_OnRightClick(e, n, t) { var a; null == t || (a = layersObj[t.uuid]) && a.hasZIndex && (lastRightClickTreeId = n, lastRightClickTreeNode = t, n = e.clientY, t = e.clientX, (e = document.body.offsetHeight - 100) < n && (n = e), (e = document.body.offsetWidth - 100) < t && (t = e), $("#content_layer_manager_rMenu").css({ top: n + "px", left: t + "px" }).show(), $("body").bind("mousedown", onBodyMouseDown)) } function onBodyMouseDown(e) { "content_layer_manager_rMenu" == e.target.id || 0 < $(e.target).parents("#content_layer_manager_rMenu").length || hideRMenu() } function hideRMenu() { $("body").unbind("mousedown", onBodyMouseDown), $("#content_layer_manager_rMenu").hide() } function bindRightMenuEvnet() { $("#content_layer_manager_rMenu li").on("click", function () { hideRMenu(), moveNodeAndLayer($(this).attr("data-type")) }) } function moveNodeAndLayer(e) { var n = $.fn.zTree.getZTreeObj(lastRightClickTreeId), t = lastRightClickTreeNode.getParentNode(), a = null == t ? n.getNodes() : t.children, d = lastRightClickTreeNode, r = layersObj[d.uuid]; switch (e) { case "up": var o = d.getPreNode(); o && (n.moveNode(o, d, "prev"), exchangeLayer(r, layersObj[o.uuid])); break; case "top": if (0 == d.getIndex()) return; for (; 0 < d.getIndex();) { var i = d.getPreNode(); i && (n.moveNode(i, d, "prev"), exchangeLayer(r, layersObj[i.uuid])) } break; case "down": o = d.getNextNode(); o && (n.moveNode(o, d, "next"), exchangeLayer(r, layersObj[o.uuid])); break; case "bottom": if (d.getIndex() == a.length - 1) return; for (; d.getIndex() < a.length - 1;) { var l = d.getNextNode(); l && (n.moveNode(l, d, "next"), exchangeLayer(r, layersObj[l.uuid])) } }layers.sort(function (e, n) { return e.zIndex - n.zIndex }) } function exchangeLayer(e, n) { var t; null != e && null != n && (t = e.zIndex, e.zIndex = n.zIndex, n.zIndex = t, console.log("".concat(e.name, ":").concat(e.zIndex, ",  ").concat(n.name, ":").concat(n.zIndex))) } function updateCheckd(e, n) { var t = $.fn.zTree.getZTreeObj("treeOverlays"), a = t.getNodesByParam("name", e, null); a && 0 < a.length ? t.checkNode(a[0], n, !1) : console.log("未在图层树上找到图层“" + e + "”,无法自动勾选处理") }