96 lines
3.9 KiB
TypeScript

/// <reference path="Globals.ts"/>
let SettingsProp = {
Panes: "Panes",
FontSize: "FontSize",
Font: "Font",
BreakOnVerses: "BreakOnVerses",
Results: "Results",
SearchResults: "SearchResults"
}
class Settings {
public static Load(skipresults) {
if (typeof (Storage) !== undefined) {
// sometimes we want to load the settings, but not the results previously in the window.
if (skipresults == undefined || skipresults == false) {
if (localStorage.getItem(SettingsProp.Panes) !== undefined) {
$("#resultwrap").css("float", localStorage.getItem(SettingsProp.Panes));
$("#searchresultswrap").css("float", localStorage.getItem(SettingsProp.Panes));
}
}
if (localStorage.getItem(SettingsProp.FontSize) !== undefined) {
$("#result").css("font-size", localStorage.getItem(SettingsProp.FontSize));
}
if (localStorage.getItem(SettingsProp.Font) !== undefined) {
$("#result").css("font-family", localStorage.getItem(SettingsProp.Font));
$("#changefont").val(localStorage.getItem(SettingsProp.Font));
}
if (localStorage.getItem(SettingsProp.BreakOnVerses) !== undefined && localStorage.getItem(SettingsProp.BreakOnVerses) == "false") {
$("#break-on-verses").val("false");//[0].checked = false;
} else {
$("#break-on-verses").val("true");//[0].checked = true;
}
if (localStorage.getItem(SettingsProp.Results) !== undefined) {
$.each(
localStorage.getItem(SettingsProp.Results).replace(/;$/, '').split(';'),
function (i, ref) {
if (ref != undefined && ref.trim() != "") {
Search(ref);
}
});
}
if (localStorage.getItem(SettingsProp.SearchResults) !== "undefined") {
$("#searchresultswrap").html(localStorage.getItem(SettingsProp.SearchResults));
Words.AttachEvents($("#searchresultswrap"));
}
}
return false;
}
public static Save() {
if (typeof (Storage) !== "undefined") {
localStorage.setItem(SettingsProp.Panes, $("#resultwrap").css("float"));
localStorage.setItem(SettingsProp.SearchResults, $("#searchresultswrap").css("display"));
localStorage.setItem(SettingsProp.FontSize, $("#result").css("font-size"));
localStorage.setItem(SettingsProp.Font, $("#result").css("font-family"));
//localStorage.StrongsAsDialog = $("#display-strongs-as-dialog")[0].checked;
localStorage.setItem(SettingsProp.BreakOnVerses, $("#break-on-verses")[0].getAttribute("checked"));
}
}
public static IncreaseResultFontSize() {
var s = $("#result").css("font-size");
$("#result").css("font-size", parseInt(s) + 1);
this.Save();
}
public static DecreaseResultFontSize() {
var s = $("#result").css("font-size");
$("#result").css("font-size", parseInt(s) - 1);
this.Save();
}
public static ChangeResultFont(fontfamily) {
$("#result").css("font-family", fontfamily);
this.Save();
}
public static ChangeDisplayStrongsInDialog() {
this.Save();
}
public static SaveResults() {
if (typeof localStorage != 'undefined') {
var results = "";
for (var ref in CurrentReferences) {
results += ref + ';';
}
localStorage.setItem(SettingsProp.Results, results);
localStorage.setItem(SettingsProp.SearchResults, $("#searchresultswrap").html());
}
}
};