/*jslint browser : true, continue : true, devel : true, indent : 2, maxerr : 50, newcap : true, nomen : true, plusplus : true, regexp : true, sloppy : true, vars : false, white : true */ /*global $, app */ app.trialEdit = (function () { "use strict"; //---------------- BEGIN MODULE SCOPE VARIABLES -------------- var stateMap = {}, onApprove, onReject, onDelete, configModule, initModule; //----------------- END MODULE SCOPE VARIABLES --------------- //------------------- BEGIN EVENT HANDLERS ------------------- //ONAPPROVE // onApprove = function (event) { event.preventDefault(); $.gevent.publish("app-clear-error"); app.api.postAction("trial/approve/" + stateMap.id, function (res) { if (res.error) { $.gevent.publish("app-show-error", res.msg); } else { app.utilB.formData(res); } }); return false; //prevent default? }; //ONREJECT // onReject = function (event) { event.preventDefault(); $.gevent.publish("app-clear-error"); var reason = $("#rejectReason").val(); if (reason) { reason = "?rejectReason=" + reason; } var r = confirm("Are you sure you want to reject this request?"); if (r == true) { app.api.postAction("trial/reject/" + stateMap.id + reason, function ( res ) { if (res.error) { $.gevent.publish("app-show-error", res.msg); } else { app.utilB.formData(res); } }); } else { return false; } return false; //prevent default? }; //ONDELETE // onDelete = function (event) { event.preventDefault(); $.gevent.publish("app-clear-error"); var r = confirm("Are you sure you want to delete this record?"); if (r == true) { app.api.remove("trial/" + stateMap.id, function (res) { if (res.error) { $.gevent.publish("app-show-error", res.msg); } else { page("#!/trials"); return false; } }); } else { return false; } return false; //prevent default? }; //-------------------- END EVENT HANDLERS -------------------- //------------------- BEGIN PUBLIC METHODS ------------------- //CONFIGMODULE // configModule = function (context) { stateMap.context = context.context; if (stateMap.context.params.id) { stateMap.id = stateMap.context.params.id; } }; //INITMODULE // initModule = function ($container) { if (typeof $container === "undefined") { $container = $("#app-shell-main-content"); } $container.html(Handlebars.templates["app.trialEdit"]({})); document.title = "trial "; //fetch existing record app.api.get("trial/" + stateMap.id, function (res) { if (res.error) { $.gevent.publish("app-show-error", res.msg); } else { //fill out form app.utilB.formData(res); } }); //Context menu app.nav.contextClear(); app.nav.contextAddLink("trials/", "List", ""); // bind actions $("#btn-reject").bind("click", onReject); $("#btn-approve").bind("click", onApprove); $("#btn-delete").bind("click", onDelete); }; // RETURN PUBLIC METHODS // return { configModule: configModule, initModule: initModule }; //------------------- END PUBLIC METHODS --------------------- })();