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; console.log(item,this.name) 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); } }); });