liuyg
2021-06-04 ca1b473b0965ad5d036348a5f9f88160c1ceb47d
widgets/SplitScreen/Widget.js
New file
@@ -0,0 +1,141 @@
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',
            startup: function () {
                var that = this;
                // 点击x隐藏面板
                $('#viewportType').change(function () {
                });
                $('#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 .close').click(function () {
                    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);
            }
        });
    });