Moje kolumny, nasza tabela. Jak zaprojektować zapisane widoki danych
Zapisany widok tabeli potrzebuje jasnych granic: kolumny, filtry, sortowanie i właściciel. Zaprojektuj też powrót oraz zmianę dostępnych pól.

W tym artykule
„Do przeglądu” to dobra nazwa widoku, dopóki wiadomo, co zapisano pod spodem. Sam układ kolumn? Filtr sprzętu czekającego na kontrolę? A może jedenaście urządzeń, które ktoś zaznaczył wczoraj? Te obietnice prowadzą do różnych wyników. Projektowanie widoku tabeli zaczyna się od wybrania właściwej, zanim pojawi się pole na nazwę.
Wymyślona wypożyczalnia sprzętu do nagrań ma jedną bazę urządzeń. Róża przyjmuje zwroty i potrzebuje numeru zestawu, terminu oraz miejsca odłożenia. Osoba sprawdzająca sprzęt szuka daty ostatniej kontroli i opisu usterki. Wspólny układ pokazujący wszystko zmusza obie osoby do codziennego przesuwania kolumn. Tabela przypomina biurko, na którym każdy zostawił własny segregator.
Zapisane widoki mogą ograniczyć tę pracę. Powinny jednak zachować czytelną granicę między sposobem prezentacji, doborem wyników i zmianą danych. Przestawienie kolumny nie zmienia terminu oddania urządzenia. Zniknięcie wiersza z widoku nie oznacza usunięcia sprzętu z bazy. Te rozróżnienia muszą być widoczne podczas zwykłej pracy, a nie dopiero w instrukcji administratora.
Najpierw ustal, co zostaje na jutro
W naszej wypożyczalni widok „Zwroty” może zawierać określone kolumny, ich kolejność, filtr otwartych wypożyczeń i sortowanie od najbliższego terminu. To zapis sposobu odnajdywania pracy. Gdy przybędzie nowy pasujący rekord, powinien pojawić się na liście według uzgodnionej reguły. Nie zachowujemy wczorajszej fotografii jedenastu wierszy.
Shopify opisuje widoki zamówień zapisujące filtry, kolumny, ich kolejność i sortowanie. Wyjaśnia też, że skład widoku zmienia się wraz ze spełnianiem warunków filtra. To przykład konkretnego kontraktu produktu, nie definicja obowiązkowa dla każdego panelu.
Własny projekt może zapisywać mniej. Osobisty układ kolumn bez filtrów również ma sens, jeżeli tak go nazwano. Wtedy przełączenie z „Moje kolumny” na układ domyślny nie powinno po cichu zmieniać znalezionych rekordów. Nazwa „Zapisz układ kolumn” dokładniej opisuje tę funkcję niż pojemne „Zapisz widok”.
Wybrane wiersze potraktuj osobno. Zaznaczenie całego wyniku lub bieżącej strony ustala zakres planowanej czynności. Nie trzeba go odtwarzać jutro tylko dlatego, że zachowaliśmy szerokości kolumn. W specyfikacji wskaż wprost, co dzieje się z zaznaczeniem po zmianie widoku. Ukryty powrót dawnego wyboru może zaskoczyć przy następnej operacji.
Podobnie numer strony nie jest samodzielnym wspomnieniem miejsca. Po zmianie sortowania strona trzecia może zawierać inne urządzenia. Dokumentacja stanu MUI Data Grid ostrzega, że przywrócenie stronicowania bez filtrów lub sortowania nie odtworzy tych samych wierszy. Projekt powinien określić cały zestaw ustawień, który ma wrócić.
Filtr może nadal dotyczyć schowanej kolumny. Jeśli Róża ukryje termin, widok „Zwroty dzisiaj” nie powinien z tego powodu pokazać wszystkich wypożyczeń. Trzeba jednak zachować widoczny opis warunku poza samą kolumną. W przeciwnym razie osoba widzi krótki zbiór, lecz nie potrafi wyjaśnić, dlaczego część urządzeń zniknęła. Edycja prezentacji i edycja filtra powinny mieć odrębne skutki.
Warto więc opisać zapis jednym krótkim zdaniem dostępnym przy tworzeniu: „Zapamiętamy kolumny, filtr i kolejność wyników; bieżący wybór urządzeń pozostanie osobno”. Zdanie musi odpowiadać wdrożeniu. Nie jest listą wszystkich możliwości tabeli, lecz wyjaśnieniem tej konkretnej czynności.
Personalizacja nie wymaga oddania całego ekranu
Róża chce ukryć informacje o stanie technicznym, ale numer zestawu nadal pozwala rozpoznać urządzenie. Możemy ustalić kilka pól stale widocznych i zostawić swobodę w pozostałych. Taki ograniczony wybór bywa użyteczniejszy niż panel, w którym da się usunąć wszystkie kolumny, a potem szukać sposobu odzyskania listy.
MUI Data Grid pozwala wyłączyć możliwość ukrycia wskazanej kolumny przez interfejs. Jest to właściwość zachowania komponentu. Nie oznacza ani nadania uprawnień do danych, ani potwierdzenia, że każda kolumna powinna być obowiązkowa w naszym zastosowaniu.
W panelu kolumn pokaż aktualną kolejność i stan każdej pozycji. Przy polu stałym podaj powód, jeśli nie jest oczywisty. „Numer zestawu — potrzebny do rozpoznania urządzenia” wyjaśnia więcej niż nieruchomy, wyszarzony znacznik. Pozostałe kolumny można dodawać i usuwać bez mylenia tej czynności z kasowaniem danych.
Zadbaj o nazwy zbliżone znaczeniem. „Ostatni zwrot” oraz „Planowany zwrot” nie powinny stać się identycznym „Zwrot” po skróceniu etykiety. Długie nazwy w interfejsie wymagają rozpoznawalnego sposobu odczytania całości. Oszczędzenie miejsca w panelu ustawień nie może odebrać możliwości wybrania właściwego pola.
Zmiana kolejności z alternatywą dla przeciągania pozwala przestawić kolumny także bez precyzyjnego ruchu myszą. Można użyć dostępnych przycisków przesuwania albo innego uzgodnionego sposobu. Podczas odbioru osoba ma rozpoznać, która kolumna została przeniesiona i gdzie znalazła się po zmianie. Sam ruch animacji nie wystarczy przy pracy klawiaturą.
Nie utożsamiaj też zwartego widoku z drobną czcionką. Jeśli personalizacja obejmuje gęstość wierszy, powinna zmieniać układ w uzgodnionym zakresie, zachowując czytelność. Przy dużym powiększeniu tekstu użytkownik nadal potrzebuje odróżnić nazwę urządzenia od opisu usterki. Widok służy wykonaniu zadania, nie biciu rekordu liczby komórek na ekranie.
Przy zamykaniu panelu ustal moment przyjęcia zmian. Możemy udostępnić wyraźne „Zastosuj” albo zapisywać układ na bieżąco. W obu wariantach użytkownik powinien wiedzieć, czy zamknięcie okna zachowuje zmianę. Dodanie przycisku „Anuluj” do panelu, który już zastosował wszystko bez drogi odwrócenia, tworzyłoby fałszywą obietnicę.

Czyj widok poprawiasz
Osobisty układ Róży nie powinien zmienić ekranu całej wypożyczalni. Wspólny widok „Do przeglądu” może natomiast mieć właściciela i zasady edycji. Te dwa modele wymagają wyraźnego rozróżnienia przy zapisie. Sama nazwa użytkownika schowana w menu profilu nie mówi, kto odczuje przestawienie kolumn.
Salesforce rozróżnia widoki prywatne i udostępniane innym osobom. Zaznacza przy tym, że publiczny widok nie udostępnia odbiorcy rekordów ani pól, do których nie ma dostępu. Współdzielenie konfiguracji i prawo odczytu danych pozostają osobnymi zasadami.
Po zmianie wspólnego wzorca pokaż także, czy bieżący układ różni się od zapisanego. Róża może tymczasowo dołączyć kolumnę dla jednej rozmowy i wrócić bez publikowania zmiany. Nazwa widoku z czytelnym oznaczeniem niezapisanych ustawień pomaga odróżnić taki stan od nowej wersji wspólnej. Odrzucenie lokalnej zmiany powinno przywrócić zapisane ustawienia, a nie wybrać inny filtr tylko dlatego, że jest domyślny.
W naszym panelu przy wspólnym widoku może pojawić się „Zapisz jako mój”, a edycja oryginału być dostępna tylko odpowiedniej roli. To propozycja projektowa, którą trzeba uzgodnić z właścicielem aplikacji. Użytkownik ma rozumieć, czy poprawia własne środowisko, czy publikuje nowy sposób pracy zespołu.
Tu mieści się zadanie dla Aeneia Design: projekt ekranów, interakcji i dokumentacji rozdzielający osobistą konfigurację od wspólnego wzorca. Do rozmowy wystarczy rzeczywista tabela i dwa różne zadania użytkowników. Reguły przechowywania ustawień i dostępu trzeba połączyć z możliwościami uzgodnionego zaplecza aplikacji.
Zapisz też zakres miejsca. Czy preferencja należy do konta, konkretnej firmy, czy tylko tej przeglądarki? Róża pracująca na drugim stanowisku powinna wiedzieć, czy zobaczy swój układ. Jeśli ustawienia są lokalne, komunikat ma to wyjaśnić bez obiecywania synchronizacji. Jeśli są zapisywane na koncie, projekt potrzebuje komunikatu nieudanego zapisu zamiast milczącego powrotu do dawnego układu.
Zmieniły się pola. Co z dawnymi ustawieniami
Wypożyczalnia dodaje kolumnę najbliższej rezerwacji. Użytkownik ma zapisany własny układ bez tego pola. Nie zakładaj automatycznie, że każda nowa kolumna powinna wyskoczyć pośrodku jego listy. Można wskazać ją w ustawieniach jako nową albo dołączyć do wzorca startowego. Wybór zależy od tego, czy pole jest dodatkiem, czy informacją konieczną do zadania.
Jeżeli nowa informacja zmienia warunki pracy, potrzebny jest wyraźniejszy komunikat niż mała kropka przy menu. Róża nie powinna wydawać zestawu na tydzień, nie wiedząc o jutrzejszej rezerwacji. Zespół może zdecydować o obowiązkowym ostrzeżeniu w odpowiednim kroku. Nie należy jednak oczekiwać, że samo wymuszenie szerokiej kolumny naprawi cały proces wydawania sprzętu.
Przy wycofaniu pola sytuacja jest inna. Stary widok może filtrować po „statusie”, który teraz rozbito na dostępność i stan techniczny. Nie podmieniaj go na najbardziej podobną nazwę bez ustalonej reguły. Możliwy jest komunikat „Ten widok wymaga aktualizacji” wraz z zakresem do poprawienia. Pusta lista nie powinna udawać prawidłowego wyniku dawnej konfiguracji.
Nie każda zmiana nazwy pola oznacza taką samą utratę zgodności. Jeżeli „Miejsce” przemianowano na „Miejsce odłożenia”, lecz znaczenie zostało to samo, użytkownik może zachować kolejność i szerokość. Jeżeli zmieniła się definicja wartości, dawny filtr wymaga innej oceny. W dokumentacji rozdziel korektę etykiety od zmiany pojęcia, aby każda redakcyjna poprawka nie kasowała osobistej organizacji pracy.
Przywrócenie ustawień także potrzebuje nazwy zakresu. „Domyślne kolumny” może pozostawić filtr. „Widok domyślny” może zastąpić cały zestaw ustawień. „Usuń zapisany widok” usuwa konfigurację, a nie urządzenia. Te etykiety warto sprawdzić na faktycznych sekwencjach, bo samotny przycisk „Resetuj” nie wyjaśnia żadnej z tych różnic.
W projekcie eksportu danych trzeba oddzielnie ustalić, czy plik zawiera aktualnie widoczne kolumny, czy inny uzgodniony zakres. Schowanie pola na ekranie nie powinno stać się przypadkową regułą eksportera. Osoba pobierająca zestawienie ma rozpoznać jego zawartość przed przekazaniem dalej.
Wróć do pracy, nie tylko do tych samych prostokątów
Próbę zapisanego widoku zacznij od zadania Róży: ma odnaleźć dzisiejszy zwrot, sprawdzić numer zestawu i wskazać miejsce odłożenia. Potem zmienia układ, zapisuje go i wraca w nowej sesji zgodnie z przyjętym modelem przechowywania. Oceniaj możliwość wykonania zadania oraz zgodność ustawień, nie sam fakt otwarcia menu kolumn.
W próbie warto zmienić także pojedynczą wartość sprawiającą, że urządzenie przestaje pasować do widoku. Po przyjęciu zwrotu zestaw powinien opuścić listę otwartych wypożyczeń, jeżeli właśnie tak działa reguła. Użytkownik potrzebuje rozpoznać zakończenie zadania, zamiast uznać zniknięcie wiersza za utratę danych. To inne oczekiwanie niż trwałe zachowanie osobistego układu kolumn.
Dodaj nowy pasujący rekord i sprawdź, czy widok zachowuje regułę. Następnie usuń dostęp do jednego pola w przygotowanej roli próbnej. Projekt musi wyjaśnić niedostępność zgodnie z rzeczywistym systemem. Nie może traktować osobistej konfiguracji jako zgody na odzyskanie pola po zmianie uprawnień.
Osobno przejdź do szczegółu urządzenia i wróć. Powrót do miejsca na długiej liście obejmuje więcej niż odtworzenie szerokości kolumn. Użytkownik chce rozpoznać rekord, z którego przyszedł, oraz zachowany sposób przeglądania. Jeśli dane zmieniły się w międzyczasie, trzeba zrozumiale pokazać aktualny stan.
Gotowy widok „Zwroty” ma określoną treść obietnicy: zapisuje układ i reguły, pokazuje bieżące pasujące urządzenia, nie odtwarza dawnego zaznaczenia i nie zmienia ustawień innych osób. Jeśli odbiorca potrafi to wyjaśnić po wykonaniu zadania, nazwa widoku zaczyna znaczyć coś konkretnego. Wtedy personalizacja rzeczywiście oszczędza codzienną pracę zamiast dodawać kolejny panel do ustawiania.

