[JS Exam] Вариант 1 - Grid View


1
Здравейте,
Тъй като изпитната задача ме затрудни, не успях да имплементирам всички нужни функционалности и не успях да разбера как да си конструирам най-правилно GridView-то от Вариант1, за да е най-лесна манипулацията след това с него, а искам да се науча и да правя по-правилно такива модули и ооп ориентирани задачи, бих помолил колегите, които са довършили задачата и имат голяма част от функциалността да споделят своите решение, ако имат желание. Мисля, че вече това няма да е в разрез с правилата, тъй като вече измина оценяването, но, ако не е така, ще изчакам до официалното класиране и резултати.
Поздрави



Отговори



1

Моето решение е незавършено, 6-та за дача е до средата, но в момента нямам сили да оправям нещата.

Та по същество, обектите които ми изграждат grid view-то са следните:

Cell и HeaderCell - единствената разлика е td/th

Row - обекта който е най- сложен защото държи освен списък със клетки и вложена таблица.

NestedTable - вложена таблица

GridView - външната обвивка.

Всеки елемент си има рендър, който вика рендъра на вложените си елементи. Така като извикаш рендър на GridView, то вика render рекурсивно.

Събирането и извеждането на информация, смятах да направя по същият начин, като рендър, но не ми достигна време.

КОД


от krasi.nikolov (1412 точки)


0
благодаря, че се отзова :) ще го прегледам обстойно, много ми харесва как е подредено и пригледно форматирано. Иначе аз рендъра го направих, главния грид да рендира всичко, като ако в себе си при рендера намери обект друг грид, да извиква неговия рендер. Но омазах малко обектите откъм вътрешни елементи и евентите и след това беше много сложно да направя четене и буилдване от сториджа.



1

Мога да ти предложа да разгледаш решението, на моя изпит, но е за вариант 2. Липсва ми само сортирането от исканата функционалност, но за жалост не е високо оценено като решение от колегите.
Задачата е за снимки и албуми със снимки, подобна на вашата, но с ul и li, а не с вложени таблици.


от AsenVal (3487 точки)


0
Благодаря, ще го прегледам, гледах най-вече за 1ви вариант, че ми е познат, но условието за 2рия го имаше във форума и ще се опитам да направя и тази задача, за да съм в час със нужните умения и знания :))



2

Ето и моя изпит - Дончо го проверяваше на едното от примерните оценявания.

Надявам се да ти е полезен. Ползвам съм подобно на подготвителния изпит стуктуриране на кода

http://jsbin.com/eqotit/1/edit


от ivaylo.kenov (30760 точки)


0
а това с овцете и на мене ми се падна :)

от naturalna (67 точки)

0
Абе Дончо... май не е избрал съвсем случаен изпит да проверява :-P

от neofitov (235 точки)


0

По време на изпита не можах да я довърша и вчера след като останах свободен, реших да я почна на ново, тъй като си бях обещал, че ще я довърша. 

Този път доста ме измъчиха 5-тa, 6-та и 7-ма задача, за разлика от изпита, където не успях да направя 2-ра задача, но другите бяха лесни, тъй като нямах вложени таблици.

Обяснения няма да пиша, тъй като и аз използвах акордиона за шаблон и има доста коментари в кода. Мисля, че всички задачи работят във всички браузъри, разбира се освен IE8 :D

Source: GitHub


от SVGN_H (3048 точки)


1

Решение Демо

Доста си поиграх с тази задачка - доста повече от 6 часа :) Цялата информация се съхранява в една таблица и цялата логика е разделена на функции, който боравят с тази информация(добавят / сортират редове) и функции които я визуализират(генерират html елементи / закачат евенти) Можеше да се направи и по-абстрактно - с for in цикъл да взимаш имената на property-тата на всеки обект и така да си генерираш header row. Ще се радвам на препоръки и съвети !


от dzhenko (3893 точки)