This commit is contained in:
Garrett K 2021-01-26 21:25:15 +00:00
parent 0b43ecdbbd
commit 99bd8acc97

View File

@ -115,8 +115,8 @@ function drawCabinetConnections(){
'cabinetHoveredConnections'
];
cabinetCtx.strokeStyle = 'LightSkyBlue';
cabinetCtx.lineWidth = 3;
cabinetCtx.strokeStyle = connectionLineColor;
cabinetCtx.lineWidth = connectionLineWidth;
cabinetCtx.beginPath();
$.each(pathDataTypeArray, function(pathDataTypeIndex, pathDataType){
@ -208,8 +208,8 @@ function drawCabinetTrunks(){
'cabinetHoveredTrunks'
];
cabinetCtx.strokeStyle = 'MidnightBlue';
cabinetCtx.lineWidth = 3;
cabinetCtx.strokeStyle = trunkLineColor;
cabinetCtx.lineWidth = trunkLineWidth;
cabinetCtx.beginPath();
$.each(pathDataTypeArray, function(pathDataTypeIndex, pathDataType){
@ -289,9 +289,10 @@ function drawPath(){
function crawlPathConnections(){
$.each(pathArray, function(pathName, path){
var pathConnections = [];
var workingPathConnections = {};
var connectorElementArray = $('#containerFullPath').find('.port');
var connectorElementArray = $(path['container']).find('.port');
// Group connection peers
$.each(connectorElementArray, function(index, element){
@ -310,14 +311,16 @@ function crawlPathConnections(){
});
// Store path connection data
$(document).data('pathConnections', pathConnections);
pathArray[pathName]['connections'] = pathConnections;
});
}
function crawlPathTrunks(){
$.each(pathArray, function(pathName, path){
var pathTrunks = [];
var workingPathTrunks = {};
var connectorElementArray = $('#containerFullPath').find('.objectBox');
var connectorElementArray = $(path['container']).find('.objectBox');
// Group trunk peers
$.each(connectorElementArray, function(index, element){
@ -336,37 +339,43 @@ function crawlPathTrunks(){
});
// Store path trunk data
$(document).data('pathTrunks', pathTrunks);
pathArray[pathName]['trunks'] = pathTrunks;
});
}
function drawPathConnections(){
var pathConnections = $(document).data('pathConnections');
pathCtx.strokeStyle = 'LightSkyBlue';
pathCtx.lineWidth = 3;
pathCtx.beginPath();
$.each(pathArray, function(pathName, path){
$.each(pathConnections, function(index, element){
var canvas = path['canvas'];
var connections = path['connections'];
pathArray[pathName]['context'].strokeStyle = connectionLineColor;
pathArray[pathName]['context'].lineWidth = connectionLineWidth;
pathArray[pathName]['context'].beginPath();
$.each(connections, function(index, element){
var elemA = element[0];
var elemB = element[1];
var canvas = $('#canvasPath');
var elemADimensions = getDimensions(elemA, canvas);
var elemBDimensions = getDimensions(elemB, canvas);
pathCtx.moveTo(elemADimensions.centerX, elemADimensions.bottom);
pathCtx.bezierCurveTo(elemADimensions.centerX + 20, elemADimensions.bottom, elemBDimensions.centerX + 20, elemBDimensions.top, elemBDimensions.centerX, elemBDimensions.top);
pathArray[pathName]['context'].moveTo(elemADimensions.centerX, elemADimensions.bottom);
pathArray[pathName]['context'].bezierCurveTo(elemADimensions.centerX + 20, elemADimensions.bottom, elemBDimensions.centerX + 20, elemBDimensions.top, elemBDimensions.centerX, elemBDimensions.top);
});
pathCtx.stroke();
pathArray[pathName]['context'].stroke();
});
}
function drawPathTrunks(){
var pathTrunks = $(document).data('pathTrunks');
pathCtx.strokeStyle = 'MidnightBlue';
pathCtx.lineWidth = 3;
pathCtx.beginPath();
$.each(pathArray, function(pathName, path){
var pathTrunks = path['trunks'];
var canvas = path['canvas'];
pathArray[pathName]['context'].strokeStyle = trunkLineColor;
pathArray[pathName]['context'].lineWidth = trunkLineWidth;
pathArray[pathName]['context'].beginPath();
$.each(pathTrunks, function(index, element){
@ -375,7 +384,6 @@ function drawPathTrunks(){
var elemA = element[0];
var elemB = element[1];
var canvas = $('#canvasPath');
var elemADimensions = getDimensions(elemA, canvas);
var elemBDimensions = getDimensions(elemB, canvas);
@ -388,28 +396,32 @@ function drawPathTrunks(){
if(pathOrientation == "0") {
// Patch Cable Adjacent
pathCtx.moveTo(elemADimensions.centerX, elemADimensions.bottom);
pathCtx.lineTo(elemADimensions.centerX, elemBDimensions.top);
pathArray[pathName]['context'].moveTo(elemADimensions.centerX, elemADimensions.bottom);
pathArray[pathName]['context'].lineTo(elemADimensions.centerX, elemBDimensions.top);
} else {
// Patch Cable Inline
pathCtx.moveTo(elemADimensions.right, elemADimensions.centerY);
pathCtx.lineTo((rightBoundary + 20), elemADimensions.centerY);
pathCtx.lineTo((rightBoundary + 20), elemBDimensions.centerY);
pathCtx.lineTo(elemBDimensions.right, elemBDimensions.centerY);
pathArray[pathName]['context'].moveTo(elemADimensions.right, elemADimensions.centerY);
pathArray[pathName]['context'].lineTo((rightBoundary + 20), elemADimensions.centerY);
pathArray[pathName]['context'].lineTo((rightBoundary + 20), elemBDimensions.centerY);
pathArray[pathName]['context'].lineTo(elemBDimensions.right, elemBDimensions.centerY);
}
});
pathCtx.stroke();
pathArray[pathName]['context'].stroke();
});
}
function clearPathConnections(){
var canvasHeight = $('#canvasPath').height();
var canvasWidth = $('#canvasPath').width();
pathCtx.clearRect(0, 0, canvasWidth, canvasHeight);
$.each(pathArray, function(pathName, path){
var canvas = path['canvas'];
var canvasHeight = $(canvas).height();
var canvasWidth = $(canvas).width();
pathArray[pathName]['context'].clearRect(0, 0, canvasWidth, canvasHeight);
});
}
@ -420,8 +432,10 @@ function resetConnectionData(){
$(document).data('cabinetHoveredConnections', []);
$(document).data('cabinetSelectedTrunks', []);
$(document).data('cabinetHoveredTrunks', []);
$(document).data('pathConnections', {});
$(document).data('pathTrunks', {});
$.each(pathArray, function(pathName, path){
pathArray[pathName]['connections'] = {};
pathArray[pathName]['trunks'] = {};
});
}
function getDimensions(elem, canvas=false){
@ -568,13 +582,22 @@ function makeCabCloseClickable(){
}
function resizePathCanvas() {
$('#canvasPath').attr('width', $('#canvasPath').parent().width());
$('#canvasPath').attr('height', $('#canvasPath').parent().height());
$.each(pathArray, function(pathName, path){
var canvas = path['canvas'];
$(canvas).attr('width', $(canvas).parent().width());
$(canvas).attr('height', $(canvas).parent().height());
});
}
function resizeCabinetCanvas() {
$('#canvasCabinet').attr('width', $(document).width());
$('#canvasCabinet').attr('height', $(document).height());
var canvas = $('#canvasCabinet');
if($(canvas).length) {
$(canvas).attr('width', $(document).width());
$(canvas).attr('height', $(document).height());
}
}
function drawPathAndCabinet() {
@ -585,23 +608,33 @@ function drawPathAndCabinet() {
function initializeCanvas() {
window.addEventListener('resize', drawPathAndCabinet, false);
canvasCabinet = document.getElementById('canvasCabinet');
canvasPath = document.getElementById('canvasPath');
var lineWidth = 10;
connectionLineWidth = 3;
connectionLineColor = 'LightSkyBlue';
trunkLineWidth = 6;
trunkLineColor = 'MidnightBlue';
// Cabinet connections
if($('#canvasCabinet').length) {
canvasCabinet = document.getElementById('canvasCabinet');
cabinetCtx = canvasCabinet.getContext('2d');
cabinetCtx.lineWidth = lineWidth;
$(document).data('cabinetSelectedConnections', []);
$(document).data('cabinetHoveredConnections', []);
$(document).data('cabinetSelectedTrunks', []);
$(document).data('cabinetHoveredTrunks', []);
canvasInset = 10;
}
// Path connections
pathCtx = canvasPath.getContext('2d');
pathCtx.lineWidth = lineWidth;
$(document).data('pathConnections', {});
$(document).data('pathTrunks', {});
pathArray = {};
if($('#canvasPath').length) {
canvasPath = document.getElementById('canvasPath');
pathArray['path'] = {
'context': canvasPath.getContext('2d'),
'canvas': $('#canvasPath'),
'container' : $('#containerFullPath'),
'connections': {},
'trunks': {}
};
}
}