Tworzę dynamiczny, elastyczny kalendarz tygodniowy, używając Twitter Bootstrap.Projektowanie dynamicznego, responsywnego kalendarza tygodniowego
Oto moja aktualna realizacja: http://jsfiddle.net/dvirazulay/Lhe7C/ (było trochę długo, aby wkleić tu w całości)
A oto aktualny zrzut ekranu z nim:
Co Próbuję osiągnąć to projekt, który będzie w pełni dynamiczny - generowanie początkowego widoku z mojego back-endu nie jest problemem, ale jest nieco skomplikowane, ponieważ moja obecna implementacja używa tabel. Obawiam się, że trudno będzie go utrzymać po stronie JavaScriptu, czyli usuwaniu zdarzeń/dodawaniu ich w locie.
Oczywiście wybrałem stoły, ponieważ ma to dla mnie sens - kalendarz tygodniowy to w zasadzie stolik. Opiszę mój projekt:
- Zdarzenie może obejmować więcej niż 30 minut, więc używam
rowspan
aby określić, ile godzin powinno obejmować dalej. - Możliwe są dwa sprzeczne zdarzenia (nie zezwalam na więcej niż dwa). W chwili obecnej są one wyświetlane obok siebie, a każda z nich zajmuje 50% szerokości zdarzenia i przyjmuje tyle, ile potrzeba do przedstawienia czasu zakończenia.
- Na stronie back-end, obliczyć ile
td
muszę przejść, aby nie mieć dodatkowe kolumny na końcu tabeli (jakrowspan
popycha niektórych do prawej)
Moje pytania są następujące:
- Czy to właściwe podejście?
- Czy należy zastosować tę samą logikę zaplecza do interfejsu użytkownika i ponownie obliczyć wartość
tr
/td
, aby wyświetlić w zależności od liczby zdarzeń, które mam, lub czy istnieje lepsze rozwiązanie?
Najlepiej, jeśli dobra odpowiedź powinna opisywać obsługę zdarzeń na stronie frontowej bez komplikacji lub alternatywnego (responsywnego!) Projektu dla tego problemu.
Nie chcę używać istniejącej wtyczki, ponieważ wyszukiwałam i wypróbowywałam wiele z nich, i chcę zachować naprawdę małą wagę, ale jeśli masz świetną propozycję dla takiej, która spełnia wymagania - ja chciałbym to sprawdzić! (jQuery tydzień kalendarzowy jest zbyt wolny i zagracony na przykład)
Uwaga: Nie mam zamiaru obsługiwać przeglądarek starszych niż IE9.
Możesz otworzyć to źródło na GitHub. Chciałbym wnieść wkład – jonperl
@jonperl, skończyło się na utrzymywaniu mojego back-endowego i odświeżającego rozwiązania AJAX, ale nadal nie czuję się z tym dobrze (lub jego kodu źródłowego). Jak tylko będę mieć trochę wolnego czasu, spróbuję uogólnić go i przenieść do JavaScriptu i wdrożyć go na GitHub. Dam ci znać, dzięki za zainteresowanie! –
zarzuciłem go od Scrachu, dlaczego nie możesz wypróbować pełnego kalendarza –