From ab96d07b0698037bc64a8a460da73e4088439e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D1=80=D0=B5=D0=B4=20=7C=20Glavred?= Date: Thu, 15 Oct 2020 14:21:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=20=D0=93=D0=BB=D0=B0=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=20=D0=93=D0=B8=D1=82=D0=96=D0=A1=20|=20Chang?= =?UTF-8?q?es=20of=20GitJS=20Glavred?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- пуск|run.js | 64 ++++++++++++++++++--------------------- пуск|run.череда | 4 ++- таблица|table.js | 28 +++++++++++++++-- 3 files changed, 59 insertions(+), 37 deletions(-) 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