leftypol/js/style-select.js

85 lines
2.0 KiB
JavaScript
Raw Normal View History

/*
* style-select.js
* https://github.com/savetheinternet/Tinyboard/blob/master/js/style-select.js
*
* Changes the stylesheet chooser links to a <select>
*
* Released under the MIT license
* Copyright (c) 2013 Michael Save <savetheinternet@tinyboard.org>
* Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net>
*
* Usage:
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/style-select.js';
*
*/
2021-06-30 07:47:08 +00:00
$(document).ready(function () {
var stylesDiv = $('div.styles');
2021-06-30 07:47:08 +00:00
var pages = $('div.pages');
var stylesSelect = $('<select></select>').css({float:"none"});
var options = [];
var i = 1;
stylesDiv.children().each(function() {
var name = this.innerHTML.replace(/(^\[|\]$)/g, '');
var opt = $('<option></option>')
.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(
$('<div id="style-select"></div>')
.append(_('Select theme: '), stylesSelect)
);
});
stylesDiv = $('div.styles');
2014-12-17 05:10:54 +00:00
var pages = $('div.pages');
var stylesSelect = $('<select></select>');
var i = 1;
stylesDiv.children().each(function() {
2013-08-01 23:26:09 +00:00
var opt = $('<option></option>')
2013-08-02 04:18:02 +00:00
.html(this.innerHTML.replace(/(^\[|\]$)/g, ''))
2013-08-01 23:26:09 +00:00
.val(i);
if ($(this).hasClass('selected'))
opt.attr('selected', true);
stylesSelect.append(opt);
$(this).attr('id', 'style-select-' + i);
i++;
});
stylesSelect.change(function() {
$('#style-select-' + $(this).val()).click();
});
2014-12-17 05:10:54 +00:00
stylesDiv.hide()
pages.after(
$('<div id="style-select"></div>')
/*.text(_('Style: '))*/
.append(stylesSelect)
);
});
2021-06-30 07:47:08 +00:00