///
(function (window) {
if (!ts.prospectinformationapplication)
ts.prospectinformationapplication = {};
ts.prospectinformationapplication = {
prospectEid: "00000000-0000-0000-0000-000000000000",
prospectId: 0,
programApplicationId: "",
programApplicationToDoItemId: "",
hasReadPermission: false,
hasAddPermission: false,
hasModifyPermission: false,
hasDeletePermission: false,
hasOverridePermission: false,
hasReadOthersPermission: false,
loadingDiv: '',
init: function () {
this.loadingDiv = "
".bind({ loading: ts.prospectinformationapplication.labels.LOADINGMESSAGE });
},
registerEvents: function () {
var scope = this;
scope.registerApplicationEvents();
$('#prospectInfoApplicationBackLink')
.unbind('click')
.click(function () {
if (scope.panelId == "#editToDoItemsPanel")
scope.openViewToDoItemsPanel(scope.programApplicationId);
else
scope.openProspectInfoApplicationsMainPanel();
});
$('#prospectInfoApplicationSaveLink')
.unbind('click')
.click(function () {
scope.saveToDoItem();
});
},
registerApplicationEvents: function () {
var scope = this;
if (scope.hasDeletePermission) {
$('.deleteItem', '#prospectInfoApplicationPanel')
.unbind('click')
.click(function (e) {
e.stopImmediatePropagation();
scope.programApplicationId = $(e.currentTarget).attr('ts-id');
if (scope.programApplicationId) {
scope.deleteProgramApplication();
}
});
}
if (scope.hasModifyPermission) {
$('.editItem', '#prospectInfoApplicationPanel')
.unbind('click')
.click(function (e) {
e.stopImmediatePropagation();
});
}
if (scope.hasReadPermission) {
$('.applicationTile', '#prospectInfoApplicationPanel')
.unbind('click')
.click(function (e) {
scope.programApplicationId = $(e.currentTarget).attr('ts-id');
var hasToDoItems = $(e.currentTarget).attr('hastodoitems').toLowerCase() == "true";
if (scope.programApplicationId && hasToDoItems) {
scope.openViewToDoItemsPanel();
}
});
}
},
registerToDoItemEvents: function () {
var scope = this;
if (scope.hasModifyPermission) {
$('.toDoItemTile', '#prospectInfoApplicationPanel')
.unbind('click')
.click(function (e) {
var isDownloadLinkClicked = $(e.target).is("a");
var isFileActionClicked = $(e.target).is("div.toDoUploadButton") || $(e.target).is("input[type='file']");
if (!isDownloadLinkClicked && !isFileActionClicked) {
e.stopImmediatePropagation();
var id = $(e.currentTarget).attr('ts-id');
if (id) {
scope.openEditToDoItemsPanel(id);
}
}
});
}
if (scope.hasAddPermission || scope.hasModifyPermission) {
$('.toDoUploadFile', '#prospectInfoApplicationPanel')
.unbind('change')
.change(function (e) {
e.stopImmediatePropagation();
var fileInputElement = $(this);
var toDoItemCell = fileInputElement.parent().parent();
var programApplicationToDoItemId = fileInputElement.attr('id').split('_')[1];
var url = fileInputElement.attr('uploadUrl');
var uploadForm = $("#toDoUploadForm", '#prospectInfoApplicationPanel');
var isDocumentUploaded = $("#PersonDocumentFor_" + programApplicationToDoItemId).val() > 0;
var allowDocumentUpload = !isDocumentUploaded || confirm(ts.prospectinformationapplication.labels.CONFIRMUPLOADMESSAGE);
if (allowDocumentUpload) {
uploadForm.ajaxSubmit({
iframe: true,
resetForm: true,
dataType: 'json',
url: url,
beforeSubmit: function () {
scope.showHideLoaderAndUploadIcon(true, toDoItemCell);
},
success: function (result) {
ts.ajax.handleResult(result);
scope.showHideLoaderAndUploadIcon(false, toDoItemCell);
if (result.State == 0) {
scope.openViewToDoItemsPanel();
}
else if (result.Messages.length > 0) {
ts.msg.sendError(result.Messages[0].Message);
}
},
error: function (result) {
ts.msg.sendMsg('sysWarning', 'unknown error: ' + result.responseText);
scope.showHideLoaderAndUploadIcon(false, toDoItemCell);
}
});
}
});
}
},
showHideLoaderAndUploadIcon: function (show, toDoItemCell) {
var hideClass = "hide";
// hide upload icon and show loader - before submit
if (show) {
$('.toDoUploadContainer', toDoItemCell).addClass(hideClass);
$('#toDoAttachFileLoader', toDoItemCell).removeClass(hideClass);
} else { // show upload icon and hide loader - after submit
$('.toDoUploadContainer', toDoItemCell).removeClass(hideClass);
$('#toDoAttachFileLoader', toDoItemCell).addClass(hideClass);
}
},
openProspectInfoApplicationsPopUp: function (prospectEid, prospectId) {
if (prospectEid) {
var scope = this;
var id = ts.win.modal({
id: 'prospectInfoApplicationPopUp',
url: String.format('/Admissions/ProspectInformationApplication/{0}', prospectEid),
binder: function () {
scope.prospectEid = prospectEid;
scope.prospectId = prospectId;
scope.hasReadPermission = $("#hasReadPermission", "#prospectInfoApplicationPanel").length && $("#hasReadPermission", "#prospectInfoApplicationPanel").val().toLowerCase() == "true";
scope.hasAddPermission = $("#hasAddPermission", "#prospectInfoApplicationPanel").length && $("#hasAddPermission", "#prospectInfoApplicationPanel").val().toLowerCase() == "true";
scope.hasModifyPermission = $("#hasModifyPermission", "#prospectInfoApplicationPanel").length && $("#hasModifyPermission", "#prospectInfoApplicationPanel").val().toLowerCase() == "true";
scope.hasDeletePermission = $("#hasDeletePermission", "#prospectInfoApplicationPanel").length && $("#hasDeletePermission", "#prospectInfoApplicationPanel").val().toLowerCase() == "true";
scope.registerEvents();
scope.cancelProspectInfoApplicationPopUp(id);
},
title: ts.prospectinformationapplication.labels.TITLE
});
}
},
cancelProspectInfoApplicationPopUp: function (id) {
$('#prospectInfoApplicationCancelLink').click(function (e) {
ts.win.closeModal(id);
});
},
openPanel: function (id, panelId, url) {
var scope = this;
var panel = $(panelId);
scope.panelId = panelId;
scope.controlMenuItems(scope.panelId);
if (scope.prospectEid) {
ts.utility.html(panel, scope.loadingDiv);
ts.ajax.send({
url: url,
successHandler: function (data) {
panel.contents().fadeOut('fast', function (e) {
panel.html(data);
scope.registerApplicationEvents();
scope.registerToDoItemEvents();
});
},
errorHandler: function (data) {
ts.msg.sendError('An error occurred while loading Application To Do Items.');
ts.msg.sendMsg('sysWarning', 'unknown error: ' + data.responseText);
}
});
}
$('#sliderPanel', '#prospectInfoApplicationPanel').scrollTo(panel, 250);
},
openProspectInfoApplicationsMainPanel: function () {
var scope = this;
var url = '/Admissions/ProspectInformationApplication/Applications/{prospectEid}'.bind({ prospectEid: scope.prospectEid });
ts.prospectinformationapplication.openPanel(scope.prospectEid, '#prospectInfoApplicationsMainPanel', url);
},
openViewToDoItemsPanel: function () {
var scope = this;
var url = '/Admissions/ProspectInformationApplication/ViewToDoItems/{prospectId}/{programApplicationId}'.bind({ prospectId: scope.prospectId, programApplicationId: scope.programApplicationId });
ts.prospectinformationapplication.openPanel(scope.programApplicationId, '#viewToDoItemsPanel', url);
},
openEditToDoItemsPanel: function (programApplicationToDoItemId) {
var scope = this;
var editPanel = $('#editToDoItemsPanel');
scope.panelId = '#editToDoItemsPanel';
scope.controlMenuItems(scope.panelId);
scope.programApplicationToDoItemId = programApplicationToDoItemId;
if (scope.prospectEid) {
ts.utility.html(editPanel, scope.loadingDiv);
var url = '/Admissions/ProspectInformationApplication/{programApplicationId}/EditToDoItems/{programApplicationToDoItemId}'.bind({ programApplicationId: scope.programApplicationId, programApplicationToDoItemId: programApplicationToDoItemId });
ts.ajax.send({
url: url,
successHandler: function (data) {
editPanel.contents().fadeOut('fast', function (e) {
editPanel.html(data);
scope.validate();
$('#DueDate', '#editToDoItemsForm').datepicker();
scope.form_clean = $('#editToDoItemsForm').serialize();
});
},
errorHandler: function (data) {
ts.msg.sendError('An error occurred while loading ToDo Item.');
ts.msg.sendMsg('sysWarning', 'unknown error ts.prospectinformationapplication.openEditToDoItemsPanel ajax: ' + data.responseText);
}
});
}
$('#sliderPanel', '#prospectInfoApplicationPanel').scrollTo(editPanel, 250);
},
validate: function () {
$('#editToDoItemsForm').validate();
$('#DueDate', '#editToDoItemsForm').rules("add", {
validdate: true,
messages: { validdate: ts.prospectinformationapplication.labels.VALIDDATEMESSAGE }
});
},
saveToDoItem: function () {
var scope = this;
if (scope.programApplicationId && scope.programApplicationToDoItemId && $('#editToDoItemsForm').valid()) {
var url = '/Admissions/ProspectInformationApplication/{programApplicationId}/SaveToDoItem/'.bind({ programApplicationId: scope.programApplicationId });
ts.ajax.send({
url: url,
data: $('#editToDoItemsForm').serialize(),
type: 'POST',
successHandler: function (data) {
ts.ajax.handleResult(data);
scope.openViewToDoItemsPanel(scope.programApplicationId);
},
errorHandler: function (data) {
ts.msg.sendError(ts.prospectinformationapplication.labels.SAVEERRORMESSAGE);
ts.msg.sendMsg('sysWarning', 'unknown error ts.prospectinformationapplication.save ajax: ' + data.responseText);
}
});
}
},
deleteProgramApplication: function () {
var scope = this;
var url = '/Admissions/ProspectInformationApplication/Delete/{programApplicationId}'.bind({ programApplicationId: scope.programApplicationId });
if (confirm(ts.prospectinformationapplication.labels.CONFIRMDELETEMESSAGE)) {
ts.msg.sendInfo(ts.prospectinformationapplication.labels.DELETINGMESSAGE);
ts.ajax.send({
url: url,
type: 'POST',
successHandler: function (result) {
ts.ajax.handleResult(result);
if (result.State == 0) {
$(".applicationTile[ts-id=" + scope.programApplicationId + "]").hide();
}
},
errorHandler: function (result) {
ts.msg.sendError(ts.prospectinformationapplication.labels.DELETEERRORMESSAGE);
ts.msg.sendMsg('sysWarning', 'unknown error ts.prospectinformationapplication.delete ajax: ' + result.responseText);
}
});
}
},
controlMenuItems: function (panelId) {
if (panelId == "#prospectInfoApplicationsMainPanel") {
$(".actionMenu ul:eq(0)").show();
$(".actionMenu ul:eq(1)").hide();
}
else if (panelId == "#viewToDoItemsPanel") {
$(".actionMenu ul:eq(0)").hide();
$(".actionMenu ul:eq(1)").show();
$(".actionMenu ul:eq(1) > li").eq(1).css({ "border-left": "none" });
$(".actionMenu ul:eq(1) > li").eq(0).hide();
}
else if (panelId == "#editToDoItemsPanel") {
$(".actionMenu ul:eq(0)").hide();
$(".actionMenu ul:eq(1)").show();
$(".actionMenu ul:eq(1) > li").eq(0).show();
$(".actionMenu ul:eq(1) > li").eq(1).css({ "border-left": "solid 1px black" });
}
},
labels: {
TITLE: window.prospectInfoApplicationPageTitle || 'Applications',
CONFIRMDELETEMESSAGE: window.prospectInfoApplicationConfirmDeleteMessage || 'Are you sure you want to delete the application?',
DELETINGMESSAGE: window.prospectInfoApplicationDeletingMessage || 'Deleting application.',
DELETEERRORMESSAGE: window.prospectInfoApplicationDeleteErrorMessage || 'Error occured while deleting application.',
LOADINGMESSAGE: window.prospectInfoApplicationLoadingMessage || 'Loading',
VALIDDATEMESSAGE: window.prospectInfoApplicationValidDateMessage || 'Please insert valid date.',
SAVEERRORMESSAGE: window.prospectInfoApplicationToDoItemSaveErrorMessage || 'Error occured while saving ToDo item.',
CONFIRMUPLOADMESSAGE: window.prospectInfoApplicationConfirmUploadMessage || "You are about to replace the existing document with a new one. Are you sure you want to proceed?"
}
};
$(document).ready(function () {
ts.prospectinformationapplication.init();
});
})(window);