Cleanup : Remove the custom graph library and browserify 25/24925/1
authorMaxime Millette-Coulombe <mmcoulombe@inocybe.com>
Fri, 7 Aug 2015 14:03:10 +0000 (10:03 -0400)
committerMaxime Millette-Coulombe <mmcoulombe@inocybe.com>
Fri, 7 Aug 2015 14:03:10 +0000 (10:03 -0400)
Change-Id: Idc8df2d33fccb040691336413f8b421fd57d3748
Signed-off-by: Maxime Millette-Coulombe <mmcoulombe@inocybe.com>
dlux-web/Gruntfile.js
dlux-web/bower.json
dlux-web/build.config.js
dlux-web/package.json
modules/graph-resources/pom.xml [deleted file]
modules/graph-resources/src/main/resources/graph/eventListener.js [deleted file]
modules/graph-resources/src/main/resources/graph/index.js [deleted file]
modules/graph-resources/src/main/resources/graph/renderer.js [deleted file]
modules/pom.xml

index c83aa9f53ef1ae4168a05d6d4d3a20fb265a8755..824a6d40f501c691fdce7b7b99dd97c142ea6607 100644 (file)
@@ -9,7 +9,6 @@ module.exports = function ( grunt ) {
    * Load required Grunt tasks. These are installed based on the versions listed\r
    * in `package.json` when you do `npm install` in this directory.\r
    */\r
-  grunt.loadNpmTasks('grunt-browserify');\r
   grunt.loadNpmTasks('grunt-contrib-clean');\r
   grunt.loadNpmTasks('grunt-contrib-copy');\r
   grunt.loadNpmTasks('grunt-contrib-jshint');\r
@@ -240,17 +239,6 @@ module.exports = function ( grunt ) {
         ]\r
       }\r
     },\r
-    browserify: {\r
-        dist: {\r
-            src: ['src/app/graph/index.js'],\r
-            dest: 'src/assets/js/graphRenderer.js',\r
-            options: {\r
-              browserifyOptions: {\r
-                standalone: 'DLUX'\r
-              }\r
-            }\r
-        }\r
-    },\r
 \r
     /**\r
      * `grunt concat` concatenates multiple source files into a single file.\r
@@ -646,7 +634,7 @@ module.exports = function ( grunt ) {
    */\r
   grunt.registerTask( 'common', [\r
       'clean', 'html2js', 'jshint', 'less:development',\r
-      'concat:build_css', 'browserify:dist', 'copy:build_app_assets', 'copy:build_vendor_assets',\r
+      'concat:build_css', 'copy:build_app_assets', 'copy:build_vendor_assets',\r
       'copy:build_appjs', 'copy:copy_template', 'copy:build_vendorimages', 'copy:build_vendorjs', 'copy:build_vendorcss', 'karmaconfig', 'index:build'\r
   ]);\r
 \r
index 24c7875e6088f714b4247ed5f712fc1d44634633..4e0abcfe0b08ca32577d75a3d504c02bf3cf0bca 100644 (file)
@@ -28,8 +28,7 @@
     "angular-translate-loader-static-files": "2.2.0",
     "vis": "2.0.0",
     "sigma": "https://github.com/jacomyal/sigma.js/releases/download/v1.0.3/release-v1.0.3.zip",
-    "ng-slider": "2.2.2",
-    "pixi": "~2.2.5"
+    "ng-slider": "2.2.2"
   },
   "devDependencies": {
     "angular": "~1.4.0",
index 27422858783a639b1ae1b76ec77d6917b3a3779f..de9e2cccadb2465f039b55f58deff4c5a6ffe85c 100644 (file)
@@ -30,8 +30,6 @@ module.exports = {
 \r
     html: [ 'src/index.html'],\r
     less: 'src/less/main.less',\r
-    graph_path: 'src/app/graph',\r
-    graph_entry_point: 'index.js',\r
     templates: ['src/**/*.tpl.html']\r
   },\r
 \r
@@ -97,8 +95,7 @@ module.exports = {
       'vendor/sigma/plugins/sigma.parsers.gexf.min.js',\r
       'vendor/sigma/plugins/sigma.layout.forceAtlas2.min.js',\r
       'vendor/sigma/plugins/sigma.plugins.dragNodes.min.js',\r
-      'vendor/sigma/plugins/sigma.renderers.customShapes.min.js',\r
-      'vendor/pixi/bin/pixi.js'\r
+      'vendor/sigma/plugins/sigma.renderers.customShapes.min.js'\r
     ],\r
     css: [\r
     'vendor/ng-grid/ng-grid.min.css',\r
index d9171db0497ce4761c4d6bce9f8c0cde4efad5d2..fcceabf980a1922d79bf390afb6b28daa7eaf459 100644 (file)
@@ -18,7 +18,6 @@
     "karma":"~0.12.0",
     "grunt": "~0.4.5",
     "grunt-cli": "~0.1.13",
-    "grunt-browserify": "^3.4.0",
     "grunt-contrib-copy": "~0.4.1",
     "grunt-contrib-concat": "~0.3.0",
     "grunt-contrib-coffee": "~0.7.0",
     "karma-coverage": "~0.2.6",
     "karma-phantomjs-launcher": "~0.1.4",
     "angular-mocks": "~1.2.22",
-    "jasmine": "~2.0.1",
-    "ngraph.graph": "~0.0.8",
-    "ngraph.forcelayout": "~0.0.16",
-    "ngraph.fromjson": "^0.1.4",
-    "ngraph.merge": "~0.0.1",
-    "ngraph.physics.simulator": "~0.0.10",
-    "transformatrix": "^1.1.1"
+    "jasmine": "~2.0.1"
   },
   "engines": {
     "node": ">=0.8.0"
diff --git a/modules/graph-resources/pom.xml b/modules/graph-resources/pom.xml
deleted file mode 100644 (file)
index 9f4487e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2014 Inocybe Technologies, and others. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.opendaylight.dlux</groupId>
-    <artifactId>dlux-parent</artifactId>
-    <version>0.3.0-SNAPSHOT</version>
-    <relativePath>../../</relativePath>
-  </parent>
-
-  <artifactId>dlux.graph.resources</artifactId>
-  <name>${project.artifactId}</name>
-  <description>Graph Module Resources</description>
-  <version>${graph.resources.version}</version>
-  <packaging>jar</packaging>
-
-</project>
diff --git a/modules/graph-resources/src/main/resources/graph/eventListener.js b/modules/graph-resources/src/main/resources/graph/eventListener.js
deleted file mode 100644 (file)
index 3754fae..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-// Math.sign is used a lot here and outdated brownser don't have it.
-if (typeof Math.sign !== 'function') {
-    Math.sign = function(value) {
-        return value ? value < 0 ? -1 : 1 : 0;
-    };
-}
-
-module.exports = function(stage, graph) {
-    // constant TODO: change to use settings
-    var MAX_SCALE = 2.0;
-    var MIN_SCALE = 0.1;
-    //------//
-
-    // pointer options
-    var POINTER_DEFAULT = 'auto';
-    var POINTER_DRAG = 'all-scroll';
-
-    var event = require('events');
-    var emitter = new event.EventEmitter();
-    var mouseDown = false;
-    var draggedNode = null;
-
-    var camera = stage.camera;
-    var oldPos = new PIXI.Point(0, 0);
-
-    // Start dragging the node
-    stage.interactionManager.onMouseDown = function(e) {
-        mouseDown = true;
-        oldPos.set(-1, -1);
-
-        draggedNode = graph.getNodeAt(e.layerX, e.layerY);
-
-        if (draggedNode) {
-            emitter.emit('nodeDown', draggedNode);
-        }
-    };
-
-    // If the node is dragged, update the position
-    // otherwise emit a callable event
-    stage.interactionManager.onMouseMove = function(e) {
-        if (draggedNode) { // drag node
-            setPointerStyle(POINTER_DRAG);
-            var realPos = camera.transform.inverse().transformPoint(e.layerX, e.layerY);
-            draggedNode.pos.x = realPos[0];
-            draggedNode.pos.y = realPos[1];
-        }
-        else if (mouseDown) { // do a pan
-            setPointerStyle(POINTER_DRAG);
-            if (oldPos.x == -1 && oldPos.y == -1) {
-                oldPos.set(e.layerX, e.layerY);
-            }
-
-            var pos = new PIXI.Point(0,0);
-            var deltaX = e.layerX - oldPos.x;
-            var deltaY = e.layerY - oldPos.y;
-
-            pos.set(
-                Math.sign(deltaX) * Math.abs(deltaX),
-                Math.sign(deltaY) * Math.abs(deltaY)
-            );
-
-            oldPos.set(e.layerX, e.layerY);
-            camera.transform.translate(pos.x, pos.y);
-        }
-        else {
-            var node = graph.getNodeAt(e.layerX, e.layerY);
-
-            if (node) {
-                emitter.emit('nodeOver', node);
-                return;
-            }
-
-            emitter.emit('mouseMove', e);
-        }
-    };
-
-    // Stop dragging the node
-    stage.interactionManager.onMouseUp = function(e) {
-        mouseDown = false;
-        setPointerStyle(POINTER_DEFAULT);
-
-        if (draggedNode) {
-            emitter.emit('nodeUp', draggedNode);
-            draggedNode = null;
-        }
-    };
-
-    // Release drag or pan if out of the canvas
-    stage.interactionManager.onMouseOut = function(e) {
-        mouseDown = false;
-        draggedNode = null;
-        setPointerStyle(POINTER_DEFAULT);
-    };
-
-    function setPointerStyle(style) {
-        if (document.body.style.cursor != style) {
-            document.body.style.cursor = style;
-        }
-    }
-
-    function zoom(e) {
-
-        // stop scrolling while zooming
-        e.preventDefault();
-
-        /* Each brownser on each platform
-         * set the wheel distance a different value. That's why the arbitrary value
-        */
-        var factor = 0.10;
-        var sign = Math.sign(e.detail || e.wheelDelta);
-
-        var currentScale = camera.scaleFactor;
-        var scale = currentScale + (sign * factor);
-
-        if (scale > MAX_SCALE) {
-            scale = MAX_SCALE;
-        }
-        else if (scale < MIN_SCALE) {
-            scale = MIN_SCALE;
-        }
-        camera.scaleFactor = scale;
-    }
-
-    // Mouse wheel to Zoom
-    document.getElementById(stage.containerId).addEventListener('mousewheel', zoom, false); // chrome, safari
-    document.getElementById(stage.containerId).addEventListener('DOMMouseScroll', zoom, false); // firefox
-
-    return emitter;
-};
diff --git a/modules/graph-resources/src/main/resources/graph/index.js b/modules/graph-resources/src/main/resources/graph/index.js
deleted file mode 100644 (file)
index 6bb4df8..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-module.exports = function() {
-    var Graph = require('ngraph.graph');
-    var GraphRenderer = require('./renderer.js');
-    var topology = null;
-
-    function _load(nodes, links) {
-        nodes.forEach(function (node) {
-            topology.addNode(node.id, {
-                title:node.title,
-                group:node.group,
-                label:node.label,
-                value:node.value
-            });
-        });
-        links.forEach(function (link) {
-            topology.addLink(link.from, link.to, {
-                id: link.id,
-                title: link.title
-            });
-        });
-    }
-
-    // public API
-    return {
-        start : function(id) {
-            try {
-                if (!topology) {
-                    throw new Error('Cannot create a graph, you need to load one first');
-                }
-
-                renderer = new GraphRenderer(id, topology);
-                renderer.run();
-            } catch(e) {
-                console.error(e.name, e.message);
-            }
-        },
-        refresh: function(nodes, links) {
-            //tmp
-            topology.clear();
-            _load(nodes, links);
-            renderer.refresh(topology);
-        },
-        loadGraph: function(nodes, links) {
-            topology = new Graph();
-            _load(nodes, links);
-        }
-    };
-};
diff --git a/modules/graph-resources/src/main/resources/graph/renderer.js b/modules/graph-resources/src/main/resources/graph/renderer.js
deleted file mode 100644 (file)
index 1e615a1..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-var defaultConfig = {
-    width: 800,
-    height: 600,
-    switch: {
-        src : '../assets/images/Device_switch_3062_unknown_64.png',
-        width: 64,
-        height: 64
-    },
-    host: {
-        src : '../assets/images/Device_pc_3045_default_64.png',
-        width: 64,
-        height: 64
-    }
-};
-module.exports = function(id, graph, config) {
-    var merge = require('ngraph.merge');
-    var Matrix = require('transformatrix');
-    var container = validateContainer(id);
-
-    // merge current config with default
-    config = merge(config, defaultConfig);
-
-    var stage = new PIXI.Stage(0xFFFFFF, true);
-
-    // use to keep a reference of the node
-    // and not always search in the layout.
-    var nodes = {}, links = {};
-
-    var width = config.width;
-    var height = config.height;
-
-    var renderer = PIXI.autoDetectRenderer(width, height);
-    stage['containerId'] = id;
-    stage['camera'] = {
-        transform :new Matrix(),
-        scaleFactor: 1
-    };
-
-    container.appendChild(renderer.view);
-
-    var emitter = require('./eventListener.js')(stage, graph);
-    var switchTexture = new PIXI.Texture.fromImage(config.switch.src);
-    var hostTexture = new PIXI.Texture.fromImage(config.host.src);
-
-    // add a physic layout to place the node in the screen
-    var layoutCreator = require('ngraph.forcelayout');
-
-    var layout = layoutCreator(graph, {
-        springLength: 100,
-        springCoeff: 0.0008,
-        dragCoeff: 0.001,
-        gravity: -1.8,
-        theta: 1
-    });
-
-    // link renderer
-    var graphics = new PIXI.Graphics();
-
-    graph.forEachNode(initializeNode);
-    graph.forEachLink(initializeLink);
-
-    // loop into the graph to find a node with his position.
-    // certainly a better way to do it
-    graph.getNodeAt = function(x, y) {
-        var half = config.switch.width * 0.5 * stage.camera.scaleFactor;
-        for (var key in nodes) {
-            if (nodes.hasOwnProperty(key)) {
-                var node = nodes[key];
-                var pos = stage.camera.transform.transformPoint(node.pos.x, node.pos.y);
-                var inside = pos[0] - half < x && x < pos[0] + half &&
-                             pos[1] - half < y && y < pos[1] + half;
-                if (inside) {
-                    return nodes[key];
-                }
-            }
-        }
-    };
-
-    function clearGraph() {
-      stage.camera.transform.reset();
-      stage.removeChildren();
-      nodes = {};
-      links = {};
-    }
-
-    function displayGraph() {
-        // step the layout to make a good looking graph
-        // remove after cause it's heavy for nothing
-        for (var i = 0; i < 1000; ++i) {
-            layout.step();
-        }
-        centerGraph();
-    }
-
-    // public API
-    return {
-        run : function() {
-            displayGraph();
-            requestAnimFrame(loop);
-        },
-        refresh: function(topology) {
-            cancelAnimationFrame(loop);
-            clearGraph();
-            topology.forEachNode(initializeNode);
-            topology.forEachLink(initializeLink);
-            displayGraph();
-            requestAnimFrame(loop);
-        }
-    };
-
-    // add the node sprite to the stage
-    // and add it to the ref array
-    function initializeNode(node) {
-        var nodeSprite = null;
-
-        if (node.data.group === 'switch') {
-            nodeSprite = new PIXI.Sprite(switchTexture);
-        } else if (node.data.group === 'host') {
-            nodeSprite = new PIXI.Sprite(hostTexture);
-        }
-
-        var textOffset = 10;
-        var text = new PIXI.Text(node.data.label, {
-            font : '11px Arial'
-        });
-
-        nodeSprite.anchor.set(0.5, 0.5);
-
-        layout.setNodePosition(node.id, Math.random(), Math.random());
-
-        // text is a child of the sprite, we don't need to apply a transform
-        text.anchor.set(0.5, 0.5);
-
-        text.position.y = config.switch.width * 0.5 + textOffset;
-
-        nodes[node.id] = {
-            sprite: nodeSprite,
-            pos: layout.getNodePosition(node.id)
-        };
-
-        nodeSprite.addChild(text);
-        stage.addChild(nodeSprite);
-    }
-
-    // set the link into the ref array
-    function initializeLink(link) {
-        links[link.id] = {
-            from: layout.getNodePosition(link.fromId),
-            to : layout.getNodePosition(link.toId)
-        };
-        stage.addChild(graphics);
-    }
-
-    // update node position
-    function updateNode(node) {
-        var transPos = stage.camera.transform.transformPoint(node.pos.x, node.pos.y);
-        var scale = stage.camera.scaleFactor;
-        node.sprite.position.set(transPos[0], transPos[1]);
-        node.sprite.scale.set(scale, scale);
-    }
-
-    // draw the link
-    function updateLink(link) {
-        var transFrom = stage.camera.transform.transformPoint(link.from.x, link.from.y);
-        var transTo = stage.camera.transform.transformPoint(link.to.x, link.to.y);
-        graphics.lineStyle(1, 0x000000, 1);
-        graphics.moveTo(transFrom[0], transFrom[1]);
-        graphics.lineTo(transTo[0], transTo[1]);
-    }
-
-    // render loop
-    function loop() {
-        graphics.clear();
-        var key;
-
-        // update link
-        for (key in links) {
-            if (links.hasOwnProperty(key)) {
-                updateLink(links[key]);
-            }
-        }
-
-        // update positions
-        for (key in nodes) {
-            if (nodes.hasOwnProperty(key)) {
-                updateNode(nodes[key]);
-            }
-        }
-
-        // render everything
-        renderer.render(stage);
-
-        // loop
-        requestAnimFrame(loop);
-    }
-
-    // Move the graph near the center.
-    function centerGraph() {
-        var rect = layout.getGraphRect();
-        var size = [rect.x2 - rect.x1, rect.y2 - rect.y1];
-        var moveX = Math.abs(config.width - size[0]) * 0.5 - rect.x1;
-        var moveY = Math.abs(config.height - size[1]) * 0.5 - rect.y1;
-        stage.camera.transform.translate(moveX, moveY);
-    }
-
-    // check if the given id exist
-    function validateContainer(id) {
-        var container = document.getElementById(id);
-        if (!container) {
-            throw new NotFoundException('No container found for the givent id ' + id);
-        }
-        return container;
-    }
-
-    // custom exception
-    // TODO : Move to another file
-    function NotFoundException(message) {
-        this.message = message;
-        this.name = 'NotFoundException';
-    }
-
-};
index 2a9997db850fab2d22ed3c99de9b595e4fd15d58..c1f5824f40cee10ff579aa61cf3bc2b547e77811 100644 (file)
@@ -40,7 +40,6 @@
     <module>topology-resources</module>
     <module>loader-resources</module>
     <module>connection_manager-resources</module>
-    <module>graph-resources</module>
     <module>core-resources</module>
     <module>common-topbar-resources</module>
   </modules>