I have two separate html files. The first one is the main page.
The second one is the properties panel that needs to appear on the right of the canvas of the above page whenever a tool is dropped on the canvas from the toolbox on the left.
I was doing this earlier having the properties panel form as part of the same html page as the mail page( first image).
But since there are going to be various other forms/ property panels, I thought of extracting it to a different html form and calling them to be displayed in this position(right side) from my jsGold.js file.
The file structure is as follows:
The StreamProperty.html holds the Properties Panel form in the following form
<head>
<link rel="stylesheet" type="text/css" href="../../CSS/style.css">
<link rel="stylesheet" type="text/css" href="../../CSS/propertybox.css">
</head>
<body>
<div style="float: left">
<h1 class="toolbox-titlex" id="tth">Properties Panel</h1>
<form class="panel" id="lot">
<label>Stream Type:</label>
<div class="panel-switch">
<input type="radio" name="TypeGen" value="G" id="type_g" class="panel-switch-input" checked>
<label for="type_g" class="panel-switch-label">Import</label>
<input type="radio" name="TypeGen" value="A" id="type_a" class="panel-switch-input">
<label for="type_a" class="panel-switch-label">Export</label>
<input type="radio" name="TypeGen" value="B" id="type_b" class="panel-switch-input">
<label for="type_b" class="panel-switch-label">Temporary</label>
</div>
<input type="text" class="panel-input-streamName" placeholder="Stream Name">
<input type="text" class="panel-input-streamDef" placeholder="Stream Definition">
<input type="button" value="Save" class="panel-button">
<input type="reset" value="Reset" class="panel-button-reset">
<input type="button" value="Cancel" class="panel-button-cancel">
</form>
</div>
</body>
And I need to display this form through the JavaScript in the following place. Since there is no button click involved, but just a jsPlumb drop, I wasn't sure as how to get this done.
jsGold.js
$("#container").droppable({
accept: '.project, .query',
containment: 'container',
/**
*
* @param e --> original event object fired/ normalized by jQuery
* @param ui --> object that contains additional info added by jQuery depending on which interaction was used
* @helper clone
*/
drop: function(e, ui) {
var dropElem = ui.draggable.attr('class');
alert('drop element: ' + dropElem);
droppedElement = ui.helper.clone();
//jsPlumb doesn't support jQuery cloneUI method.
//So once the icon is dragged and dropped on the canvas, the clone UI class will be removed
ui.helper.remove();
$(droppedElement).removeAttr("class");
// repaint --> Recompute and position all the connections
jsPlumb.repaint(ui.helper);
//Add the 'pro' class which has the same styling as the 'project' class but differs in functionality
//This avoids the duplication of another project class when one project class is being dragged and dropped
if (dropElem == "project ui-draggable") {
var newAgent = $('<div>').attr('id', i).addClass('pro');
//Reset Property fields
$("#lot")[0].reset();
//Display the Properties panel when the element is Clicked
$(".toolbox-titlex").show();
$(".panel").show();
} else {
var newAgent = $('<div>').attr('id', i).addClass('que');
alert("que added");
}
//Reset Property fields
$("#lot")[0].reset();
Instead of the following line in the above file I need an alternative to do this
//Display the Properties panel when the element is Clicked
$(".toolbox-titlex").show();
$(".panel").show();


