Uploaded by Андрей Щелманов

Задание 2

advertisement
Задание 2:
1. Атрибуты onclick, input нужно заменить на addEventListner;
2. Вместо навешивания eventListner'ов на каждый нужный тебе элемент нужно повесить один обработчик
на родителя (например, на Body или HTML) и всю логику размести в нем.
Т.к. родитель будет получать все события своих потомков, то тебе нужно будет проверить, на том ли элементе оно было создано. Для этого используй element.matches("selector");
3. Преобразовать File в строку можно используя await.file.text(), без создания FileReader.
Функцию при этом нужно сделать async;
4. let и var нужно поменять на const;
5. Нужно добавить возможность вставки строки в начало и конец таблицы. Для этого: нужно написать
функцию, которая высчитывает текущее количество ячеек в таблице(число td у tr), при вставке необходимо получить количество ячеек и вставить их в созданную строку, затем эту строку вставить в таблицу.
Без использования innerHTML. Рекомендую использовать метод replaceWith, т.е. для вставки node после
row тебе нужно написать row.replaceWith(row, node). Вместо querySelectorAll для поиска элементов
таблицы использую table.tbodies[0].rows[0].cells[0] (с нужным тебе индексом);
6. Добавить переключатель режима удаления, для этого: создай переключатель состояния на странице,
при клике на строку и при включенном переключателе необходимо её удалит из таблицы;
7. Дополнительное задание: добавить возможность загрузить таблицу как JSON или CSV (формат можешь
использовать любой, можно просто анолагично HTML, т.е. массив из строк таблицы, каждая из которых
хранит массив из ячеек таблицы);
8. Дополнительное задание: Добавить визуал при помощи CSS. Рекомендую использовать библиотеки компонентов,
например, Bootstrap, Materialize, Pure, Bulma или любой другой на твой выбор;
Download