Skip to content

Commit

Permalink
search config: port from cookies to localStorage
Browse files Browse the repository at this point in the history
Fixes #220
  • Loading branch information
lazka committed Mar 6, 2025
1 parent 5222576 commit 44d2879
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 65 deletions.
6 changes: 0 additions & 6 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,6 @@ Fonts in ``pgidocgen/gen/data/theme/static/fonts``

MIT License

``pgidocgen/gen/data/index/js.cookie-2.1.0.min.js``

https://github.com/js-cookie/js-cookie

MIT License

Everything else:

GNU Lesser General Public License 2.1 or later
1 change: 0 additions & 1 deletion pgidocgen/gen/data/index/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ <h1>Search Configuration</h1>
</div>

<script type="text/javascript" src="jquery-2.2.0.min.js"></script>
<script type="text/javascript" src="js.cookie-2.1.0.min.js"></script>
<script type="text/javascript" src="pgi-config.js"></script>

<script type="text/javascript">
Expand Down
2 changes: 0 additions & 2 deletions pgidocgen/gen/data/index/js.cookie-2.1.0.min.js

This file was deleted.

118 changes: 63 additions & 55 deletions pgidocgen/gen/data/index/pgi-config.js
Original file line number Diff line number Diff line change
@@ -1,63 +1,71 @@
/**
* @param {string} value
* @returns {boolean}
*/
function parseBoolean(value) {
return (/^true$/i).test(value);
return value === "true";
}


function getCookie(key, def) {
var value = Cookies.get(key);
if (value === undefined)
return def
return value;
}


Config = function() {
}


Config.prototype.reset = function() {
Cookies.remove('case_insensitive');
Cookies.remove('include_all');
Cookies.remove('search_modules');
/**
* @param {string} key
* @param {string} defaultValue
* @returns {string}
*/
function getStorageItem(key, defaultValue) {
const value = localStorage.getItem(key);
return value !== null ? value : defaultValue;
}


Config.prototype.setCaseInsensitive = function(value) {
Cookies.set('case_insensitive', String(value));
}


Config.prototype.getCaseInsensitive = function() {
return parseBoolean(getCookie('case_insensitive', 'true'));
}


Config.prototype.setIncludeAll = function(value) {
Cookies.set('include_all', String(value));
}


Config.prototype.getIncludeAll = function() {
return parseBoolean(getCookie('include_all', 'true'));
}


Config.prototype.setModules = function(modules) {
Cookies.set('search_modules', modules.join(","));
}


Config.prototype.getModules = function() {
var result = getCookie('search_modules', '');
if (result == '')
return [];
class Config {
reset() {
localStorage.removeItem("case_insensitive");
localStorage.removeItem("include_all");
localStorage.removeItem("search_modules");
}

/**
* @param {boolean} value
*/
setCaseInsensitive(value) {
localStorage.setItem("case_insensitive", String(value));
}

/**
* @returns {boolean}
*/
getCaseInsensitive() {
return parseBoolean(getStorageItem("case_insensitive", "true"));
}

/**
* @param {boolean} value
*/
setIncludeAll(value) {
localStorage.setItem("include_all", String(value));
}

/**
* @returns {boolean}
*/
getIncludeAll() {
return parseBoolean(getStorageItem("include_all", "true"));
}

/**
* @param {string[]} modules
*/
setModules(modules) {
localStorage.setItem("search_modules", modules.join(","));
}

/**
* @returns {string[]}
*/
getModules() {
const result = getStorageItem("search_modules", "");
if (result === "") return [];
return result.split(",");
}
}


Config.prototype.getIncludeAll = function() {
return parseBoolean(getCookie('include_all', 'true'));
}


var PGIConfig = new Config();
const PGIConfig = new Config();
1 change: 0 additions & 1 deletion pgidocgen/gen/data/index/sidebar.html
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@
</div>
</div>

<script type="text/javascript" src="js.cookie-2.1.0.min.js"></script>
<script type="text/javascript" src="pgi-config.js"></script>
<script type="text/javascript" src="pgi-searchtools.js"></script>

Expand Down

0 comments on commit 44d2879

Please sign in to comment.