Menedżer danych zbiera i raportuje wszystkie dane dotyczące obszaru roboczego Blockly. Z tego przewodnika dowiesz się, co oznaczają poszczególne zestawy danych zwracanych przez Menedżera danych. Więcej informacji o Menedżerze wskaźników znajdziesz w naszym szczegółowym omówieniu wskaźników z 2021 roku.
Dane
Dane dotyczące zestawu narzędzi
workspace.getMetricsManager().getToolboxMetrics();
Wskaźniki skrzynki narzędziowej składają się z height
, width
i position
skrzynki narzędziowej kategorii. Nie obejmuje to informacji z wyskakującego menu, które jest dołączone do przybornika.
position
skrzynki narzędziowej jest typu Blockly.utils.toolbox.Position
.
Wskaźniki wysuwane
workspace.getMetricsManager().getFlyoutMetrics();
Wskaźniki wysuwane składają się z height
, width
i position
wysuwanego przybornika. Pamiętaj, że nie jest to wysuwane menu, które jest
dołączone do przybornika kategorii. Dotyczy to tylko wysuwanych przyborników, jak pokazano na zdjęciu poniżej.
position
wysuwanego menu jest typu Blockly.utils.toolbox.Position
.
Dane SVG
workspace.getMetricsManager().getSvgMetrics();
Dane SVG składają się z width
i height
nadrzędnego pliku SVG obszaru roboczego. W głównym obszarze roboczym jest to plik SVG z klasą blocklySvg
.
Ten plik SVG zawiera widoczny obszar roboczy oraz przybornik.
Wyświetl wskaźniki
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Dane wyświetlenia obejmują height
, width
, top
i left
obszaru wyświetlania. Widoczny obszar to widoczna część obszaru roboczego. Nie obejmuje to żadnego rodzaju skrzynki narzędziowej.
Lewy górny róg jest określany względem punktu początkowego obszaru roboczego. Podczas przesuwania obszaru roboczego aktualizowana jest pozycja widocznego obszaru w górnej i lewej części.
Wartości bezwzględne
workspace.getMetricsManager().getAbsoluteMetrics();
Wartości bezwzględne składają się z przesunięcia top
i left
widocznego obszaru względem nadrzędnego elementu SVG. W zależności od tego, gdzie w obszarze roboczym znajduje się przybornik, jest to zwykle jego szerokość lub wysokość.
Charakterystyka zawartości
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Wskaźniki treści obejmują height
, width
, top
i left
ramki ograniczającej wokół bloków lub komentarzy w obszarze roboczym.
Wskaźniki przewijania
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Wskaźniki przewijania obejmują height
, width
, top
i left
obszaru przewijania. W przypadku ruchomego obszaru roboczego obszar przewijania to obszar treści plus pewne dopełnienie.
Systemy współrzędnych
Domyślnie wszystkie dane obliczane przez Menedżera danych są zwracane jako współrzędne pikseli. W odpowiednich przypadkach możesz uzyskać określone dane w współrzędnych obszaru roboczego, przekazując wartość true
do metod dotyczących danych. Na przykład:metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
Współrzędne obszaru roboczego są zwykle używane w przypadku elementów znajdujących się w obszarze roboczym, takich jak bloki i komentarze do obszaru roboczego. Współrzędne obszaru roboczego nie zmieniają się, gdy użytkownik powiększa lub pomniejsza widok.
Zastępowanie danych
Deweloperzy, którzy chcą udostępniać własne dane w przestrzeni roboczej, mogą zarejestrować obiekt menedżera zastępczych danych, który implementuje interfejs IMetricsManager
lub rozszerza klasę Blockly.MetricsManager
.
Przykładem może być wtyczka Continuous Toolbox lub Fixed Edges.