Use JQuery to simplify some of the behavior code in the developer panel
This commit is contained in:
parent
23c30a8957
commit
0f0cac5d35
1 changed files with 21 additions and 40 deletions
|
@ -3,18 +3,17 @@
|
||||||
function DeveloperPanel(developerAjaxUrl) {
|
function DeveloperPanel(developerAjaxUrl) {
|
||||||
this.setupDeveloperPanel = updateDeveloperPanel;
|
this.setupDeveloperPanel = updateDeveloperPanel;
|
||||||
|
|
||||||
function updateDeveloperPanel(data) {
|
function updateDeveloperPanel() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: developerAjaxUrl,
|
url: developerAjaxUrl,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: data,
|
data: collectFormData(),
|
||||||
complete: function(xhr, status) {
|
complete: function(xhr, status) {
|
||||||
updatePanelContents(xhr.responseText);
|
updatePanelContents(xhr.responseText);
|
||||||
if (document.getElementById("developerPanelSaveButton")) {
|
if (document.getElementById("developerPanelSaveButton")) {
|
||||||
enablePanelOpener();
|
initializeTabs();
|
||||||
addBehaviorToElements();
|
addBehaviorToElements();
|
||||||
updateDisabledFields();
|
updateDisabledFields();
|
||||||
initializeTabs();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -24,19 +23,19 @@ function DeveloperPanel(developerAjaxUrl) {
|
||||||
document.getElementById("developerPanel").innerHTML = contents;
|
document.getElementById("developerPanel").innerHTML = contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
function enablePanelOpener() {
|
function initializeTabs() {
|
||||||
document.getElementById("developerPanelClickMe").onclick = function() {
|
$("#developerTabs").tabs();
|
||||||
document.getElementById("developerPanelClickText").style.display = "none";
|
|
||||||
document.getElementById("developerPanelBody").style.display = "block";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function addBehaviorToElements() {
|
function addBehaviorToElements() {
|
||||||
document.getElementById("developerPanelSaveButton").onclick = function() {
|
$( "#developerPanelClickMe" ).click(openPanel);
|
||||||
updateDeveloperPanel(collectFormData());
|
$( "#developerPanelSaveButton" ).click(updateDeveloperPanel);
|
||||||
|
$( "#developerPanelBody [type=checkbox]" ).change(updateDisabledFields);
|
||||||
}
|
}
|
||||||
document.getElementById("developer_enabled").onchange = updateDisabledFields
|
|
||||||
document.getElementById("developer_loggingRDFService_enable").onchange = updateDisabledFields
|
function openPanel() {
|
||||||
|
$( "#developerPanelClickText" ).hide();
|
||||||
|
$( "#developerPanelBody" ).css( "display", "block" );
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateDisabledFields() {
|
function updateDisabledFields() {
|
||||||
|
@ -56,34 +55,16 @@ function DeveloperPanel(developerAjaxUrl) {
|
||||||
document.getElementById("developer_loggingRDFService_stackRestriction").disabled = !rdfServiceEnabled;
|
document.getElementById("developer_loggingRDFService_stackRestriction").disabled = !rdfServiceEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
function initializeTabs() {
|
|
||||||
$("#developerTabs").tabs();
|
|
||||||
}
|
|
||||||
|
|
||||||
function collectFormData() {
|
function collectFormData() {
|
||||||
var data = new Object();
|
var data = new Object();
|
||||||
getCheckbox("developer_enabled", data);
|
$( "#developerPanelBody [type=checkbox]" ).each(function(i, element){
|
||||||
getCheckbox("developer_permitAnonymousControl", data);
|
data[element.id] = element.checked;
|
||||||
getCheckbox("developer_defeatFreemarkerCache", data);
|
});
|
||||||
getCheckbox("developer_insertFreemarkerDelimiters", data);
|
$( "#developerPanelBody [type=text]" ).each(function(i, element){
|
||||||
getCheckbox("developer_pageContents_logCustomListView", data);
|
data[element.id] = element.value;
|
||||||
getCheckbox("developer_pageContents_logCustomShortView", data);
|
});
|
||||||
getCheckbox("developer_i18n_defeatCache", data);
|
|
||||||
getCheckbox("developer_i18n_logStringRequests", data);
|
|
||||||
getCheckbox("developer_loggingRDFService_enable", data);
|
|
||||||
getCheckbox("developer_loggingRDFService_stackTrace", data);
|
|
||||||
getText("developer_loggingRDFService_queryRestriction", data);
|
|
||||||
getText("developer_loggingRDFService_stackRestriction", data);
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCheckbox(key, dest) {
|
|
||||||
dest[key] = document.getElementById(key).checked;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getText(key, dest) {
|
|
||||||
dest[key] = document.getElementById(key).value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -95,6 +76,6 @@ $(document).ready(function() {
|
||||||
$("head").append(cssLink);
|
$("head").append(cssLink);
|
||||||
});
|
});
|
||||||
|
|
||||||
new DeveloperPanel(developerAjaxUrl).setupDeveloperPanel({});
|
new DeveloperPanel(developerAjaxUrl).setupDeveloperPanel();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue