///////////////////////////////////////////////////////////////////////////
// Copyright © 2019 zhongsong. All Rights Reserved.
// 模块描述: 图层管理
///////////////////////////////////////////////////////////////////////////
define([
'dojo/_base/declare',
'dojo/_base/lang',
'dojo/_base/array',
'dojo/_base/html',
'dojo/topic',
'jimu/BaseWidget',
'jimu/utils',
'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
'libs/zTree_v3/js/jquery.ztree.all',
'libs/layer/layer.js'
],
function (declare,
lang,
array,
html,
topic,
BaseWidget,
aspect,
string,
utils,
layer
) {
return declare([BaseWidget], {
baseClass: 'jimu-widget-Layermanagement',
name: 'Layermanagement',
dataArr: [],
startup: function () {
var that = this;
// 暴露在外的接口
topic.subscribe("appendItem", lang.hitch(this, this.appendItem));
topic.subscribe("removeItem", lang.hitch(this, this.removeItem));
topic.subscribe("appendTilt", lang.hitch(this, this.appendTilt));
topic.subscribe("removeTilt", lang.hitch(this, this.removeTilt));
$(".jimu-widget-Layermanagement .layer-tab>div").click(function () {
topic.publish('closeTool', this.name);
topic.publish('closeMap', this.name);
topic.publish('closeNavigation', this.name);
$(".jimu-widget-Layermanagement .layer-list").stop().toggle();
if ($(".jimu-widget-Layermanagement .layer-list").is(":hidden")) {
$(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
}
})
$(".jimu-widget-Layermanagement .sign-head-th-xx").click(function () {
$(".jimu-widget-Layermanagement .layer-list").stop().hide();
$(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
})
$(".jimu-widget-Layermanagement .layer-list .layers-item").on("click", "li .layer-opacity", function () {
var layerId = $(this).parents('li').attr('itemid');
var layerTitle = $(this).parents('li').attr('itemtitle');
var liC = `
${layerTitle}
`;
$(".jimu-widget-Layermanagement .tree-layer-opcity ul").empty();
$(".jimu-widget-Layermanagement .tree-layer-opcity ul").append(liC)
$(".jimu-widget-Layermanagement .tree-layer-opcity").stop().show();
layui.use("slider", function () {
layui.slider.render({
elem: '#' + layerId + 'Layer',
min: 0,
max: 10,
value: that[layerId].alpha * 10,
step: 1,
theme: '#1E9FFF',
setTips: function (value) { //自定义提示文本
return value / 10;
},
change: function (value) {
that[layerId].alpha = value / 10
}
});
})
})
$(".jimu-widget-Layermanagement .layer-list .layers-item").on("click", "li .setup", function () {
var layerId = $(this).parents('li').attr('itemid');
that.map.scene.imageryLayers.raise(that[layerId]);
if ($(this).parents('li').prev().length > 0) {
$(this).parents('li').prev().before($(this).parents('li'));
}
})
$(".jimu-widget-Layermanagement .layer-list .layers-item").on("click", "li .setdown", function () {
var layerId = $(this).parents('li').attr('itemid');
that.map.scene.imageryLayers.lower(that[layerId]);
if ($(this).parents('li').next().length > 0) {
$(this).parents('li').next().after($(this).parents('li'));
}
})
$(".jimu-widget-Layermanagement .tree-layer-opcity .close").click(function () {
$(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
})
},
appendItem: function (item, obj, layer) {
var that = this;
if (item == this.name) {
$(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().hide();
var flag = true;
var liList = $(".jimu-widget-Layermanagement .layer-list .layers-item li");
for (var i = 0; i < liList.length; i++) {
if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) {
flag = false
}
}
if (flag == true) {
var liItem = $(" " +
"
" +
obj.title +
"" +
"
" +
"
" +
"
" +
"
");
that[obj.id] = layer;
$(".jimu-widget-Layermanagement .layer-list .layers-item").prepend(liItem);
}
}
},
appendTilt: function (item, obj, layer) {
var that = this;
if (item == this.name) {
$(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().hide();
var flag = true;
var liList = $(".jimu-widget-Layermanagement .layer-list .layers-title li");
for (var i = 0; i < liList.length; i++) {
if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) {
flag = false
}
}
if (flag == true) {
var liItem = $(" " +
"" +
obj.title +
"" +
"
");
$(".jimu-widget-Layermanagement .layer-list .layers-title").prepend(liItem);
}
}
},
removeItem: function (item, obj) {
if (item == this.name) {
var liList = $(".jimu-widget-Layermanagement .layer-list .layers-item li");
for (var i = 0; i < liList.length; i++) {
if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) {
$(liList[i]).remove();
}
}
if ($(".jimu-widget-Layermanagement .layer-list .layers-item li").length == 1 && $(".jimu-widget-Layermanagement .layer-list .layers-title li").length == 0) {
$(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().show();
$(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
}
}
},
removeTilt: function (item, obj) {
if (item == this.name) {
var liList = $(".jimu-widget-Layermanagement .layer-list .layers-title li");
for (var i = 0; i < liList.length; i++) {
if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) {
$(liList[i]).remove();
}
}
if ($(".jimu-widget-Layermanagement .layer-list .layers-item li").length == 1 && $(".jimu-widget-Layermanagement .layer-list .layers-title li").length == 0) {
$(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().show();
$(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
}
}
},
onOpen: function () {
},
onClose: function () {
//面板关闭的时候触发 (when this panel is closed trigger)
},
onMinimize: function () {
this.resize();
},
onMaximize: function () {
this.resize();
},
resize: function () {
},
destroy: function () {
//销毁的时候触发
//todo
//do something before this func
this.inherited(arguments);
}
});
});