152 lines
4.1 KiB
JavaScript
152 lines
4.1 KiB
JavaScript
|
||
|
||
// // // //
|
||
|
||
|
||
ОтобразитьВыбраннуюТемуВТаблице = мир =>
|
||
{
|
||
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() {
|
||
мир.уведомить("кнопка скрыть темы");
|
||
});
|
||
}; |