Изменения от Главреда ГитЖС | Changes of GitJS Glavred
This commit is contained in:
152
темы|themes.js
Normal file
152
темы|themes.js
Normal file
@@ -0,0 +1,152 @@
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьВыбраннуюТемуВТаблице = мир =>
|
||||
{
|
||||
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() {
|
||||
мир.уведомить("кнопка скрыть темы");
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user