define([
|
'dojo/_base/declare',
|
'dojo/_base/lang',
|
'dojo/_base/array',
|
'dojo/_base/html',
|
'dojo/topic',
|
'jimu/BaseWidget',
|
],
|
function (declare,
|
lang,
|
array,
|
html,
|
topic,
|
BaseWidget
|
) {
|
return declare([BaseWidget], {
|
baseClass: 'jimu-widget-SplitScreen',
|
name: 'SplitScreen',
|
flag: false,
|
startup: function () {
|
var that = this;
|
topic.subscribe("openSplitScreen", lang.hitch(this, this.openSplitScreen));
|
topic.subscribe("closeSplitScreen", lang.hitch(this, this.closeSplitScreen));
|
|
$('#viewportType').click(function () {
|
$(".split-select .split-select-option").toggle();
|
})
|
|
|
$(".split-select .split-select-option li").click(function () {
|
|
if ($(this).text() != $('#viewportType span').text()) {
|
$('#viewportType span').text($(this).text())
|
var value = $(this).attr('label');
|
switch (value) {
|
case "NONE":
|
$("#split_up").css("display", "none");
|
$("#split_bottom").css("display", "none");
|
$("#split_left").css("display", "none");
|
$("#split_right").css("display", "none");
|
$("#split_vertical_trisection_left").css("display", "none");
|
$("#split_vertical_trisection_right").css("display", "none");
|
$('#pannel').hide();
|
break;
|
case "HORIZONTAL":
|
$("#split_up").css("display", "block");
|
$("#split_bottom").css("display", "block");
|
$("#split_left").css("display", "none");
|
$("#split_right").css("display", "none");
|
$("#split_vertical_trisection_left").css("display", "none");
|
$("#split_vertical_trisection_right").css("display", "none");
|
$('#pannel').show();
|
$('#b_one,#b_two,#g_one,#g_two').show();
|
$('#b_three,#g_three,#b_four,#g_four').hide();
|
break;
|
case "VERTICAL":
|
$("#split_up").css("display", "none");
|
$("#split_bottom").css("display", "none");
|
$("#split_left").css("display", "block");
|
$("#split_right").css("display", "block");
|
$("#split_vertical_trisection_left").css("display", "none");
|
$("#split_vertical_trisection_right").css("display", "none");
|
$('#pannel').show();
|
$('#b_one,#b_two,#g_one,#g_two').show();
|
$('#b_three,#g_three,#b_four,#g_four').hide();
|
break;
|
case "TRIPLE":
|
$("#split_up").css("display", "block");
|
$("#split_bottom").css("display", "none");
|
$("#split_left").css("display", "block");
|
$("#split_right").css("display", "block");
|
$("#split_vertical_trisection_left").css("display", "none");
|
$("#split_vertical_trisection_right").css("display", "none");
|
$('#pannel').show();
|
$('#b_one,#b_two,#g_one,#g_two,#b_three,#g_three').show();
|
$('#b_four,#g_four').hide();
|
break;
|
case "VerticalTrisection":
|
$("#split_up").css("display", "none");
|
$("#split_bottom").css("display", "none");
|
$("#split_left").css("display", "none");
|
$("#split_right").css("display", "none");
|
$("#split_vertical_trisection_left").css("display", "block");
|
$("#split_vertical_trisection_right").css("display", "block");
|
$('#b_one,#b_two,#g_one,#g_two,#b_three,#g_three').show();
|
$('#b_four,#g_four').hide();
|
$('#pannel').show();
|
break;
|
default:
|
$("#split_up").css("display", "block");
|
$("#split_bottom").css("display", "block");
|
$("#split_left").css("display", "block");
|
$("#split_right").css("display", "block");
|
$("#split_vertical_trisection_left").css("display", "none");
|
$("#split_vertical_trisection_right").css("display", "none");
|
$('#pannel').show();
|
$('#b_one,#b_two,#g_one,#g_two,#b_three,#g_three,#b_four,#g_four').show();
|
break;
|
}
|
that.map.scene.multiViewportMode = Cesium.MultiViewportMode[value];
|
|
$(".split-select .split-select-option").stop().hide();
|
}
|
})
|
|
$('.jimu-widget-SplitScreen .split-select .close').click(() => {
|
$('.jimu-widget-SplitScreen').hide();
|
that.closeSplitScreen('SplitScreen')
|
})
|
|
},
|
|
openSplitScreen: function (item) {
|
if (item == this.name) {
|
this.flag = true;
|
$('.jimu-widget-SplitScreen').show();
|
}
|
},
|
|
closeSplitScreen: function (item) {
|
var that = this;
|
if (item == this.name) {
|
if (this.flag = true) {
|
this.flag = false;
|
$('#viewportType span').text("不使用分屏");
|
$("#split_up").css("display", "none");
|
$("#split_bottom").css("display", "none");
|
$("#split_left").css("display", "none");
|
$("#split_right").css("display", "none");
|
$("#split_vertical_trisection_left").css("display", "none");
|
$("#split_vertical_trisection_right").css("display", "none");
|
$('#pannel').hide();
|
that.map.scene.multiViewportMode = Cesium.MultiViewportMode['NONE'];
|
$('.jimu-widget-SplitScreen').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);
|
}
|
|
});
|
});
|