I have javascript file which is ugly but I have not idea how to make it better. There are many function for redirecting with different number of parameters. Just few functions are used for other thinks. All this functions will be called from Jquery event. Like this:
$("#btnSomeButtonID").click(function () { SelectPTO(); });
I would like to simplify logic. Do you have any ideas for refactoring? Thank you for your help.
// Require refactoring, all is public. Need to investigate what is best way.
var pushupdatesList; //public
var pushupdatesListRun = true;//public
var loading = false;//public
// functions with 0 parameters
function StartLoading() {
if (loading)
return;
loading = true;
$("#loadingbar").show();
}
function StopLoading() {
loading = false;
$("#loadingbar").hide();
}
// redirect functions with 0 parameters
function OpenAddCompany() {
location.href = "/Administration/AddCompany";
}
function OpenAdminTools() {
StartLoading();
location.href = "/Administration/GetCompanies";
}
function Logout() {
StartLoading();
AbortPushUpdates();
loading = 0;
location.href = "/Home/Logoff";
}
function SelectPTO() {
StartLoading();
AbortPushUpdates();
loading = 0;
location.href = "/Home/SelectEquipmentCollection";
}
function OpenChangePassword() {
StartLoading();
loading = 0;
location.href = "/Home/ChangePassword";
}
// functions with 1 parameter
function OpenGetPTOs(ID) {
StartLoading();
loading = 0;
location.href = "/Administration/GetEquipmentCollections/" + ID;
}
function OpenAddPTO(ID) {
StartLoading();
loading = 0;
location.href = "/Administration/AddEquipmentCollection/" + ID;
}
function OpenGetAccountsForCompany(ID) {
StartLoading();
loading = 0;
location.href = "/Administration/GetAccountsForCompany/" + ID;
}
function OpenAddAccount(ID) {
StartLoading();
loading = 0;
location.href = "/Administration/AddAccount/" + ID;
}
// functions with 2 parameters
function OpenGetAccountsForPTO(ID, CompanyID) {
StartLoading();
loading = 0;
location.href = "/Administration/GetAccountsForEquipmentCollection/" + ID + "?CompanyID=" + CompanyID;
}
function OpenAddAccountToPTO(ID, CompanyID) {
StartLoading();
loading = 0;
location.href = "/Administration/AddAccountToEquipmentCollection/" + ID + "?CompanyID=" + CompanyID;
}
function OpenGetVehiclesForPTO(ID, CompanyID) {
StartLoading();
loading = 0;
location.href = "/Administration/GetEquipmentForCollection/" + ID + "?CompanyID=" + CompanyID;
}
function OpenAddVehicleToPTO(ID, CompanyID) {
StartLoading();
loading = 0;
location.href = "/Administration/AddEquipmentToCollection/" + ID + "?CompanyID=" + CompanyID;
}