Files
mahjong-ui/раскладки|layouts.js

152 lines
4.4 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;
bottom: 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">Layouts</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() {
мир.уведомить("кнопка скрыть раскладки");
});
};