mirror of
https://gitlab.com/walljm/dynamicbible.git
synced 2025-07-27 17:39:49 -04:00
95 lines
3.8 KiB
TypeScript
95 lines
3.8 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) !== null) {
|
|
$("#resultwrap").css("float", localStorage.getItem(SettingsProp.Panes));
|
|
$("#searchresultswrap").css("float", localStorage.getItem(SettingsProp.Panes));
|
|
}
|
|
}
|
|
|
|
if (localStorage.getItem(SettingsProp.FontSize) !== null) {
|
|
$("#result").css("font-size", localStorage.getItem(SettingsProp.FontSize));
|
|
}
|
|
if (localStorage.getItem(SettingsProp.Font) !== null) {
|
|
$("#result").css("font-family", localStorage.getItem(SettingsProp.Font));
|
|
$("#changefont").val(localStorage.getItem(SettingsProp.Font));
|
|
}
|
|
|
|
if (localStorage.getItem(SettingsProp.BreakOnVerses) !== null && localStorage.getItem(SettingsProp.BreakOnVerses) == "false") {
|
|
$('#break-on-verses').prop('checked', false).checkboxradio('refresh');
|
|
} else {
|
|
$('#break-on-verses').prop('checked', true).checkboxradio('refresh');
|
|
}
|
|
|
|
if (localStorage.getItem(SettingsProp.Results) !== null) {
|
|
$.each(
|
|
localStorage.getItem(SettingsProp.Results).replace(/;$/, '').split(';'),
|
|
function (i, ref) {
|
|
if (ref != undefined && ref.trim() != "") {
|
|
Search(ref);
|
|
}
|
|
});
|
|
}
|
|
if (localStorage.getItem(SettingsProp.SearchResults) !== null) {
|
|
$("#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.setItem(SettingsProp.BreakOnVerses, $("#break-on-verses").prop("checked"));
|
|
}
|
|
}
|
|
|
|
public static IncreaseResultFontSize() {
|
|
let s = $("#result").css("font-size");
|
|
$("#result").css("font-size", parseInt(s) + 1);
|
|
this.Save();
|
|
}
|
|
|
|
public static DecreaseResultFontSize() {
|
|
let 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') {
|
|
let results = "";
|
|
for (let ref in CurrentReferences) {
|
|
results += ref + ';';
|
|
}
|
|
localStorage.setItem(SettingsProp.Results, results);
|
|
localStorage.setItem(SettingsProp.SearchResults, $("#searchresultswrap").html());
|
|
}
|
|
}
|
|
};
|