From d1e0acaeffecb0da9cb1c8d61b14a3b719d7bb73 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 26 九月 2024 14:24:41 +0800
Subject: [PATCH] #新地图

---
 src/main/webapp/views/wcsmap/wcsmap.html |  575 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 361 insertions(+), 214 deletions(-)

diff --git a/src/main/webapp/views/wcsmap/wcsmap.html b/src/main/webapp/views/wcsmap/wcsmap.html
index 1ad55b0..2a548c3 100644
--- a/src/main/webapp/views/wcsmap/wcsmap.html
+++ b/src/main/webapp/views/wcsmap/wcsmap.html
@@ -1,14 +1,16 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>wcs鐩戞帶鍥�</title>
     <link rel="stylesheet" href="wcsmap.css">
-    <script type="text/javascript" src="mapData.json"></script>
+    <script type="text/javascript" src="mapData.js"></script>
     <script src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
     <script src="pixijs.js"></script>
     <script src="vue.min.js"></script>
+    <script src="../../static/js/common.js"></script>
     <style>
         .tooltip {
             position: absolute;
@@ -22,244 +24,389 @@
         }
     </style>
 </head>
-<body>
-<div id="app">
-    <div id="pixiView">
 
+<body>
+    <div id="app">
+        <div id="pixiView">
+
+        </div>
+        <div style="position: absolute;top: 20px;left: 20px;font-size: 40px;color: white;">
+            <div>鑷姩浠撳簱WCS鐩戞帶鍥�</div>
+            <div style="font-size: 13px;">AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</div>
+        </div>
+        <!--杈撳嚭鎿嶄綔鍜孎PS-->
+        <div
+            style="position: absolute;top: 20px;right: 50px;background-color: #fff;height: 30px;width: 80px;text-align: center;line-height: 30px;border-radius: 4px;">
+            <div>FPS:{{mapFps}}</div>
+        </div>
     </div>
-    <!--杈撳嚭鎿嶄綔鍜孎PS-->
-    <div style="position: absolute;top: 20px;right: 50px;">
-        <div>FPS:{{mapFps}}</div>
     </div>
-    <div id="tooltip" class="tooltip">111</div>
-    <p style="position: absolute;top: 20px;right: 100px;" data-tooltip="1232131">666666666</p>
-</div>
-</div>
 </body>
+
 </html>
 
 <script>
+    let pixiApp;
     let objectsContainer;
     var tooltip = document.getElementById('tooltip');
     var app = new Vue({
         el: '#app',
         data: {
             mapFps: 0,
+            sites: ['185', '186', '240', "250", "299"],
+            conveyor: []
         },
-        created(){
-            console.log(mapData);
+        created() {
+            mapData
+
         },
-    })
-    let pixiApp = new PIXI.Application({
-        resizeTo: window,
-        backgroundColor: 0x1f3366
-    })
-    $("#pixiView").append(pixiApp.view)
-    // 鍔犺浇浣嶅浘璧勬簮
-    PIXI.Loader.shared.add('ChillRoundF','./image_font.xml.fnt').load();
-    function onAssetsLoaded() {
-        createText();
-    }
-    function createText() {
-        // let text = new PIXI.BitmapText('123',{
-        //     fontName: 'font',
-        //     fontSize: 16,
-        //     tint: 0xffffff
-        // })
-        // text.x = 100;
-        // text.y = 100;
-        // pixiApp.stage.addChild(text)
-    }
-    //*******************鎷栧姩鐢诲竷*******************
-    let stageOriginalPos;
-    let mouseDownPoint;
-    let touchBlank = false;
-    let touchOver = false;
-    pixiApp.renderer.plugins.interaction.on(
-        'pointerdown',
-        (event) => {
-            const globalPos = event.data.global;
-            // 璁板綍涓媠tage鍘熸潵鐨勪綅缃�
-            stageOriginalPos = [pixiApp.stage.position._x, pixiApp.stage.position._y];
-            // 璁板綍涓媘ouse down鐨勪綅缃�
-            mouseDownPoint = [globalPos.x, globalPos.y];
-            if (!event.target) {
-                // 鐐瑰埌浜嗙敾甯冪殑绌虹櫧浣嶇疆
-                touchBlank = true;
-            }
-        }
-    );
+        mounted() {
+            this.createMapData()
+            this.createMap()
+
+            setInterval(() => {
+                this.getSiteInfo()
+            }, 1000)
+
+        },
+        methods: {
+            createMapData() {
+                this.conveyor = mapData.conveyor
+                console.log(this.conveyor);
+
+            },
+            getSiteInfo() {
+                $.ajax({
+                    url: baseUrl + "/console/latest/data/site",
+                    headers: { 'token': localStorage.getItem('token') },
+                    method: 'POST',
+                    success: function (res) {
+                        if (res.code === 200) {
+                            var sites = res.data;
+                            pixiApp.stage.children[0].children.forEach((item, index) => {
+                                // updateColor(item, item.originColor);
+                                for (let site of sites) {
+                                    if (site.siteId == item.title) {
+                                        var conve = this.conveyor.find(con => con.title == site.siteId)
+                                        
+                                        if (site.siteStatus == 'site-auto-run-id') {
+                                            // 鑷姩+鏈夌墿+ID
+                                            conve.background = 0xFC3030
+                                        
+                                        } else if (site.siteStatus == 'site-auto-run') {
+                                            // 鑷姩+鏈夌墿
+                                            conve.background = 0xFF51F6
+                                        
+                                        } else if (site.siteStatus == 'site-auto-id') {
+                                            // 鑷姩+ID
+                                            conve.background = 0xC4C400
+                                        
+                                        } else if (site.siteStatus == 'site-auto') {
+                                            // 鑷姩
+                                            conve.background = 0x78FF81
+                                        
+                                        } else if (site.siteStatus == 'site-unauto') {
+                                            // 闈炶嚜鍔�/鎵嬪姩
+                                            conve.background = 0xB8B8B8
+                                        }
+                                        this.updateColor(item, conve)
+                                    }
+                                }
+                                // for (let k of this.sites) {
+                                //     if (item.title == k) {
+                                //         for (let con of this.conveyor) {
+                                //             if (k == con.title) {
+                                //                 con.background = 0xFF0000
+                                //                 this.updateColor(item, con)
+                                //             }
+                                //         }
+
+                                //     }
+                                // }
+
+                            });
+                        } else if (res.code === 403) {
+                            parent.location.href = baseUrl + "/login";
+                        } else {
+                            console.log(res.msg);
+                        }
+                    }
+                })
 
 
-    pixiApp.renderer.plugins.interaction.on(
-        'pointermove',
-        (event) => {
-            const globalPos = event.data.global;
 
-            if (touchBlank) {
-                // 鎷栨嫿鐢诲竷
-                const dx = globalPos.x - mouseDownPoint[0];
-                const dy = globalPos.y - mouseDownPoint[1];
-                pixiApp.stage.position.set(
-                    stageOriginalPos[0] + dx,
-                    stageOriginalPos[1] + dy
+            },
+            updateColor(rectangle, conveyor) {
+                rectangle.clear()
+                rectangle.beginFill(conveyor.background);
+                rectangle.drawRect(0, 0, conveyor.width, conveyor.height);
+                rectangle.endFill();
+            },
+            createMap() {
+                pixiApp = new PIXI.Application({
+                    resizeTo: window,
+                    backgroundColor: 0x1f3366
+                })
+                $("#pixiView").append(pixiApp.view)
+                // 鍔犺浇浣嶅浘璧勬簮
+                PIXI.Loader.shared.add('ChillRoundF', './image_font.xml.fnt').load();
+                function onAssetsLoaded() {
+                    createText();
+                }
+                function createText() {
+                    let text = new PIXI.BitmapText('123', {
+                        fontName: 'ChillRoundF',
+                        fontSize: 16,
+                        tint: 0xffffff
+                    })
+                    text.x = 100;
+                    text.y = 100;
+                    pixiApp.stage.addChild(text)
+                }
+                //*******************鎷栧姩鐢诲竷*******************
+                let stageOriginalPos;
+                let mouseDownPoint;
+                let touchBlank = false;
+                let touchOver = false;
+                pixiApp.renderer.plugins.interaction.on(
+                    'pointerdown',
+                    (event) => {
+                        const globalPos = event.data.global;
+                        // 璁板綍涓媠tage鍘熸潵鐨勪綅缃�
+                        stageOriginalPos = [pixiApp.stage.position._x, pixiApp.stage.position._y];
+                        // 璁板綍涓媘ouse down鐨勪綅缃�
+                        mouseDownPoint = [globalPos.x, globalPos.y];
+                        if (!event.target) {
+                            // 鐐瑰埌浜嗙敾甯冪殑绌虹櫧浣嶇疆
+                            touchBlank = true;
+                        }
+                    }
                 );
+
+
+                pixiApp.renderer.plugins.interaction.on(
+                    'pointermove',
+                    (event) => {
+                        const globalPos = event.data.global;
+
+                        if (touchBlank) {
+                            // 鎷栨嫿鐢诲竷
+                            const dx = globalPos.x - mouseDownPoint[0];
+                            const dy = globalPos.y - mouseDownPoint[1];
+                            pixiApp.stage.position.set(
+                                stageOriginalPos[0] + dx,
+                                stageOriginalPos[1] + dy
+                            );
+                        }
+                    }
+                );
+
+                pixiApp.renderer.plugins.interaction.on(
+                    'pointerup',
+                    (event) => {
+                        touchBlank = false;
+                    }
+                );
+                // pixiApp.renderer.plugins.interaction.on(
+                //     'mouseover',
+                //     (event) => {
+                //         const globalPos = event.data.global;
+                //             console.log(globalPos);
+                //     }
+                // );
+
+                //*******************鎷栧姩鐢诲竷*******************
+
+                //*******************缂╂斁鐢诲竷*******************
+                pixiApp.view.addEventListener('wheel', (event) => {
+                    event.stopPropagation();
+                    event.preventDefault();
+                    // 鍥犱负鐢诲竷鏄厖婊¤绐楃殑锛屾墍浠lientX绛変簬mouse point鍦╮enderer涓婄殑x鍧愭爣
+                    const globalPos = [event.clientX, event.clientY];
+                    const delta = event.deltaY;
+                    const oldZoom = pixiApp.stage.scale.x;
+                    let newZoom = oldZoom * 0.999 ** delta;
+
+                    // const oldStageMatrix = app.stage.localTransform.clone();
+                    // const oldStagePos = oldStageMatrix.applyInverse(pointerGlobalPos);
+                    const oldStagePos = globalPos;
+                    const dx = oldStagePos[0] * oldZoom - oldStagePos[0] * newZoom;
+                    const dy = oldStagePos[1] * oldZoom - oldStagePos[1] * newZoom;
+
+                    pixiApp.stage.setTransform(
+                        pixiApp.stage.position.x + dx,
+                        pixiApp.stage.position.y + dy,
+                        newZoom,
+                        newZoom,
+                        0,
+                        0,
+                        0,
+                        0,
+                        0
+                    );
+
+                });
+                //*******************缂╂斁鐢诲竷*******************
+
+                // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
+                objectsContainer = new PIXI.Container();
+                pixiApp.stage.addChild(objectsContainer);
+
+
+                //*******************FPS*******************
+                var g_Time = 0;
+                pixiApp.ticker.add((delta) => {
+                    var timeNow = (new Date()).getTime();
+                    var timeDiff = timeNow - g_Time;
+                    g_Time = timeNow;
+                    var fps = 1000 / timeDiff;
+                    this.mapFps = parseInt(fps)
+                });
+                //*******************FPS*******************
+                for (let k of mapData.plant) {
+                    let rectangle = new PIXI.Graphics();
+                    rectangle.beginFill(k.background);
+                    rectangle.originColor = k.background;
+                    rectangle.drawRect(0, 0, k.width, k.height);
+                    rectangle.x = k.x;
+                    rectangle.y = k.y;
+                    objectsContainer.addChild(rectangle);
+                    var hel = `${k.title}`
+                    var text = new PIXI.Text(hel, {
+                        fontFamily: 'Arial',
+                        fontSize: 36,
+                        fill: '#FFFFFF', // 鐧借壊
+                        align: 'center',
+                    })
+                    text.x = k.titleX;
+                    text.y = k.titleY;
+                    // pixiApp.stage.addChild(text)
+                    // let text = new PIXI.Text('Hello!', { fontFamily: 'Arial', fontSize: 20, fill: 0x000000 ,resolution: pixiApp.renderer.resolution,antialias: true});
+                    // text.x = 1000;
+                    // text.y = 2000;
+                    text.resolution = pixiApp.renderer.resolution;
+                    pixiApp.stage.addChild(text);
+                }
+
+                for (let k of mapData.legend) {
+                    let rectangle = new PIXI.Graphics();
+                    rectangle.beginFill(k.background);
+                    rectangle.originColor = k.background;
+                    rectangle.drawRect(0, 0, k.width, k.height);
+                    rectangle.x = k.x;
+                    rectangle.y = k.y;
+                    objectsContainer.addChild(rectangle);
+                    var hel = `${k.title}`
+                    var text = new PIXI.Text(hel, {
+                        fontFamily: 'Arial',
+                        fontSize: 18,
+                        fill: '#FFFFFF', // 鐧借壊
+                        align: 'center',
+                    })
+                    text.x = k.titleX;
+                    text.y = k.titleY;
+                    // pixiApp.stage.addChild(text)
+                    // let text = new PIXI.Text('Hello!', { fontFamily: 'Arial', fontSize: 20, fill: 0x000000 ,resolution: pixiApp.renderer.resolution,antialias: true});
+                    // text.x = 1000;
+                    // text.y = 2000;
+                    text.resolution = pixiApp.renderer.resolution;
+                    pixiApp.stage.addChild(text);
+                }
+
+                for (let k of mapData.conveyor) {
+                    let rectangle = new PIXI.Graphics();
+                    rectangle.beginFill(k.background);
+                    // rectangle.originColor = k.background;
+                    rectangle.alpha = k.alpha ? k.alpha : 1
+                    rectangle.drawRect(0, 0, k.width, k.height);
+                    rectangle.x = k.x;
+                    rectangle.y = k.y;
+                    rectangle.title = k.title
+                    rectangle.interactive = true
+                    rectangle.cursor = "pointer"
+                    rectangle.on('mouseover', onMouseOver)
+                    function onMouseOver(event) {
+                        rectangle.alpha = k.alpha ? k.alpha : 1
+                        console.log(event);
+                        // 鍒涘缓鍐呭妗�
+                        let tooltip = new PIXI.Graphics();
+                        tooltip.beginFill(0xFFFFFF); // 鍐呭妗嗚儗鏅鑹�
+                        tooltip.lineStyle(1, 0x000000); // 鍐呭妗嗚竟妗嗘牱寮�
+                        tooltip.drawRect(0, 0, 100, 40); // 缁樺埗鍐呭妗�
+                        tooltip.x = event.data.global.x; // 鏍规嵁榧犳爣浣嶇疆璋冩暣鍐呭妗嗕綅缃�
+                        tooltip.y = event.data.global.y;
+                        pixiApp.stage.addChild(tooltip);
+
+                        // 璁$畻鍐呭妗嗙殑浣嶇疆锛屼娇鍏跺湪榧犳爣鍙充笅瑙掑亸绉�10鍍忕礌澶�
+                        tooltip.x = event.currentTarget.x + event.currentTarget.width + 10;
+                        tooltip.y = event.currentTarget.y + event.currentTarget.height + 10;
+                        // 娣诲姞鏂囨湰鍒板唴瀹规
+                        var hel = `绔欑偣缂栧彿锛�${k.title}`
+                        let text = new PIXI.BitmapText(hel, {
+                            fontName: 'ChillRoundF',
+                            fontSize: 16,
+                            tint: 0xffffff
+                        })
+                        // text.x = 100;
+                        // text.y = 100;
+                        // pixiApp.stage.addChild(text)
+                        // let text = new PIXI.Text('Hello!', { fontFamily: 'Arial', fontSize: 20, fill: 0x000000 ,resolution: pixiApp.renderer.resolution,antialias: true});
+                        text.x = tooltip.x;
+                        text.y = tooltip.y;
+                        text.resolution = pixiApp.renderer.resolution;
+                        pixiApp.stage.addChild(text);
+
+                        // 鐩戝惉榧犳爣绉诲嚭浜嬩欢锛岀Щ闄ゅ唴瀹规
+                        rectangle.on('mouseout', () => {
+                            rectangle.alpha = k.alpha ? k.alpha : 1
+                            pixiApp.stage.removeChild(tooltip);
+                            pixiApp.stage.removeChild(text);
+                        });
+                    }
+                    objectsContainer.addChild(rectangle);
+                }
+                let shelf1 = mapData.shelf1
+                for (let j in shelf1) {
+                    let k = shelf1[j]
+                    let y = k.y
+                    for (let i = 0; i < k.anfme; i++) {
+                        let rectangle = new PIXI.Graphics();
+                        rectangle.beginFill(0xffffff);
+                        // rectangle.lineStyle(1, 0xffffff);
+                        rectangle.drawRect(0, 0, k.unitX - 2, k.unitY - 2);
+                        rectangle.x = k.x + k.unitX * i;
+                        rectangle.y = y;
+                        objectsContainer.addChild(rectangle);
+                    }
+                }
+
+                let shelf2 = mapData.shelf2
+                for (let j in shelf2) {
+                    let k = shelf2[j]
+                    let y = k.y
+                    for (let i = 0; i < k.anfme; i++) {
+                        let rectangle = new PIXI.Graphics();
+                        rectangle.beginFill(0xffffff);
+                        // rectangle.lineStyle(1, 0xffffff);
+                        rectangle.drawRect(0, 0, k.unitX - 2, k.unitY);
+                        rectangle.x = k.x + k.unitX * i;
+                        rectangle.y = y;
+                        objectsContainer.addChild(rectangle);
+                    }
+                }
+
+
+
+
+
             }
         }
-    );
 
-    pixiApp.renderer.plugins.interaction.on(
-        'pointerup',
-        (event) => {
-            touchBlank = false;
-        }
-    );
-    // pixiApp.renderer.plugins.interaction.on(
-    //     'mouseover',
-    //     (event) => {
-    //         const globalPos = event.data.global;
-    //             console.log(globalPos);
-    //     }
-    // );
-
-    //*******************鎷栧姩鐢诲竷*******************
-
-    //*******************缂╂斁鐢诲竷*******************
-    pixiApp.view.addEventListener('wheel', (event) => {
-        event.stopPropagation();
-        event.preventDefault();
-        // 鍥犱负鐢诲竷鏄厖婊¤绐楃殑锛屾墍浠lientX绛変簬mouse point鍦╮enderer涓婄殑x鍧愭爣
-        const globalPos = [event.clientX, event.clientY];
-        const delta = event.deltaY;
-        const oldZoom = pixiApp.stage.scale.x;
-        let newZoom = oldZoom * 0.999 ** delta;
-
-        // const oldStageMatrix = app.stage.localTransform.clone();
-        // const oldStagePos = oldStageMatrix.applyInverse(pointerGlobalPos);
-        const oldStagePos = globalPos;
-        const dx = oldStagePos[0] * oldZoom - oldStagePos[0] * newZoom;
-        const dy = oldStagePos[1] * oldZoom - oldStagePos[1] * newZoom;
-
-        pixiApp.stage.setTransform(
-            pixiApp.stage.position.x + dx,
-            pixiApp.stage.position.y + dy,
-            newZoom,
-            newZoom,
-            0,
-            0,
-            0,
-            0,
-            0
-        );
-
-    });
-    //*******************缂╂斁鐢诲竷*******************
-
-    // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
-    objectsContainer = new PIXI.Container();
-    pixiApp.stage.addChild(objectsContainer);
+    })
 
 
-    //*******************FPS*******************
-    var g_Time=0;
-    pixiApp.ticker.add((delta) => {
-        var timeNow = (new Date()).getTime();
-        var timeDiff = timeNow - g_Time;
-        g_Time = timeNow;
-        var fps = 1000 / timeDiff;
-        this.mapFps = parseInt(fps)
-    });
-    //*******************FPS*******************
-    for (let k of mapData.plant) {
-        let rectangle = new PIXI.Graphics();
-        rectangle.beginFill(k.background);
-        rectangle.originColor = k.background;
-        rectangle.drawRect(0, 0, k.width, k.height);
-        rectangle.x = k.x;
-        rectangle.y = k.y;
-        objectsContainer.addChild(rectangle);
-    }
 
-    for (let k of mapData.conveyor) {
-        let rectangle = new PIXI.Graphics();
-        rectangle.beginFill(k.background);
-        rectangle.originColor = k.background;
-        rectangle.alpha=k.alpha ? k.alpha : 1
-        rectangle.drawRect(0, 0, k.width, k.height);
-        rectangle.x = k.x;
-        rectangle.y = k.y;
-        rectangle.interactive = true
-        rectangle.cursor = "pointer"
-        rectangle.on('mouseover', onMouseOver)
-        function onMouseOver(event) {
-            console.log(event);
-            // 鍒涘缓鍐呭妗�
-            let tooltip = new PIXI.Graphics();
-            tooltip.beginFill(0xFFFFFF); // 鍐呭妗嗚儗鏅鑹�
-            tooltip.lineStyle(1, 0x000000); // 鍐呭妗嗚竟妗嗘牱寮�
-            tooltip.drawRect(0, 0, 100, 40); // 缁樺埗鍐呭妗�
-            tooltip.x = event.data.global.x; // 鏍规嵁榧犳爣浣嶇疆璋冩暣鍐呭妗嗕綅缃�
-            tooltip.y = event.data.global.y;
-            pixiApp.stage.addChild(tooltip);
 
-            // 璁$畻鍐呭妗嗙殑浣嶇疆锛屼娇鍏跺湪榧犳爣鍙充笅瑙掑亸绉�10鍍忕礌澶�
-            tooltip.x = event.currentTarget.x + event.currentTarget.width + 10;
-            tooltip.y = event.currentTarget.y + event.currentTarget.height + 10;
-            // 娣诲姞鏂囨湰鍒板唴瀹规
-            var hel = `绔欑偣缂栧彿锛�${k.title}`
-            let text = new PIXI.BitmapText(hel,{
-                fontName: 'ChillRoundF',
-                fontSize: 16,
-                tint: 0xffffff
-            })
-            // text.x = 100;
-            // text.y = 100;
-            // pixiApp.stage.addChild(text)
-            // let text = new PIXI.Text('Hello!', { fontFamily: 'Arial', fontSize: 20, fill: 0x000000 ,resolution: pixiApp.renderer.resolution,antialias: true});
-            text.x = tooltip.x;
-            text.y = tooltip.y;
-            text.resolution = pixiApp.renderer.resolution;
-            pixiApp.stage.addChild(text);
-
-            // 鐩戝惉榧犳爣绉诲嚭浜嬩欢锛岀Щ闄ゅ唴瀹规
-            rectangle.on('mouseout', () => {
-                pixiApp.stage.removeChild(tooltip);
-                pixiApp.stage.removeChild(text);
-            });
-        }
-        objectsContainer.addChild(rectangle);
-    }
-    let shelf1 = mapData.shelf1
-    for (let j in shelf1) {
-        let k = shelf1[j]
-        let y = k.y 
-        for (let i = 0; i < k.anfme; i++) {
-            let rectangle = new PIXI.Graphics();
-            rectangle.beginFill(0xffffff);
-            // rectangle.lineStyle(1, 0xffffff);
-            rectangle.drawRect(0, 0, k.unitX-2, k.unitY-2);
-            rectangle.x = k.x + k.unitX * i;
-            rectangle.y = y;
-            objectsContainer.addChild(rectangle);
-        }
-    }
-
-    let shelf2 = mapData.shelf2
-    for (let j in shelf2) {
-        let k = shelf2[j]
-        let y = k.y 
-        for (let i = 0; i < k.anfme; i++) {
-            let rectangle = new PIXI.Graphics();
-            rectangle.beginFill(0xffffff);
-            // rectangle.lineStyle(1, 0xffffff);
-            rectangle.drawRect(0, 0, k.unitX-2, k.unitY);
-            rectangle.x = k.x + k.unitX * i;
-            rectangle.y = y;
-            objectsContainer.addChild(rectangle);
-        }
-    }
-
-    
 
 
 
@@ -282,5 +429,5 @@
     //         tooltip.style.display = 'none'
     //     })
     // })
-    
+
 </script>
\ No newline at end of file

--
Gitblit v1.9.1