Files
mahjong-ui/темы|themes.js

152 lines
4.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// // // //
ОтобразитьВыбраннуюТемуВТаблице = мир =>
{
var таблица = мир.окна.темы.таблица;
// Очистить выбор.
for (var номер in таблица.строки)
{
var элемент = таблица.элемент(номер);
элемент.removeClass("выбранный-элемент-таблицы");
}
// Задать выбор.
var элемент = таблица.элемент(мир.номерВыбраннойТемы);
элемент.addClass("выбранный-элемент-таблицы");
};
// // // //
ЗадатьНомерВыбраннойТемыЕслиНеЗадан = мир =>
{
if (мир.номерВыбраннойТемы)
{
return;
}
// Нужно для случая отображения выбранной темы сразу после пуска.
const строки = мир.окна.темы.таблица.строки;
for (var номер in строки)
{
var название = строки[номер][1];
if (название == мир.выбраннаяТема)
{
мир.номерВыбраннойТемы = номер;
return;
}
}
}
// // // //
ОтслеживатьВыборТемы = мир =>
{
const строки = мир.окна.темы.таблица.строки;
мир.окна.темы.таблица.выбор = (номер) =>
{
мир.выбраннаяТема = строки[номер][1];
мир.номерВыбраннойТемы = номер;
мир.уведомить("выбрали тему");
};
};
// // // //
ЗадатьСписокТемФишек = мир =>
{
var темы = Object.keys(мир.реестрТемФишек).sort();
var список = [];
for (var номер in темы)
{
var число = Number(номер) + 1;
var название = темы[номер];
список.push([число, название]);
}
мир.окна.темы.таблица.задатьЗаголовки(["№", "Название ⚬ 标题 ⚬ Name"]);
мир.окна.темы.таблица.задатьСтроки(список);
};
// // // //
ПлавноСкрытьОкноТем = мир =>
{
мир.окна.темы.плавно.скрыть();
};
// // // //
ПлавноПоказатьОкноТем = мир =>
{
мир.окна.темы.плавно.отобразить();
};
// // // //
ЗадатьВидОкнаТем = мир =>
{
var вид = document.createElement("style");
document.head.appendChild(вид);
вид.innerHTML = `
#скрыть-темы
{
position: fixed;
right: 0.5em;
top: 0.5em;
}
`;
};
// // // //
СоздатьОкноТем = мир =>
{
var окно = document.createElement("div");
окно.id = "окно-темы";
окно.style.display = "none";
окно.classList.add("окно-с-отступами");
document.body.appendChild(окно);
мир.окна.темы = {
"указатель": окно.id,
"элемент": окно,
"плавно": new ПлавноОтобразитьСкрыть(окно),
"список": `${окно.id}-список`,
};
окно.innerHTML = `
<center>
<span class="uk-text-large">Темы</span>
⚬ <span class="uk-text-large uk-text-bold">主题</span> ⚬
<span class="uk-text-large">Themes</span>
</center>
<div class="прокрутка ширина-по-содержимому">
<table id="${мир.окна.темы.список}" class="uk-table uk-table-divider"></table>
</div>
<a id="скрыть-темы" uk-icon="icon: close; ratio: 2"></a>
`;
мир.окна.темы.таблица = new Таблица(мир.окна.темы.список);
$("#скрыть-темы").click(function() {
мир.уведомить("кнопка скрыть темы");
});
};