class MainPanel {
    constructor(app) {
        this.app = app;
        this.panels_znyg = [];
        this.panels_znjk = [];
        this.panels_znef = [];
        this.toolBar = null;
        this.toolImgs = {};
        this.isExpandBuilding = false;
        this.createToolsPanel();
        this.building = this.app.buildings[0];
    }
    // 创建工具面板
    createToolsPanel() {
        var that = this;

        //  this.toolBar = THING.widget.ToolBar({ width: '12%', media: true,captionPos:'hover',opacity:0.5});
        this.toolBar = THING.widget.Banner({ column: 'left', width: '20px', media: true, captionPos: 'hover', opacity: 0.8 });
        this.toolBar.data = { znsx: false, enterBuilding: false, expandBuilding: false, deviceShow: false, electricalFire: false };
        this.toolBar.setPosition({ right: 0, top: 60 });
        this.toolImgs.img3 = this.toolBar.addImageBoolean(this.toolBar.data, 'enterBuilding').name('进入建筑').imgUrl(baseURL + 'ySWsxA.png');
        this.toolImgs.img4 = this.toolBar.addImageBoolean(this.toolBar.data, 'expandBuilding').name('楼层展开').imgUrl(baseURL + 'ySWr2d.png');
        this.toolImgs.img6 = this.toolBar.addImageBoolean(this.toolBar.data, 'deviceShow').name('建筑透视').imgUrl(baseURL + 'ySWD8H.png');
        this.toolImgs.img3.on('change', function (boolValue) { that.onChangeImageButton('enterBuilding', boolValue); });
        this.toolImgs.img4.on('change', function (boolValue) { that.onChangeImageButton('expandBuilding', boolValue); });
        this.toolImgs.img6.on('change', function (boolValue) { that.onChangeImageButton('deviceShow', boolValue); });

    }
    // 处理工具条按钮
    onChangeImageButton(key, boolValue) {
        var that = this;
        if (key == "enterBuilding") { // 进入建筑/室外
            this.goinBuild(boolValue);

        } else if (key == "deviceShow") {//展示全部设备隐藏楼层\
            var devicList = [];
            var build = app.buildings[0]
            var opacity = build.style.opacity;// 0 为全透明 ，1 为不透明
            build.style.opacity = (opacity > 0.8) ? 0.1 : 1.0;
            var deviceArray = app.query('["userData/物体类型"="烟感"]');
            devicList.push(deviceArray)
            if (boolValue) {
                flash(devicList);
                this.goinBuild(boolValue);
                //    updateData();
            }
            else {
                reset(devicList);
            }
        }
        else if (key == "expandBuilding") { // 楼层横向展开
            this.app.level.change(app.buildings[0]); // 进入建筑
            if (boolValue) {
                this.building.expandFloors({
                    'time': 1000,
                    'length': 4,
                    'horzMode': false,
                    'hideRoof': true,
                    'complete': function () {

                        that.isExpandBuilding = true;
                    }
                })
            } else {
                this.building.unexpandFloors({
                    'time': 500,
                    'complete': function () { that.isExpandBuilding = false; }
                })
            }
        }
    }
    // 展开的楼层收回去
    resetExpand() {
        var that = this;
        if (this.isExpandBuilding) {
            this.toolBar.data.expandBuilding = false;
            this.building.unexpandFloors({
                'time': 500,
                'complete': function () { that.isExpandBuilding = false; }
            })
        }
    }
    goinBuild(boolValue) {
        delMydiv();
        this.resetExpand();
        var name = boolValue ? '返回室外' : '进入建筑';
        this.toolImgs.img3.name(name);
        if (boolValue) {
            removeMark();
            this.app.level.change(app.buildings[0]);
            var domDiv = document.getElementById('bottomBackground');
            if (domDiv) {
                domDiv.remove();
            }
        }
        else {
            this.app.level.change(app.root.campuses[0]);
        }
    }
}