From 4f27d39bc980219fa847b604e20539d39d65931a Mon Sep 17 00:00:00 2001 From: discomrade Date: Wed, 30 Jun 2021 05:47:08 -0200 Subject: [PATCH] Sorted, labeled style selector --- js/style-select.js | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/js/style-select.js b/js/style-select.js index e9d395f0..c140442e 100644 --- a/js/style-select.js +++ b/js/style-select.js @@ -14,8 +14,46 @@ * */ -onready(function(){ +$(document).ready(function () { var stylesDiv = $('div.styles'); + var pages = $('div.pages'); + var stylesSelect = $('').css({float:"none"}); + var options = []; + + var i = 1; + stylesDiv.children().each(function() { + var name = this.innerHTML.replace(/(^\[|\]$)/g, ''); + var opt = $('') + .html(name) + .val(i); + if ($(this).hasClass('selected')) + opt.attr('selected', true); + options.push ([name.toUpperCase (), opt]); + $(this).attr('id', 'style-select-' + i); + i++; + }); + + options.sort ((a, b) => { + const keya = a [0]; + const keyb = b [0]; + if (keya < keyb) { return -1; } + if (keya > keyb) { return 1; } + return 0; + }).forEach (([key, opt]) => { + stylesSelect.append(opt); + }); + + stylesSelect.change(function() { + $('#style-select-' + $(this).val()).click(); + }); + + stylesDiv.hide() + pages.after( + $('
') + .append(_('Select theme: '), stylesSelect) + ); +}); +stylesDiv = $('div.styles'); var pages = $('div.pages'); var stylesSelect = $(''); @@ -43,3 +81,4 @@ onready(function(){ ); }); +