summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/web/gui/src/main/webapp/_bripc/svg-exercise.js
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/web/gui/src/main/webapp/_bripc/svg-exercise.js')
-rw-r--r--framework/src/onos/web/gui/src/main/webapp/_bripc/svg-exercise.js170
1 files changed, 0 insertions, 170 deletions
diff --git a/framework/src/onos/web/gui/src/main/webapp/_bripc/svg-exercise.js b/framework/src/onos/web/gui/src/main/webapp/_bripc/svg-exercise.js
deleted file mode 100644
index 96ed131f..00000000
--- a/framework/src/onos/web/gui/src/main/webapp/_bripc/svg-exercise.js
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- ONOS GUI -- SVG mouse over d3 exercise module
- */
-
-(function () {
- 'use strict';
-
- // injected references
- var $log, fs;
-
- // constants
- var btnWidth = 175,
- btnHeight = 50,
- hoverZone = 70,
- sectorDivisions = 3,
- margin = 10;
-
- // svg elements
- var svg, g;
-
- // other variables
- var winWidth, winHeight,
- sectorWidth, sectorHeight,
- currSector = 4, // always starts in the middle
- mouse;
-
- // ====================================================
-
- function centeredOnWindow(axis, dim) {
- return (axis / 2) - (dim / 2);
- }
-
- function onMouseMove() {
- mouse = d3.mouse(this);
- moveButton();
- }
-
- function removeMouseListener() {
- g.on('mousemove', null);
- }
-
- function addMouseListener() {
- g.on('mousemove', onMouseMove);
- }
-
- function selectSector() {
- var sector, row, col,
- currCol = currSector % sectorDivisions;
-
- do {
- sector = Math.floor((Math.random() * 9));
- col = sector % sectorDivisions;
- } while (col === currCol);
- currSector = sector;
- row = Math.floor(sector / sectorDivisions);
-
- return {
- xmin: (sectorWidth * col) + margin,
- xmax: ((sectorWidth * col) + sectorWidth) - margin,
- ymin: (sectorHeight * row) + margin,
- ymax: ((sectorHeight * row) + sectorHeight) - margin
- };
- }
-
- function selectXY(sectorCoords) {
- var x, y, x1, y1;
-
- do {
- x = (Math.random() * sectorCoords.xmax) + sectorCoords.xmin;
- y = (Math.random() * sectorCoords.ymax) + sectorCoords.ymin;
- x1 = x + btnWidth;
- y1 = y + btnHeight;
- } while (x1 > sectorCoords.xmax || y1 > sectorCoords.ymax);
-
- return {
- x: x,
- y: y
- };
- }
-
- function gTranslate(x, y) {
- return 'translate(' + x + ',' + y + ')';
- }
-
- function moveButton() {
- var sec = selectSector(),
- pos = selectXY(sec);
- g.transition()
- .duration(300)
- .ease('cubic-out')
- .each('start', removeMouseListener)
- .attr('transform', gTranslate(pos.x, pos.y))
- .each('end', addMouseListener);
- }
-
- angular.module('svgExercise', ['onosUtil'])
-
- .controller('svgExCtrl', ['$log', function (_$log_) {
- $log = _$log_;
- }])
-
- .directive('improvePerformance', ['FnService', function (_fs_) {
- fs = _fs_;
- return {
- restrict: 'E',
- link: function (scope, elem) {
- winWidth = fs.windowSize().width;
- winHeight = fs.windowSize().height;
- sectorWidth = winWidth / sectorDivisions;
- sectorHeight = winHeight / sectorDivisions;
-
- svg = d3.select(elem[0])
- .append('svg')
- .attr({
- width: winWidth + 'px',
- height: winHeight + 'px'
- });
-
- g = svg.append('g');
-
- g.append('rect')
- .attr({
- width: btnWidth + 'px',
- height: btnHeight + 'px',
- rx: '10px',
- 'class': 'button'
- });
-
- g.append('text')
- .style('text-anchor', 'middle')
- .text('Click for better performance.')
- .attr({
- x: btnWidth / 2,
- y: (btnHeight / 2) + 5
- });
-
- g.append('rect')
- .attr({
- fill: 'none',
- 'pointer-events': 'all',
- width: btnWidth + hoverZone + 'px',
- height: btnHeight + hoverZone + 'px',
- x: -(hoverZone / 2),
- y: -(hoverZone / 2)
- });
- g.attr('transform',
- gTranslate(centeredOnWindow(winWidth, btnWidth),
- centeredOnWindow(winHeight, btnHeight)));
-
- addMouseListener();
- }
- };
- }]);
-}()); \ No newline at end of file