// // // // ОтобразитьВыбраннуюРаскладкуВТаблице = мир => { 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 = `
Раскладки键盘布局Layouts
`; мир.окна.раскладки.таблица = new Таблица(мир.окна.раскладки.список); $("#скрыть-раскладки").click(function() { мир.уведомить("кнопка скрыть раскладки"); }); };