2013-11-17 11:50:06 -05:00
|
|
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
|
|
|
|
2013-11-19 16:45:13 -05:00
|
|
|
function DeveloperPanel(developerAjaxUrl) {
|
|
|
|
this.setupDeveloperPanel = updateDeveloperPanel;
|
|
|
|
|
2014-04-29 11:56:47 -04:00
|
|
|
function updateDeveloperPanel(data) {
|
2013-11-17 11:50:06 -05:00
|
|
|
$.ajax({
|
|
|
|
url: developerAjaxUrl,
|
2014-04-29 11:56:47 -04:00
|
|
|
dataType: "html",
|
|
|
|
data: data,
|
2013-11-17 11:50:06 -05:00
|
|
|
complete: function(xhr, status) {
|
|
|
|
updatePanelContents(xhr.responseText);
|
|
|
|
if (document.getElementById("developerPanelSaveButton")) {
|
2014-01-05 17:19:23 -05:00
|
|
|
initializeTabs();
|
2013-11-17 11:50:06 -05:00
|
|
|
addBehaviorToElements();
|
|
|
|
updateDisabledFields();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function updatePanelContents(contents) {
|
|
|
|
document.getElementById("developerPanel").innerHTML = contents;
|
|
|
|
}
|
|
|
|
|
2014-01-05 17:19:23 -05:00
|
|
|
function initializeTabs() {
|
|
|
|
$("#developerTabs").tabs();
|
|
|
|
}
|
|
|
|
|
|
|
|
function addBehaviorToElements() {
|
|
|
|
$( "#developerPanelClickMe" ).click(openPanel);
|
2014-04-29 11:56:47 -04:00
|
|
|
$( "#developerPanelSaveButton" ).click(saveSettings);
|
|
|
|
$( "#developerPanelBody input:checkbox" ).change(updateDisabledFields);
|
2013-11-17 11:50:06 -05:00
|
|
|
}
|
|
|
|
|
2014-01-05 17:19:23 -05:00
|
|
|
function openPanel() {
|
|
|
|
$( "#developerPanelClickText" ).hide();
|
2014-04-29 11:56:47 -04:00
|
|
|
$( "#developerPanelBody" ).show();
|
|
|
|
}
|
|
|
|
|
|
|
|
function saveSettings() {
|
|
|
|
$( "#developerPanelBody" ).hide();
|
|
|
|
updateDeveloperPanel(collectFormData());
|
2013-11-17 11:50:06 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function updateDisabledFields() {
|
2014-01-04 14:22:29 -05:00
|
|
|
var developerEnabled = document.getElementById("developer_enabled").checked;
|
|
|
|
document.getElementById("developer_permitAnonymousControl").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_defeatFreemarkerCache").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_insertFreemarkerDelimiters").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_pageContents_logCustomListView").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_pageContents_logCustomShortView").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_i18n_defeatCache").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_i18n_logStringRequests").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_loggingRDFService_enable").disabled = !developerEnabled;
|
2014-05-05 16:53:36 -04:00
|
|
|
document.getElementById("developer_searchIndex_enable").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_searchDeletions_enable").disabled = !developerEnabled;
|
|
|
|
document.getElementById("developer_searchEngine_enable").disabled = !developerEnabled;
|
2014-01-07 15:08:30 -05:00
|
|
|
document.getElementById("developer_authorization_logDecisions_enable").disabled = !developerEnabled;
|
2013-11-17 11:50:06 -05:00
|
|
|
|
2014-01-04 14:22:29 -05:00
|
|
|
var rdfServiceEnabled = developerEnabled && document.getElementById("developer_loggingRDFService_enable").checked;
|
|
|
|
document.getElementById("developer_loggingRDFService_stackTrace").disabled = !rdfServiceEnabled;
|
|
|
|
document.getElementById("developer_loggingRDFService_queryRestriction").disabled = !rdfServiceEnabled;
|
|
|
|
document.getElementById("developer_loggingRDFService_stackRestriction").disabled = !rdfServiceEnabled;
|
2014-05-05 16:53:36 -04:00
|
|
|
|
|
|
|
var searchIndexEnabled = developerEnabled && document.getElementById("developer_searchIndex_enable").checked;
|
|
|
|
document.getElementById("developer_searchIndex_showDocuments").disabled = !searchIndexEnabled;
|
|
|
|
document.getElementById("developer_searchIndex_uriOrNameRestriction").disabled = !searchIndexEnabled;
|
|
|
|
document.getElementById("developer_searchIndex_documentRestriction").disabled = !searchIndexEnabled;
|
|
|
|
|
|
|
|
var searchEngineEnabled = developerEnabled && document.getElementById("developer_searchEngine_enable").checked;
|
|
|
|
document.getElementById("developer_searchEngine_addStackTrace").disabled = !searchEngineEnabled;
|
|
|
|
document.getElementById("developer_searchEngine_addResults").disabled = !searchEngineEnabled;
|
|
|
|
document.getElementById("developer_searchEngine_queryRestriction").disabled = !searchEngineEnabled;
|
|
|
|
document.getElementById("developer_searchEngine_stackRestriction").disabled = !searchEngineEnabled;
|
2014-01-07 15:08:30 -05:00
|
|
|
|
|
|
|
var authLoggingEnabled = developerEnabled && document.getElementById("developer_authorization_logDecisions_enable").checked;
|
|
|
|
document.getElementById("developer_authorization_logDecisions_skipInconclusive").disabled = !authLoggingEnabled;
|
|
|
|
document.getElementById("developer_authorization_logDecisions_addIdentifiers").disabled = !authLoggingEnabled;
|
|
|
|
document.getElementById("developer_authorization_logDecisions_actionRestriction").disabled = !authLoggingEnabled;
|
|
|
|
document.getElementById("developer_authorization_logDecisions_policyRestriction").disabled = !authLoggingEnabled;
|
|
|
|
document.getElementById("developer_authorization_logDecisions_userRestriction").disabled = !authLoggingEnabled;
|
2013-11-17 11:50:06 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function collectFormData() {
|
|
|
|
var data = new Object();
|
2014-01-05 17:19:23 -05:00
|
|
|
$( "#developerPanelBody [type=checkbox]" ).each(function(i, element){
|
|
|
|
data[element.id] = element.checked;
|
|
|
|
});
|
|
|
|
$( "#developerPanelBody [type=text]" ).each(function(i, element){
|
|
|
|
data[element.id] = element.value;
|
|
|
|
});
|
2013-11-17 11:50:06 -05:00
|
|
|
return data;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2014-01-05 17:18:37 -05:00
|
|
|
* Relies on the global variables for the AJAX URL and the CSS files.
|
2013-11-17 11:50:06 -05:00
|
|
|
*/
|
|
|
|
$(document).ready(function() {
|
2014-01-05 17:18:37 -05:00
|
|
|
$.each(developerCssLinks, function(index, value){
|
|
|
|
var cssLink = $("<link rel='stylesheet' type='text/css' href='" + value + "'>");
|
|
|
|
$("head").append(cssLink);
|
|
|
|
});
|
|
|
|
|
2014-01-05 17:19:23 -05:00
|
|
|
new DeveloperPanel(developerAjaxUrl).setupDeveloperPanel();
|
2013-11-17 11:50:06 -05:00
|
|
|
});
|
2013-11-19 16:45:13 -05:00
|
|
|
|