diff options
author | Christopher Lott (cl778h) <clott@research.att.com> | 2017-05-09 14:24:20 -0400 |
---|---|---|
committer | Christopher Lott (cl778h) <clott@research.att.com> | 2017-05-09 14:44:09 -0400 |
commit | e2aefda183de4f1c1256d97f7ce09f8bee5477db (patch) | |
tree | 4b0eaf3f153df90591711daf081e63a8b20ace74 /dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/arrayManipulation.js | |
parent | 472635713b7471b300a988db7e907bab0119eaee (diff) |
[ONAP-rebase] Rebase as 1.1.0-SNAPSHOT
Consolidate into a single maven project; no more separate model and client jars.
Change-Id: Ibbba982250b74c0dfd09ee1c65c0fb6c158dd632
Signed-off-by: Christopher Lott <cl778h@att.com>
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/arrayManipulation.js')
-rw-r--r-- | dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/arrayManipulation.js | 356 |
1 files changed, 0 insertions, 356 deletions
diff --git a/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/arrayManipulation.js b/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/arrayManipulation.js deleted file mode 100644 index 2f041f3..0000000 --- a/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/arrayManipulation.js +++ /dev/null @@ -1,356 +0,0 @@ - -//Contains functions to update, create and retrieve arrays. Also uses arrays to determine properties (lNode, rNode) of arrows - -var missingStarts = []; -var missingEnds = []; - -//Stores module's properties in its array -function storeXY (arrayType,id) { - 'use strict'; - var index; - for ( i = 0; i<arrayType.length; i++){ - if (arrayType[i][1] == id) { - index = i; - arrayType[i][3] = parseInt(document.getElementById(id).getAttribute('data_x')); - arrayType[i][4] = parseInt(document.getElementById(id).getAttribute('data_y')); - arrayType[i][5] = $("#"+id).width(); - arrayType[i][6] = arrayType[i][3] + arrayType[i][5]; - arrayType[i][7] = arrayType[i][4] + $("#"+id).height(); - } - } - return index; -} - -//Returns lifeline coordinates in the array lifelineX[] -function getLifelines () { - lifelineX.length = 0; - lifelineX=[]; - for (var i = 0; i<nodeArr.length; i++){ - if (!$('#'+nodeArr[i][1]).hasClass('expanded')){ - lifelineX.push([nodeArr[i][3] + (nodeArr[i][5])/2,nodeArr[i][1]]); - } - } - for (i = 0; i<lifelineX.length; i++){ - if(lifelineX[i]===null){ - lifelineX.splice(i,1); - i--; - } - } -} - -//Finds a module in its array then stores user-inputed text -function storeText (arrayType,id,text) { - var index; - for (var i = 0; i<arrayType.length; i++){ - if (arrayType[i][1] == id) { - index = i; - arrayType[i][2] = text; - } - } - return index; -} - -//Recalls an arrays values and returns the items index -function recallArray (arrayType, id) { - var index; - for (var i = 0; i<arrayType.length; i++){ - if (arrayType[i][1] == id) { - index = i; - text = arrayType[i][2]; - lX = arrayType[i][3]; - lY = arrayType[i][4]; - wide = arrayType[i][5]; - rX = arrayType[i][6]; - rY = arrayType[i][7]; - } - } - return index; -} - -//Stores a module when given properties and a type. After storing it appends it to the DOM -//function storeArray (arrayType, i, id, text, lX, lY, wide, direction, height,bpmn,tosca_ID,arrowDescription, messageType) { -function storeArray (arrayType, i, id, text, lX, lY, wide, direction, height,bpmn,tosca_ID,arrowDescription, messageType, role) { - var tag = ""; - var dropOffLocation; - if (arrayType == "nodeArr"){ - //var nodeHeight = $('.drag-1').height(); //DOES NOT WORK - var nodeHeight = 36; //FIXES THE PROBLEM, DOES NOT ALLOW RESIZE - var nodeHeightCorrected = nodeHeight+16; - - var gridHeight = document.getElementById('grid').clientHeight; - var gridHeightCorrected = gridHeight - 90; - tag = '<div class="nodeDraggable drag-drop drag-1 child can-drop placed verticallyScrollable" '+ - 'id=' + id + ' data_x="' +lX+ '" data_y="' +lY+ '"' + - 'style="transform: translate(' + lX + 'px, ' + lY + 'px); -webkit-transform: translate(' + lX + 'px, ' + lY + 'px);">' + - '<div class="nodeText nodeEllipsis">'+ text +'</div>'+ - '<div class="verticalLine" style="top:'+nodeHeightCorrected+'px;height:'+gridHeightCorrected+'px;"></div>'+ - '</div>'; - dropOffLocation = document.getElementById("nodeChildrenDroppedOffHere"); - dropOffLocation.innerHTML += tag; - var index = nodeArr.push([document.getElementById(id),id,text,parseInt(lX),parseInt(lY),wide,parseInt(lX)+parseInt(wide),parseInt(lY)]); - if (tosca_ID !==null){ - document.getElementById(id).setAttribute('taska_id',tosca_ID); - } - if ( text !== null ){ - document.getElementById(id).setAttribute('sname',text); - } - // When Role is added uncomment. - console.log(role); - if ( role !== null ){ - document.getElementById(id).setAttribute('role_id',role); - } - - if (isOverlapped(id) === true){ - shiftRight(document.getElementById(id),160); - } - if (isOverlapped(id) === false){ - for (i=0;i<arrowArr.length;i++){ - determineLRNode(arrowArr[i][1],id); - } - } - nodeArr[index-1][10] = bpmn; - if (bpmn !== '' && bpmn !== null){ - $('#'+nodeArr[index-1][1]).addClass('bpmn'); - } - } - if (arrayType === "arrowArr"){ - if (direction === "right"){ - tag = '<div class="arrowDraggable resizable child gridDropzone can-drop arrowPlaced" '+ - 'style="margin-left: 27px; transform: translate('+ lX +'px, '+lY+'px); -webkit-transform: translate('+ lX +'px, '+lY+'px);width: '+ wide +'px;" '+ - 'id="'+id+'" data_x="'+lX+'" data_y="'+lY+'" direction="right" message_type="'+messageType+'">'+ - '<div class="arrow resizable" style="display:inline; width:100%;"><div class="makeEllipsis arrowText">'+text+'</div></div>'+ - '<div class="triangle" style="display:inline;"></div>'+ - '</div>'; - } - if (direction === "left"){ - tag = '<div class="arrowDraggable resizable child gridDropzone can-drop arrowPlaced" '+ - 'style="margin-left: 27px; transform: translate('+ lX +'px, '+lY+'px); -webkit-transform: translate('+ lX +'px, '+lY+'px);width: '+ wide +'px;" '+ - 'id="'+id+'" data_x="'+lX+'" data_y="'+lY+'" direction="left" message_type="'+messageType+'">'+ - '<div class="leftTriangle" style="display:inline;"></div>'+ - '<div class="leftArrow" style="display:inline; width:100%;"><div class="makeEllipsis arrowText">' + text + '</div></div>'+ - '</div>'; - } - if (direction === "self"){ - tag = '<div class="arrowDraggable resizable child gridDropzone can-drop arrowPlaced" '+ - 'style="margin-left: 27px; transform: translate('+ lX +'px, '+lY+'px); -webkit-transform: translate('+ lX +'px, '+lY+'px);width: 0px;" '+ - 'id="'+id+'" data_x="'+lX+'" data_y="'+lY+'" direction="self" message_type="'+messageType+'">'+ - '<div style="display:inline; width:100%"><img src="./images/selfArrow.png" style="cursor:e-resize;">'+ - '<div class="makeEllipsisSelf arrowText" style="width:75px;font-size:12px;margin-left:3px;text-align:left;display:inline;">' + text + '</div></div>'+ - '</div>'; - } - - - dropOffLocation = document.getElementById("arrowChildrenDroppedOffHere"); - dropOffLocation.innerHTML += tag; - arrowArr.push([document.getElementById(id),id,text,parseInt(lX),lY,parseInt(wide),parseInt(lX)+parseInt(wide),parseInt(lY),"","",arrowDescription]); - - determineLRNode(id,"arrow"); - } - if (arrayType == "noteArr"){ - tag = '<div class="postit note child gridDropzone can-drop notePlaced" '+ - 'id=' + id + ' data_x="' +lX+ '" data_y="' +lY+ '"' + - 'style="transform: translate(' + lX + 'px, ' + lY + 'px); -webkit-transform: translate(' + lX + 'px, ' + lY + 'px);width: '+wide+'px; height: '+height+'px;">' + - text + - '</div>'; - dropOffLocation = document.getElementById("noteChildrenDroppedOffHere"); - dropOffLocation.innerHTML += tag; - noteArr.push([document.getElementById(id),id,text,parseInt(lX),parseInt(lY),wide,parseInt(lX)+parseInt(wide),parseInt(lY)+parseInt(height)]); - - } - -} - -var layers = {}; -var nodesInLayer = []; -function determineLayers () { - var doAgain = true; - layers.length = 0; - var layerNumber = -1; - while (doAgain === true){ - layerNumber++; - nodesInLayer.length = 0; - var classToAssign = 'layer'+layerNumber; - for (var i=0; i<nodeArr.length; i++){ - if (nodeArr[i][8]===null || nodeArr[i][8]===0){ - //console.log(nodeArr[i][1]); - $('#'+nodeArr[i][1]).addClass(classToAssign); - nodesInLayer.push(nodeArr[i][1]); - } - } - if (nodesInLayer.length === 0){ - doAgain = false; - } - else{ - layers[classToAssign] = nodesInLayer; - } - doAgain = false; - } - - - //console.log(layers); -} - -//Determines what nodes an arrow is connecting. -//When from = "arrow" it finds the left and right nodes. When from = nodeUUID it finds the arrows attached to that node -function determineLRNode (id, from) { - var connections = 0; - // tolerance for subtle difference between x coordinate of nodes (midpoint) and x coordinates of arrow (end points) due to zoom in/out - // this enables the arrows stay connected to nodes after re-scale window size. - var tol = 2; - var arrowIndex; - getLifelines(); - for (var i = 0; i<arrowArr.length; i++){ - if (arrowArr[i][1] == id) { //finds correct arrow - arrowIndex = i; - } - } - - if (from == "arrow"){ - arrowArr[arrowIndex][8]=null; - arrowArr[arrowIndex][9]=null; - for (var j = 0; j<lifelineX.length;j++){ - if (Math.abs(arrowArr[arrowIndex][3] - lifelineX[j][0]) <= tol ){ - arrowArr[arrowIndex][8] = lifelineX[j][1]; - connections++; - } - if (Math.abs(arrowArr[arrowIndex][6] + 12 - lifelineX[j][0]) <= tol ){ - arrowArr[arrowIndex][9] = lifelineX[j][1]; - connections++; - } - else if ( (Math.abs(arrowArr[arrowIndex][6] - lifelineX[j][0]) <= tol ) && document.getElementById(arrowArr[arrowIndex][1]).getAttribute("direction") == "self") { //Allows for self arrow - arrowArr[arrowIndex][9] = lifelineX[j][1]; - connections++; - } - } - changeColors(); - - } - - else { //Handles constructor of type node uuid - var nodeIndex; - for (i=0; i<lifelineX.length;i++){ - if (lifelineX[i][1] == from) { //Finds node index, corresponds to lifeline index - nodeIndex = i; - } - } - if (Math.abs(arrowArr[arrowIndex][3] - lifelineX[nodeIndex][0]) <= tol ){ //If the x is equal to the new node lifeline - arrowArr[arrowIndex][8] = nodeArr[nodeIndex][1]; //store to arrow's leftNode - if (arrowArr[arrowIndex][9] !== null){ //if it has a right node - connections = 2; - } - else { - connections = 1; - } - changeColors(); - } - } - if (document.getElementById(id).getAttribute("direction") == "left"){ - var swap = arrowArr[arrowIndex][8]; - arrowArr[arrowIndex][8] = arrowArr[arrowIndex][9]; - arrowArr[arrowIndex][9] = swap; - } - warning(); //Displays warning on the sidebar if an arrow lacks an endpoint - - function changeColors () { - if (connections == 2){ - document.getElementById(id).style.background = "rgba(0,255,0,.30)"; //Green - setTimeout(function (){ - document.getElementById(id).style.background = "rgba(0,255,0,0)"; //Fade out - }, 500); - } - else if (connections == 1){ - document.getElementById(id).style.background = "rgba(255,255,0,.30)"; //Yellow - } - else if (connections === 0){ - document.getElementById(id).style.background = "rgba(255,0,0,.30)"; //Red - } - } -} - -var repeater; -function warning() { - var allow = testAllConnections(); - if (allow === false) { - document.getElementById("warning").innerHTML = "*Link missing lifeline"; - } - else { - document.getElementById("warning").innerHTML = ""; - } - if (allow === false){ - document.getElementById("saveButton").style.cursor = "no-drop"; - //document.getElementById("printButton").style.cursor = "no-drop"; - } - else { - document.getElementById("saveButton").style.cursor = "pointer"; - //document.getElementById("printButton").style.cursor = "pointer"; - } -} - - -function blinkMissingArrows () { - testAllConnections(); - var allMissing = missingStarts.concat(missingEnds); - for (var i = 0; i<allMissing.length; i++){ - for (var j = i+1; j<allMissing.length;j++){ - if(allMissing[i]===allMissing[j]) - allMissing.splice(j--,1); - } - } - var originalBG=[]; - for (i = 0; i<allMissing.length; i++) { - id = allMissing[i]; - originalBG.push(document.getElementById(id).style.background); - document.getElementById(id).style.background = "rgba(255,0,0,.80)"; - } - setTimeout(function (){ - for (var i = 0; i<allMissing.length; i++) { - id = allMissing[i]; - document.getElementById(id).style.background = originalBG[i]; - }}, 1000); -} - -function testAllConnections () { - var allow = true; - missingStarts = []; - missingEnds = []; - - for (var i = 0; i<arrowArr.length;i++){ - result = determineNodeStart(arrowArr[i][1]); - if (result === null){ - missingStarts.push(arrowArr[i][1]); - allow=false; - } - result = determineNodeEnd(arrowArr[i][1]); - if (result === null){ - missingEnds.push(arrowArr[i][1]); - allow=false; - } - } - return allow; -} - -function determineNodeStart (id) { - for (var i = 0; i<arrowArr.length; i++){ - if (arrowArr[i][1] === id) { //finds correct arrow - return arrowArr[i][8]; - } - } -} -function determineNodeEnd (id) { - for (var i = 0; i<arrowArr.length; i++){ - if (arrowArr[i][1] == id) { //finds correct arrow - return arrowArr[i][9]; - } - } -} - -//Generates uuid -function guid() { - function s4() { - return Math.floor((1 + Math.random()) * 0x10000) - .toString(16) - .substring(1); - } - return s4() + s4() + '-' + s4() + '-' + s4() + '-' + - s4() + '-' + s4() + s4() + s4(); -}
\ No newline at end of file |