blob: 7526d141ca49ba863dc49387b86d9fc9c3c2f2f0 [file] [log] [blame]
$(document).ready( function(){
//show interface options on hovering on it
$(".panel-title").hover(
function(){
$(this).find(".interface-options").addClass("in");
},
function(){
$(this).find(".interface-options").removeClass("in");
}
);
// add new input fields block.
$("body").on( "click", ".add-input", function(){
var appInputDiv = $('<div></div>');
appInputDiv.html( $(".app-input-block").html() );
clearInputs( appInputDiv);
$(".app-inputs").append( appInputDiv );
});
// add new output fields block.
$("body").on( "click", ".add-output", function(){
var appOutputDiv = $('<div></div>');
appOutputDiv.html( $(".app-output-block").html() );
clearInputs( appOutputDiv);
$(".app-outputs").append( appOutputDiv );
});
// remove an input fields block
$("body").on("click", ".remove-input-space", function(){
$(this).parent().remove();
});
$("body").on("click", ".remove-input-space", function(){
$(this).parent().remove();
});
// remove an output fields block
$("body").on("click", ".remove-output-space", function(){
$(this).parent().remove();
});
$("body").on("click", ".add-app-module", function(){
$(this).parent().children(".app-modules").append( $(".app-module-block").html() );
});
$("body").on("click", ".remove-app-module", function(){
$(this).parent().remove();
});
$('.filterinput').keyup(function() {
var a = $(this).val();
if (a.length > 0) {
children = ($("#accordion").children());
var containing = children.filter(function () {
var regex = new RegExp(a, 'i');
return regex.test($('a', this).text());
}).slideDown();
children.not(containing).slideUp();
} else {
children.slideDown();
}
return false;
});
$(".edit-app-interface").click( function(){
var appInterfaceContent = $("<div></div>");
appInterfaceContent.html( $(this).parent().parent().parent().parent().find(".app-interface-block").html());
clearInputs( appInterfaceContent, true);
$(".app-interface-form-content").html( appInterfaceContent.html() );
});
$(".create-app-interface").click( function(){
clearInputs( $(".create-app-interface-block"));
$("#create-app-interface-block").modal("show");
//checking if app module select option exist and if not add one.
if( $("#create-app-interface-block").find(".app-module-select").length == 0 )
$("#create-app-interface-block").find(".add-app-module").click();
});
$(".clone-app-interface").click( function(){
clearInputs( $(".clone-app-interface-block"));
//$("#create-app-interface-block").modal("show");
//checking if app module select option exist and if not add one.
var interfaceId = $(this).data("interface-id");
var interfaceName = $(this).data("interface-name");
$("#cloneAppId").val( interfaceId);
$("#cloneAppName").val( interfaceName);
});
$(".submit-create-app-interface-form").click( function(){
//check if app interface contains atleast one app module selected.
if( $(this).parent().parent().parent().find(".app-module-select").length)
{
//Using a dirty hack because jquery submit bypasses required field if directly submitted.
//Need a better solution, but until then submitting via a hidden submit button.
//$("#create-app-interface-form").submit();
$(".really-submit-create-app-interface-form").click();
}
else
alert("An Application Interface requires minimum one Application Module.");
});
$(".submit-edit-app-interface-form").click( function(){
//check if app interface contains atleast one app module selected.
if( $(this).parent().parent().parent().find(".app-module-select").length)
{
//Using a dirty hack because jquery submit bypasses required field if directly submitted.
//Need a better solution, but until then submitting via a hidden submit button.
//$("#create-app-interface-form").submit();
//$("#edit-app-interface-form").submit();
$(".really-submit-edit-app-interface-form").click();
}
else
alert("An Application Interface requires minimum one Application Module.");
});
$(".delete-app-interface").click( function(){
var interfaceId = $(this).data("interface-id");
$(".delete-interface-name").html( $(this).parent().parent().find(".interface-name").html() );
$(".delete-interfaceid").val( interfaceId )
});
});
function clearInputs( elem, removeJustReadOnly){
if( !removeJustReadOnly)
{
inputs = elem.find("input");
inputs.each( function(i, e){
if( $(e).attr("type") == "text")
$(e).val("");
});
elem.find("textarea").html("");
}
elem.find("input").removeAttr("readonly");
elem.find("textarea").removeAttr("readonly");
elem.find("select").removeAttr("readonly");
elem.find(".hide").removeClass("hide");
//remove previously created input/output blocks
elem.find(".app-inputs").html("");
elem.find(".app-outputs").html("");
}