Създайте блокове червено, синьо и сиво, използвайки само CSS (без да променяте структурата, без да добавяте обвивки). Блоковете трябва да са разположени според примера на изображението. Можете да задавате стилове за контейнера и самите блокове.
Frontend
Реализирайте функцията mapper, която приема данни (source), полета (fields), филтър (filter) и сортиране (order). Необходимо е: да валидирате параметрите (fields трябва да бъде масив, source/filter/order са функции, полетата в fields трябва да присъстват в данните), да получите данните чрез извикване на source(), да ги филтрирате чрез filter, да ги сортирате чрез order и да върнете само заявените полета от fields.
Извършете преглед на код на React компонент, който извършва превключване на данни, извиква низова функция и показва списък. Намерете и коригирайте всички грешки и проблеми (async в useEffect, липса на масив с зависимости, използване на индекс като key и др.).
Използвайки само DOM API (без React, чрез document), напишете код, при който клик върху който и да е правоъгълник показва неговия цвят. Желателно е да се използва един обработчик на събития за всички елементи. Каква е разликата между event.target и event.currentTarget?
Реализирайте метода run на класа Queue така, че реализацията да съответства на примера за използване. Методът run трябва последователно да изпълнява предадените му асинхронни функции. Следващата функция в опашката може да бъде извикана само след извикването на next. Ако в една от функциите възникне грешка, последващите функции не се извикват. Методите трябва да поддържат веригата от извиквания (chaining).
Напишете React компонент с бутон Add. При натискане на бутона Add се добавя нов бутон с пореден номер. При натискане на създадения бутон той се премахва. Премахването трябва да работи правилно (не по индекс, а по уникален идентификатор).
Реализирайте функцията asyncFilter, която приема масив от числа и асинхронна предикатна функция, и връща филтриран масив. Например, при вход [1, 2, 3] и функция, която оставя само нечетните числа, изходът трябва да бъде [1, 3].