Files
rockfish/wwwroot/js/app.rfsettings.js

115 lines
2.8 KiB
JavaScript

/*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.rfsettings = (function() {
"use strict";
//---------------- BEGIN MODULE SCOPE VARIABLES --------------
var stateMap = {},
configModule,
onChangePassword,
initModule,
onTest;
//----------------- END MODULE SCOPE VARIABLES ---------------
//------------------- BEGIN UTILITY METHODS ------------------
//-------------------- END UTILITY METHODS -------------------
//------------------- BEGIN EVENT HANDLERS -------------------
///////////////////////////////
//ONUPDATE
//
onChangePassword = function(event) {
event.preventDefault();
$.gevent.publish("app-clear-error");
//get form data
var formData = $("form").serializeArray({
checkboxesAsBools: true
});
var submitData = app.utilB.objectifyFormDataArray(formData);
app.api.create(
"user/" + app.shell.stateMap.user.id + "/changepassword",
submitData,
function(res) {
if (res.error) {
$.gevent.publish("app-show-error", res.msg);
} else {
page("#!/logout");
}
}
);
return false; //prevent default?
};
///////////////////////////////
//ONTEST
//
onTest = function(event) {
event.preventDefault();
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.rfsettings"]({}));
// bind actions
$("#btn-change-password").bind("click", onChangePassword);
$("#btn-test").bind("click", onTest);
//Context menu
app.nav.contextClear();
app.api.get("meta/server_version/", function(res) {
if (res.error) {
$.gevent.publish("app-show-error", res.msg);
} else {
$("#about").append(
"<p>Rockfish client version: " +
app.api.RockFishVersion +
"</p><p>Rockfish server version: " +
res.server_version +
"</p>"
);
}
});
////app.nav.setContextTitle("Search");
};
//PUBLIC METHODS
//
return {
configModule: configModule,
initModule: initModule
};
//------------------- END PUBLIC METHODS ---------------------
})();