function filter(selector, query) {
query = $.trim(query);
query = query.replace(/ /gi, '|');
$(selector).each(function() {
($(this).text().search(new RegExp(query, "i")) < 0) ? $(this).hide() : $(this).show();
});
}
function togglePropertyTable(checkbox) {
var flag = $(checkbox).attr('checked');
if(flag) {
$('<table class="propertiestable ui-widget"/>').appendTo(checkbox.parentNode)
.append($('<tr/>')
.append($('<th/>').text('Action'))
.append($('<th/>').text('Name'))
.append($('<th/>').text('Type'))
.append($('<th/>').text('Value'))
.append($('<th/>')
.html('<a onclick="addPropertyRow(this)">+</a>')
)
);
}
else {
$(checkbox.parentNode).find('table.propertiestable').remove();
}
}
function toggleNodeTable(checkbox) {
var flag = $(checkbox).attr('checked');
if(flag) {
$('<div class="combochildnode"/>').appendTo(checkbox.parentNode)
.append($('<select class="combochildnode"/>')
.append($('<option value="addchildnode" selected="true"/>').text('Add'))
.append($('<option value="deletechildnode"/>').text('Delete'))
.change(function(){
handleAddRemoveChildNodeChange(this);
})
)
.append($('<input class="combochildnode"/>'));
function addPropertyRow(anchor) {
var table = anchor.parentNode.parentNode.parentNode.parentNode;
var tr = $('<tr/>').appendTo(table)
.append($('<td/>')
.append($('<select name="action"/>')
.append($('<option value="add-edit"/>').text('Add/Edit'))
.append($('<option value="delete"/>').text('Delete'))
.change(function(){
handlePropertyActionChange(this.value, tr);
})
)
)
.append($('<td/>').html('<input name="name"/>'))
.append($('<td/>'))
.append($('<td/>'))
.append($('<td/>')
.append($('<a/>')
.text('-')
.click(function(){
$(this.parentNode.parentNode).remove();
})
)
);
handlePropertyActionChange($(tr).find('td select[name="action"]').val(),tr);
}
function handlePropertyActionChange(action, tr) {
var tdpropertytype = $(tr).find('td:eq(2)');
var tdpropertyvalue = $(tr).find('td:eq(3)');
if(action == 'add-edit') {
var select = $('<select name="type"/>').appendTo(tdpropertytype)
.append($('<option value="boolean"/>').text('Boolean'))
.append($('<option value="boolean-arr"/>').text('Boolean[]'))
.append($('<option value="date"/>').text('Date'))
.append($('<option value="date-arr"/>').text('Date[]'))
.append($('<option value="double"/>').text('Double'))
.append($('<option value="double-arr"/>').text('Double[]'))
.append($('<option value="long"/>').text('Long'))
.append($('<option value="long-arr"/>').text('Long[]'))
.append($('<option value="string"/>').text('String'))
.append($('<option value="string-arr"/>').text('String[]'))
.change(function(){
handlePropertyTypeChange(this.value, tr);
});
handlePropertyTypeChange($(select).val(), tr);
}
else if(action == 'delete'){
$(tdpropertytype).empty();
$(tdpropertyvalue).empty();
}
}
function handlePropertyTypeChange(type, tr) {
var tdpropertyvalue = $(tr).find('td:eq(3)');
if(type.lastIndexOf("-arr") == -1) {
var count = $(tdpropertyvalue).find('div').length;
if(count == 0) {
$('<div/>').appendTo(tdpropertyvalue)
.append($('<span/>').html('<input name="value"/>'));
}
else {
$(tdpropertyvalue).find('div:eq(0)').find('span:eq(1)').remove();
$(tdpropertyvalue).find('div:not(:eq(0))').remove();
}
}
else {
var firstDiv = $($(tdpropertyvalue).find('div:eq(0)'));
if($(firstDiv).find('span a').length == 0) {
$(tdpropertyvalue).find('div:eq(0)')
.append($('<span/>')
.append($('<a>+</a>')
.click(function(){
addArrayProperty(this);
})
)
);
}
}
}
function addArrayProperty(anchor) {
var tdpropertyvalue = anchor.parentNode.parentNode.parentNode;
$('<div/>').appendTo(tdpropertyvalue)
.append($('<span/>').html('<input name="value"/>'))
.append($('<span/>')
.append($('<a>-</a>')
.click(function(){
$(this.parentNode.parentNode).remove();
})
)
);
}
function saveOrDryRun(flag) {
if(validateSaveOrDryRun() == false) return;
var form = $('#search-result-container form');
var URL = $(form).attr('action');
var response = $.ajax({
type: 'POST',
url: URL,
data: buildDryRunReqParam(flag),
dataType: "json",
success: function(data, textStatus, jqXHR) {
handleSaveResult(flag, data, textStatus, jqXHR);
},
error: function(xhr, status, error) {
alert('Error :' + error);
}
});
}
function buildDryRunReqParam(flag) {
var data = {
"nodes": [],
"properties": [],
"chidnodes": [],
"childnodeproperties": [],
"workflowpackage": false
};
data['dryrun'] = flag;
data['workflowpackage'] = $('#workflow input[name="createworkflowpkg"]').attr('checked');
$('#result table input[type="checkbox"]').each(function() {
if(this.checked) {
data['nodes'].push(this.value);
}
});
$('#operation div.manage-properties table.propertiestable tr:not(:eq(0))').each(function() {
var property = {};
data['properties'].push(property);
property['action'] = $(this).find('select[name="action"]').val();
property['name'] = $(this).find('input[name="name"]').val();
if(property['action'] == 'add-edit') {
property['type'] = $(this).find('select[name="type"]').val();
property['value'] = [];
$(this).find('input[name="value"]').each(function(){
property['value'].push($(this).val());
});
}
});
var childnodeflag = $('#operation div.manage-child-node input[name="manage-child-node"][type="checkbox"]').attr('checked');
if(childnodeflag == true) {
var childnode = {};
data['chidnodes'].push(childnode);
childnode['action'] = $('#operation div.manage-child-node div.combochildnode select.combochildnode').val();
childnode['name'] = $('#operation div.manage-child-node div.combochildnode input.combochildnode').val();
}
var childnodeproperties = $('#operation input[type="checkbox"][name="chkboxchildnodeproperties"]');
if(childnodeproperties.length != 0) {
var childnodepropertiesflag = $(childnodeproperties).attr('checked');
if(childnodepropertiesflag == true) {
$('#operation div.manage-child-node table.propertiestable tr:not(:eq(0))').each(function() {
var property = {};
data['childnodeproperties'].push(property);
property['action'] = $(this).find('select[name="action"]').val();
property['name'] = $(this).find('input[name="name"]').val();
if(property['action'] == 'add-edit') {
property['type'] = $(this).find('select[name="type"]').val();
property['value'] = [];
$(this).find('input[name="value"]').each(function(){
property['value'].push($(this).val());
});
}
});
}
}
var jsondata = {
'json' : JSON.stringify(data)
};
return jsondata;
}
function handleSaveResult(dryrunFlag, json, textStatus, jqXHR) {
if(dryrunFlag) {
$('#save-summary-container').remove();
var parentDiv = createAccordion($('#accordion-container'), 'save-summary-container', 'Dry Run Summary');
var containerDiv = $(parentDiv).find('div.container');
if(json['status'] == 'failed') {
$('<div/>').appendTo(containerDiv)
.text('Dry Run Failed: ' + json['message']);
}
else if(json['status'] == 'success') {
$('<div/>').appendTo(containerDiv)
.text(json['message']);
var table = $('<table class="ui-widget" style="width:100%"/>').appendTo(containerDiv);
$('<tr/>').appendTo(table)
.append($('<th style="width: 1%"/>').text('Sr#'))
.append($('<th style="min-width: 45%"/>').text('Node'))
.append($('<th style="max-width: 55%"/>').text('Operation Summary'));
$(json['data']).each(function(ctr, curr) {
var tr = $('<tr/>').appendTo(table)
.append($('<td/>').text(ctr + 1))
.append($('<td/>').text(curr['node']))
.append($('<td/>'));
var td = $(tr).find('td:last');
$(curr['operationsummary']).each(function(){
$('<div class="' + this['operation-status'] + '"/>').appendTo(td)
.text(this['operation-remark']);
});
});
}
}
else {
$('#save-summary-container').remove();
var parentDiv = createAccordion($('#accordion-container'), 'save-summary-container', 'Save Summary');
var containerDiv = $(parentDiv).find('div.container');
if(json['status'] == 'failed') {
$('<div/>').appendTo(containerDiv)
.text('Save Failed: ' + json['message']);
}
else if(json['status'] == 'success') {
$('<div/>').appendTo(containerDiv)
.text(json['message']);
var table = $('<table class="ui-widget" style="width:100%"/>').appendTo(containerDiv);
$('<tr/>').appendTo(table)
.append($('<th style="width: 1%"/>').text('Sr#'))
.append($('<th style="min-width: 45%"/>').text('Node'))
.append($('<th style="max-width: 55%"/>').text('Operation Summary'));
$(json['data']).each(function(ctr, curr) {
var tr = $('<tr/>').appendTo(table)
.append($('<td/>').text(ctr + 1))
.append($('<td/>').text(curr['node']))
.append($('<td/>'));
var td = $(tr).find('td:last');
$(curr['operationsummary']).each(function(){
$('<div class="' + this['operation-status'] + '"/>').appendTo(td)
.text(this['operation-remark']);
});
});
}
}
}
function validateSaveOrDryRun() {
var selectedNodeCount = $('#result table input[type="checkbox"]:checked').length;
if(selectedNodeCount == 0) {
alert("Please select atleast one node to updated.");
return false;
}
var optionsselectedcount = $('#operation div.datainput input[type="checkbox"]:checked').length;
if(optionsselectedcount == 0) {
alert("Nothing to update.");
return false;
}
var addPropertiesSelected = $('#operation div.datainput input[type="checkbox"]:eq(0)').attr('checked');
var propertiescount = $('#operation div.manage-properties table.propertiestable tr:not(:eq(0))').length;
if(addPropertiesSelected == true && propertiescount == 0) {
alert('Nothing to update. Add atleast one property.');
return false;
}
var allPropertiesValid = true;
$('#operation div.manage-properties table.propertiestable tr:not(:eq(0))').each(function() {
allPropertiesValid = validatePropertyRow(this);
return allPropertiesValid;
});
if(allPropertiesValid != true) {
return false;
}
var childnodeflag = $('#operation div.manage-child-node input[name="manage-child-node"][type="checkbox"]').attr('checked');
if(childnodeflag == true) {
var childnodename = $('#operation div.manage-child-node div.combochildnode input.combochildnode').val();
if(isEmpty(childnodename)) {
alert('Enter child node name');
$('#operation div.manage-child-node div.combochildnode input.combochildnode').focus();
return false;
}
var addChildNodePropertiesSelected = $('#operation input[type="checkbox"][name="chkboxchildnodeproperties"]').attr('checked');
var childNodePropertiesCount = $('#operation div.manage-child-node table.propertiestable tr:not(:eq(0))').length;
if(addChildNodePropertiesSelected == true && childNodePropertiesCount == 0) {
alert('Add atleast one child node property.');
return false;
}
var allChildNodePropertiesValid = true;
$('#operation div.manage-child-node table.propertiestable tr:not(:eq(0))').each(function() {
allChildNodePropertiesValid = validatePropertyRow(this);
return allChildNodePropertiesValid;
});
if(allChildNodePropertiesValid != true) {
return false;
}
}
return true;
}
function validatePropertyRow(tr) {
var allPropertiesValid = true;
var name = $(tr).find('input[name="name"]').val();
var action = $(tr).find('select[name="action"]').val();
if(isEmpty(name)) {
allPropertiesValid = false;
alert("Enter Property Name");
$(tr).find('input[name="name"]').focus();
return false;
}
if(action == 'add-edit') {
var allValuesValid = true;
var type = $(tr).find('select[name="type"]').val();
$(tr).find('input[name="value"]').each(function(){
var value = $(this).val();
if(isEmpty(value)) {
allValuesValid = false;
alert("Enter Property Value");
$(this).focus();
return false;
}
if(type == "boolean" || type == "boolean-arr") {
if(isValidBoolean(value) == false) {
allValuesValid = false;
alert('Enter valid boolean value. e.g true | false');
$(this).focus();
return false;
}
}
else if(type == "date" || type == "date-arr") {
if(isValidDate(value) == false) {
allValuesValid = false;
alert('Enter valid date value. Format ("MM/DD/YYYY H24:MM:SS")');
$(this).focus();
return false;
}
}
else if(type == "double" || type == "double-arr") {
if(isValidDouble(value) == false) {
allValuesValid = false;
alert('Enter valid double value.');
$(this).focus();
return false;
}
}
else if(type == "long" || type == "long-arr") {
if(isValidLong(value) == false) {
allValuesValid = false;
alert('Enter valid long value.');
$(this).focus();
return false;
}
}
});
if(allValuesValid != true) {
allPropertiesValid = allValuesValid;
return false;
}
}
return allPropertiesValid;
}
Können Sie Polsterung zum Dialog1 div hinzufügen? – Derrick