2011-07-12 01:40:40 +00:00
|
|
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
|
|
|
|
|
|
|
var menuManagementEdit = {
|
|
|
|
onLoad: function() {
|
|
|
|
this.initObjects();
|
|
|
|
this.bindEventListeners();
|
|
|
|
},
|
|
|
|
initObjects: function() {
|
|
|
|
this.changeContentType = $('#changeContentType');
|
|
|
|
this.selectContentType = $('#selectContentType');
|
|
|
|
this.existingContentType = $('#existingContentType');
|
|
|
|
this.selectClassGroupDropdown = $('#selectClassGroup');
|
|
|
|
this.classesForClassGroup = $('#classesInSelectedGroup');
|
|
|
|
this.selectedGroupForPage = $('#selectedContentTypeValue');
|
|
|
|
this.selectClassesMessage = $('#selectClassesMessage');
|
|
|
|
|
|
|
|
},
|
|
|
|
bindEventListeners: function() {
|
|
|
|
// Listeners for vClass switching
|
|
|
|
this.changeContentType.click(function() {
|
|
|
|
menuManagementEdit.showClassGroups();
|
|
|
|
return false;
|
|
|
|
});
|
|
|
|
this.selectClassGroupDropdown.change(function() {
|
2011-07-12 02:13:45 +00:00
|
|
|
menuManagementEdit.chooseClassGroup();
|
2011-07-12 01:40:40 +00:00
|
|
|
});
|
|
|
|
},
|
|
|
|
showClassGroups: function() {
|
|
|
|
if(!this.existingContentType.hasClass("hide")) {
|
|
|
|
this.existingContentType.addClass("hide");
|
|
|
|
this.selectClassesMessage.addClass("hide");
|
|
|
|
this.classesForClassGroup.addClass("hide");
|
|
|
|
}
|
|
|
|
this.selectContentType.removeClass("hide");
|
|
|
|
|
|
|
|
},
|
|
|
|
hideClassGroups: function() {
|
|
|
|
if(!this.selectContentType.hasClass("hide")) {
|
|
|
|
|
|
|
|
this.selectContentType.addClass("hide");
|
|
|
|
}
|
|
|
|
this.existingContentType.removeClass("hide");
|
|
|
|
this.selectClassesMessage.removeClass("hide");
|
|
|
|
this.classesForClassGroup.removeClass("hide");
|
2011-07-12 02:13:45 +00:00
|
|
|
},
|
2011-07-12 01:40:40 +00:00
|
|
|
chooseClassGroup: function() {
|
|
|
|
|
2011-07-12 02:13:45 +00:00
|
|
|
var url = "dataservice?getVClassesForVClassGroup=1&classgroupUri=";
|
2011-07-12 01:40:40 +00:00
|
|
|
var vclassUri = this.selectClassGroupDropdown.val();
|
2011-07-12 02:13:45 +00:00
|
|
|
url += encodeURIComponent(vclassUri);
|
2011-07-12 01:40:40 +00:00
|
|
|
//Make ajax call to retrieve vclasses
|
|
|
|
$.getJSON(url, function(results) {
|
|
|
|
|
|
|
|
if ( results.classes.length == 0 ) {
|
|
|
|
|
|
|
|
} else {
|
|
|
|
//update existing content type with correct class group name and hide class group select again
|
2011-07-12 02:13:45 +00:00
|
|
|
var _this = menuManagementEdit;
|
|
|
|
_this.hideClassGroups();
|
2011-07-12 01:40:40 +00:00
|
|
|
|
2011-07-12 02:13:45 +00:00
|
|
|
_this.selectedGroupForPage.html(results.classGroupName);
|
2011-07-12 01:40:40 +00:00
|
|
|
//retrieve classes for class group and display with all selected
|
2011-07-12 02:13:45 +00:00
|
|
|
_this.classesForClassGroup.empty();
|
|
|
|
_this.classesForClassGroup.append("<ul id='selectedClasses' name='selectedClasses'>");
|
|
|
|
_this.classesForClassGroup.append('<li class="ui-state-default">' +
|
2011-07-12 17:31:04 +00:00
|
|
|
'<input type="checkbox" name="allSelected" id="allSelected" value="all" checked/>' +
|
2011-07-12 01:40:40 +00:00
|
|
|
'<label class="inline" for="All"> All</label>' +
|
|
|
|
'</li>');
|
|
|
|
$.each(results.classes, function(i, item) {
|
|
|
|
var thisClass = results.classes[i];
|
|
|
|
var thisClassName = thisClass.name;
|
2011-07-12 17:31:04 +00:00
|
|
|
//When first selecting new content type, all classes should be selected
|
2011-07-12 02:13:45 +00:00
|
|
|
menuManagementEdit.classesForClassGroup.append(' <li class="ui-state-default">' +
|
2011-07-12 17:31:04 +00:00
|
|
|
'<input type="checkbox" checked name="classInClassGroup" value="' + thisClass.URI + '" />' +
|
2011-07-12 01:40:40 +00:00
|
|
|
'<label class="inline" for="' + thisClassName + '"> ' + thisClassName + '</label>' +
|
|
|
|
'</li>');
|
|
|
|
});
|
2011-07-12 02:13:45 +00:00
|
|
|
_this.classesForClassGroup.append("</ul>");
|
2011-07-12 01:40:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
menuManagementEdit.onLoad();
|
|
|
|
});
|