function setCancelButton () {
var cancelButtons = YAHOO.util.Dom.getElementsByClassName('backwardButton','input','application_workarea');
function deleteTempThing () {
window.location.href = "?func=deleteThingConfirm;thingId="+newThingId;
}
for (var i = cancelButtons.length; i--; ) {
cancelButtons[i].onclick = deleteTempThing;
}
}
function initOptionalFields(prefix,fieldId) {
var fieldInThing_module_rendered;
var height_module = new YAHOO.widget.Module(prefix + "_height_module", { visible: false });
height_module.render();
var width_module = new YAHOO.widget.Module(prefix + "_width_module", { visible: false });
width_module.render();
var size_module = new YAHOO.widget.Module(prefix + "_size_module", { visible: false });
size_module.render();
var vertical_module = new YAHOO.widget.Module(prefix + "_vertical_module", { visible: false });
vertical_module.render();
var values_module = new YAHOO.widget.Module(prefix + "_values_module", { visible: false });
values_module.render();
var defaultValue_module = new YAHOO.widget.Module(prefix + "_defaultValue_module", { visible: false });
defaultValue_module.render();
var fieldInThing_module = new YAHOO.widget.Module(prefix + "_fieldInThing_module", { visible: false });
fieldInThing_module.render();
var defaultFieldInThing_module = new YAHOO.widget.Module(prefix + "_defaultFieldInThing_module", { visible: false });
defaultFieldInThing_module.render();
YAHOO.util.Event.onContentReady(prefix+"_fieldType_formId", checkFieldType);
YAHOO.util.Event.addListener(prefix+"_fieldType_formId", "change", checkFieldType);
function checkFieldType(){
if (this.value in hasHeightWidth){
height_module.show();
width_module.show()
}else{
height_module.hide();
width_module.hide()
}
if (this.value in hasVertical){
vertical_module.show();
}else{
vertical_module.hide();
}
if (this.value in hasSize){
size_module.show()
}else{
size_module.hide();
}
if (this.value in hasValues){
values_module.show();
}else{
values_module.hide();
}
var valueStart = this.value.slice(0,10);
if (valueStart != "otherThing"){
defaultValue_module.show();
}else{
defaultValue_module.hide();
}
if(valueStart == "otherThing"){
var thingId = this.value.slice(11);
var getFieldValues = function() {
var fieldInOtherThingId = this.value;
var url = location.pathname + "?func=selectDefaultFieldValue;thingId=" + thingId + ";fieldInOtherThingId=" + fieldInOtherThingId + ";fieldId=" + fieldId;
var handleSuccess = function(o){
defaultFieldInThing_module.setBody(o.responseText);
defaultFieldInThing_module.show();
};
var handleFailure = function(o) {
alert("Get field values failed: " + o.status);
};
var callback =
{
success:handleSuccess,
failure:handleFailure
};
var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
};
if (fieldInThing_module_rendered == thingId){
fieldInThing_module.show();
defaultFieldInThing_module.show();
}else{
var url = location.pathname + "?func=selectFieldInThing;thingId=" + thingId + ";prefix=" +prefix + ";fieldId=" + fieldId;
var handleSuccess = function(o){
fieldInThing_module.setBody(o.responseText);
fieldInThing_module.show();
fieldInThing_module_rendered = thingId;
YAHOO.util.Event.onContentReady(prefix+"_fieldInOtherThing_formId",getFieldValues);
YAHOO.util.Event.addListener(prefix+"_fieldInOtherThing_formId","change", getFieldValues);
};
var handleFailure = function(o) {
alert("Get fields in thing failed: " + o.status);
};
var callback =
{
success:handleSuccess,
failure:handleFailure
};
var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}
}else{
fieldInThing_module.hide();
defaultFieldInThing_module.hide();
}
}
}
function editListItem(url,fieldId,copy) {
var handleGetFormSuccess = function(o){
var handleSuccess = function(o) {
var response = o.responseText;
var listItemId = response.slice(0,22);
var newInnerHTML = response.slice(22);
var label = editFieldDialog.getData().label;
if(copy){
addListItemHTML(listItemId, newInnerHTML,label);
}
var li = new YAHOO.util.Element(listItemId);
li.set('innerHTML',newInnerHTML);
var search_label = new YAHOO.util.Element("search_label_"+listItemId);
search_label.set('innerHTML',label);
var view_label = new YAHOO.util.Element("view_label_"+listItemId);
view_label.set('innerHTML',label);
};
var handleFailure = function(o) {
alert("Submission failed: " + o.status);
};
var handleSubmit = function() {
this.submit();
};
var handleCancel = function() {
this.cancel();
this.destroy();
};
function optionalFields() {
initOptionalFields(dialogId,fieldId);
}
var dialogId = "edit_"+fieldId+"_Dialog";
if(copy){
dialogId = dialogId + '_copy';
}
editFieldDialog = new YAHOO.widget.Dialog(dialogId, { width:"460px", visible:false, draggable:true,close:true, fixedcenter:true, zIndex:11001, height: "430px",
autofillheight:null,
buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true },
{ text:"Cancel", handler:handleCancel } ]
} );
if(copy){
editFieldDialog.setHeader("Copy Field");
}else{
editFieldDialog.setHeader("Edit Field");
}
editFieldDialog.setBody(o.responseText);
editFieldDialog.render(document.body);
editFieldDialog.callback = { success: handleSuccess, failure: handleFailure };
editFieldDialog.show();
YAHOO.util.Event.onContentReady(dialogId, optionalFields);
initHoverHelp(dialogId);
};
var handleGetFormFailure = function(o) {
alert("Getting edit field dialog failed: " + o.status);
};
var callbackGetForm =
{
success:handleGetFormSuccess,
failure:handleGetFormFailure,
cache:false
};
var request = YAHOO.util.Connect.asyncRequest('GET', url, callbackGetForm);
}
function addListItemHTML(listItemId, newInnerHTML,label){
var ul1 = new YAHOO.util.Element('ul1');
var li = document.createElement('li');
li.id = listItemId;
li.className = 'list1';
li.innerHTML = newInnerHTML;
ul1.appendChild(li);
var newListItem = Dom.get(listItemId);
new YAHOO.draglist.DDList(newListItem);
// Add table row to fields on search tab
var search_fields_table = new YAHOO.util.Element('search_fields_table');
var search_fields_table_rows = search_fields_table.getElementsByTagName("tr");
var search_tr = document.createElement('tr');
search_tr.id = "search_tr_"+listItemId;
search_fields_table.appendChild(search_tr);
var label_td = document.createElement('td');
label_td.id = "search_label_"+listItemId;
label_td.className = 'formDescription';
label_td.innerHTML = label;
search_tr.appendChild(label_td);
var displayInSearch_td = document.createElement('td');
displayInSearch_td.id = "search_displayInSearch_"+listItemId;
displayInSearch_td.className = 'tableData';
displayInSearch_td.innerHTML = "";
search_tr.appendChild(displayInSearch_td);
var searchIn_td = document.createElement('td');
searchIn_td.id = "search_searchIn_"+listItemId;
searchIn_td.className = 'tableData';
// only the first field should be checked by default
if (search_fields_table_rows.length == 2){
searchIn_td.innerHTML = "";
}else{
searchIn_td.innerHTML = "";
}
search_tr.appendChild(searchIn_td);
var sortBy_td = document.createElement('td');
sortBy_td.id = "search_sortBy_"+listItemId;
sortBy_td.className = 'tableData';
sortBy_td.innerHTML = "";
search_tr.appendChild(sortBy_td);
// Add table row to fields on view tab
var view_fields_table = new YAHOO.util.Element('view_fields_table');
var view_fields_table_rows = view_fields_table.getElementsByTagName("tr");
var view_tr = document.createElement('tr');
view_tr.id = "view_tr_"+listItemId;
view_fields_table.appendChild(view_tr);
var view_label_td = document.createElement('td');
view_label_td.id = "view_label_"+listItemId;
view_label_td.className = 'formDescription';
view_label_td.innerHTML = label;
view_tr.appendChild(view_label_td);
var display_td = document.createElement('td');
display_td.id = "view_display_"+listItemId;
display_td.className = 'tableData';
display_td.innerHTML = "";
view_tr.appendChild(display_td);
var viewScreenTitle_td = document.createElement('td');
viewScreenTitle_td.id = "view_viewScreenTitle_"+listItemId;
viewScreenTitle_td.className = 'tableData';
// only the first field should be checked by default
if (view_fields_table_rows.length == 2){
viewScreenTitle_td.innerHTML = "";
}else{
viewScreenTitle_td.innerHTML = "";
}
view_tr.appendChild(viewScreenTitle_td);
}
function initAddFieldDialog() {
var handleSuccess = function(o) {
var response = o.responseText;
var listItemId = response.slice(0,22);
var newInnerHTML = response.slice(22);
var label = addFieldDialog.getData().label;
addListItemHTML(listItemId, newInnerHTML,label);
};
var handleFailure = function(o) {
alert("Submission failed: " + o.status);
};
var handleSubmit = function() {
this.submit();
};
var handleCancel = function() {
this.cancel();
};
var addFieldDialog = new YAHOO.widget.Dialog("addDialog", { width:"460px", visible:false,
draggable:true, close:true, fixedcenter:true, zIndex:11002, height: "430px",
autofillheight:null,
buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true },
{ text:"Cancel", handler:handleCancel } ]
} );
addFieldDialog.callback = { success: handleSuccess, failure: handleFailure };
addFieldDialog.render();
initOptionalFields("addDialog");
YAHOO.util.Event.addListener("showAddFormButton", "click", addFieldDialog.show, addFieldDialog, true);
}
YAHOO.util.Event.addListener(window, "load", initAddFieldDialog);
function deleteListItem (url,listItemId,thingId) {
if (confirm("Are you sure you want to delete this field?")){
var handleSuccess = function(o){
var ul1 = new YAHOO.util.Element('ul1');
var removeElement = YAHOO.util.Dom.get(listItemId);
ul1.removeChild(removeElement);
var search_fields_table = new YAHOO.util.Element('search_fields_table');
removeElement = YAHOO.util.Dom.get("search_tr_"+listItemId);
search_fields_table.removeChild(removeElement);
var view_fields_table = new YAHOO.util.Element('view_fields_table');
removeElement = YAHOO.util.Dom.get("view_tr_"+listItemId);
view_fields_table.removeChild(removeElement);
};
var handleFailure = function(o) {
alert("Submission failed: " + o.status);
};
var callback =
{
success:handleSuccess,
failure:handleFailure
};
var postData = "func=deleteFieldConfirm;fieldId=" + listItemId + ";thingId=" + thingId;
var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}
}
var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;
var DDM = YAHOO.util.DragDropMgr;
YAHOO.namespace ("draglist");
(function() {
YAHOO.draglist.DDApp = {
init: function() {
new YAHOO.util.DDTarget("ul1");
var ul1=Dom.get("ul1");
var items = ul1.getElementsByTagName("li");
for (i=0;i this.lastY) {
this.goingUp = false;
}
this.lastY = y;
},
onDragOver: function(e, id) {
var srcEl = this.getEl();
var destEl = Dom.get(id);
// We are only concerned with list items, we ignore the dragover
// notifications for the list.
if (destEl.nodeName.toLowerCase() == "li") {
var orig_p = srcEl.parentNode;
var p = destEl.parentNode;
destination = destEl.id;
if (this.goingUp) {
direction = 'up';
p.insertBefore(srcEl, destEl); // insert above
} else {
direction = 'down';
p.insertBefore(srcEl, destEl.nextSibling); // insert below
}
DDM.refreshCache();
}
}
});
Event.onDOMReady(YAHOO.draglist.DDApp.init, YAHOO.draglist.DDApp, true);
})();