diff --git a/пуск|run.js b/пуск|run.js index ecb0b3c..50e2fe9 100644 --- a/пуск|run.js +++ b/пуск|run.js @@ -3,6 +3,24 @@ const БИБЛИОТЕКИ = [ "https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000", ]; + +// // // // + + +ОтобразитьВыборСтрокиТаблицы = мир => +{ + // Очистить выбор для всех. + for (var номер in мир.таблица.строки) + { + var элемент = мир.таблица.элемент(номер); + элемент.removeClass("пример-выбора-таблицы"); + } + // Задать выбор выбранному элементу. + var элемент = мир.таблица.элемент(мир.номерВыбраннойСтроки); + элемент.addClass("пример-выбора-таблицы"); +}; + + // // // // @@ -16,46 +34,19 @@ const БИБЛИОТЕКИ = [ { var строка = [ String(номер+1), - "", + номер == 5 ? "v" : "", "", "Название_" + номер, ]; строки.push(строка); } мир.таблица.задатьСтроки(строки); - /* - $("#пример-таблицы").html(` - - - - № - - - Название ⚬ 标题 ⚬ Name - - - - - 1 - - - X_shaped - - - 2 - - - cat - - - 3 - - 🖼 - 😀 - - - `); - */ + мир.таблица.выбор = (номер) => + { + console.debug("Выбрали номер:", номер); + мир.номерВыбраннойСтроки = номер; + мир.уведомить("выбрали строку таблицы"); + }; var вид = document.createElement("style"); document.head.appendChild(вид); @@ -64,6 +55,11 @@ const БИБЛИОТЕКИ = [ { display: inline-block; } + +.пример-выбора-таблицы +{ + background: #eeeeee; +} `; }; diff --git a/пуск|run.череда b/пуск|run.череда index a2a1a16..80b3abb 100644 --- a/пуск|run.череда +++ b/пуск|run.череда @@ -3,4 +3,6 @@ загрузили библиотеки очистить создать пример окна - создать пример таблицы \ No newline at end of file + создать пример таблицы +выбрали строку таблицы + отобразить выбор строки таблицы \ No newline at end of file diff --git a/таблица|table.js b/таблица|table.js index d0fad28..9be8621 100644 --- a/таблица|table.js +++ b/таблица|table.js @@ -11,11 +11,16 @@ this.строки = строки; this.__пересобрать(); }; + + this.элемент = (номер) => + { + return $(`#${id}-${номер}`); + }; this.__пересобрать = () => { this.__задатьСодержимое(); - //this.__отслеживатьВыбор(); + this.__отслеживатьВыбор(); }; this.__задатьСодержимое = () => @@ -50,12 +55,31 @@ var значение = столбцы[н]; строка += `${значение}`; } - тело += `${строка}`; + тело += `${строка}`; } содержимое += `${тело}`; } $(`#${id}`).html(содержимое); }; + + this.__отслеживатьВыбор = () => + { + if (!(this.строки && this.строки.length)) + { + return; + } + var тут = this; + for (var номер in this.строки) + { + const номерСтроки = номер; + $(`#${id}-${номер}`).click(function() { + if (тут.выбор) + { + тут.выбор(номерСтроки); + } + }); + } + }; }; \ No newline at end of file