Menedżer danych gromadzi i raportuje wszystkie wskaźniki dotyczące Obszar roboczy Blockly. W tym przewodniku opisano znaczenie każdego zestawu danych zwracanych przez Menedżera wskaźników. Więcej informacji o Menedżerze wskaźników możesz też obejrzeć nasz szczegółowy artykuł na temat wskaźników z 2021 r..
Wskaźniki
Dane w sekcji Zestaw narzędzi
workspace.getMetricsManager().getToolboxMetrics();
Dane w sekcji narzędzi składają się z wartości height
, width
i position
w sekcji narzędzi danej kategorii. Nie obejmuje to informacji na wyskakującym okienku dołączonym do panelu narzędzi.
position
w skrzynce narzędzi jest typu Blockly.utils.toolbox.Position
.
Dane wysuwane
workspace.getMetricsManager().getFlyoutMetrics();
Dane wyskakujących okienek składają się z elementów height
, width
i position
z sekcji narzędzi wyskakujących okienek. Pamiętaj, że nie jest to menu wyskakujące dołączone do panelu narzędzi kategorii. Dotyczy to tylko wyskakujących okienek narzędzi, jak pokazano na poniższym zdjęciu.
position
wyskakującego okienka jest typu Blockly.utils.toolbox.Position
.
Dane SVG
workspace.getMetricsManager().getSvgMetrics();
Dane SVG składają się z elementów width
i height
elementu nadrzędnego obszaru roboczego
SVG. W przypadku głównego workspace jest to plik SVG z klasą blocklySvg
. Ten
SVG zawiera widoczny obszar roboczy oraz zestaw narzędzi.
Wyświetl wskaźniki
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Na dane o wyświetleniach składają się: height
, width
, top
i left
widoczny obszar. Widoczny obszar to widoczna część obszaru roboczego. Nie dotyczy to żadnego z tych typów skrzynek narzędziowych.
Lewy górny róg zależy od punktu początkowego obszaru roboczego. Gdy przeciągamy kursor po obszarze roboczym, pozycja górna i lewa widocznego obszaru są aktualizowane.
Dane bezwzględne
workspace.getMetricsManager().getAbsoluteMetrics();
Dane bezwzględne składają się z odstępu top
i left
widoku względem SVG rodzica. W zależności od tego, gdzie znajduje się zestaw narzędzi,
jest to zwykle szerokość lub wysokość zestawu narzędzi.
Charakterystyka zawartości
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Na dane dotyczące treści składają się: height
, width
, top
i left
ramki ograniczającej wokół bloków lub komentarzy w obszarze roboczym.
Dane o przewijaniu
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Dane o przewijaniu składają się z tych elementów: height
, width
, top
i left
:
obszar, który można przewijać. W przenośnym obszarze roboczym obszarem do przewijania jest zawartość
i 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żna wyświetlić określone dane w
ze współrzędnymi obszaru roboczego, przekazując do metod wskaźników wartość true
. 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 miejscu pracy, takimi jak blokowanie i komentarze w obszarze roboczym. Współrzędne obszaru roboczego nie zmieniają się powiększania i pomniejszania.
Zastępowanie danych
Deweloperzy, którzy chcą udostępniać własne dane dotyczące obszaru roboczego
może zarejestrować obiekt menedżera danych zastępczych, który implementuje
IMetricsManager
lub rozszerzenie Blockly.MetricsManager
.
Przykładem tego jest wtyczka Continuous Toolbox lub wtyczka Fixed Edges.