{i>Metrics Manager

Metrics Manager mengumpulkan dan melaporkan semua metrik yang terkait dengan Ruang kerja blok. Panduan ini menjelaskan arti dari setiap kumpulan metrik yang ditampilkan dari Metrics Manager. Untuk mengetahui informasi selengkapnya tentang Metrics Manager Anda juga dapat menonton Pembahasan Mendalam Metrik 2021.

Metrik

Metrik Toolbox

workspace.getMetricsManager().getToolboxMetrics();

Metrik toolbox terdiri dari height, width, dan position dari kotak peralatan kategori. Ini tidak termasuk informasi {i>flyout<i} yang yang dilampirkan ke {i>toolbox<i}.

Ruang kerja Blockly dengan panah yang menunjukkan lebar dan tinggi toolbox.

position toolbox adalah jenis Blockly.utils.toolbox.Position.

Metrik Flyout

workspace.getMetricsManager().getFlyoutMetrics();

Metrik flyout terdiri dari height, width, dan position dari {i>flyout toolbox<i}. Penting untuk dicatat, bahwa ini bukan {i>flyout<i} yang yang disertakan dalam kategori {i>toolbox<i}. Ini hanya berkaitan dengan kotak peralatan {i>flyout<i} karena yang ditampilkan di foto di bawah ini.

Ruang kerja Blockly dengan panah yang menunjukkan lebar dan tinggi flyout.

position flyout adalah jenis Blockly.utils.toolbox.Position.

Metrik SVG

workspace.getMetricsManager().getSvgMetrics();

Metrik SVG terdiri dari width dan height dari induk ruang kerja SVG. Untuk ruang kerja utama, ini adalah SVG dengan class blocklySvg. Ini SVG mencakup ruang kerja yang terlihat serta toolbox.

Ruang kerja Blockly dengan persegi panjang biru di sekitarnya.

Melihat Metrik

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

Metrik tampilan terdiri dari height, width, top, dan left dari area pandang. Area tampilan adalah bagian dari ruang kerja yang terlihat. Ini tidak termasuk salah satu jenis toolbox.

Ruang kerja Blockly dengan persegi panjang biru di sekitar area yang tidak termasuk kotak peralatan.

Kiri atas berhubungan dengan asal ruang kerja. Saat kita menarik di sekitar ruang kerja, posisi atas dan kiri area pandang diperbarui.

Ruang kerja Blockly dengan persegi panjang biru di sekitar area yang tidak termasuk kotak peralatan, dan tempat asal yang ditampilkan offset dari sudut kiri atas.

Metrik Absolut

workspace.getMetricsManager().getAbsoluteMetrics();

Metrik absolut terdiri dari offset top dan left dari area tampilan dari SVG pareng. Tergantung pada posisi {i>toolbox<i} pada {i>workspace<i}, biasanya adalah lebar atau tinggi {i>toolbox<i}.

Ruang kerja Blockly dengan garis biru di sebelah kanan {i>toolbox<i} dan di atas ruang kerja. Ruang kerja Blockly dengan toolbox horizontal. Ada garis biru di sebelah kiri ruang kerja dan di bawah {i>toolbox<i}.

Metrik Konten

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

Metrik konten terdiri dari height, width, top, dan left kotak pembatas di sekitar blok atau komentar ruang kerja.

Ruang kerja Blockly dengan kotak biru di sekitar konten ruang kerja.

Metrik Scroll

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

Metrik scroll terdiri dari height, width, top, dan left dari area yang dapat di-scroll. Untuk ruang kerja yang dapat dipindahkan, area yang dapat di-scroll adalah konten dan beberapa padding.

Ruang kerja Blockly dengan kotak biru besar mengelilinginya.

Sistem Koordinat

Secara default, semua metrik yang dihitung oleh Metrics Manager ditampilkan sebagai piksel pada koordinat tertentu. Jika memungkinkan, ada opsi untuk mendapatkan metrik tertentu dalam koordinat ruang kerja dengan meneruskan true ke metode metrik. Misalnya, metricsManager.getViewMetrics(true).

workspaceCoordinate = pixelCoordinates / workspace.scale

Koordinat ruang kerja umumnya digunakan untuk item yang berada di ruang kerja, seperti blok dan komentar ruang kerja. Koordinat Workspace tidak berubah saat pengguna memperbesar dan memperkecil.

Mengganti Metrik

Developer yang ingin menyediakan metrik mereka sendiri untuk ruang kerja dapat mendaftarkan objek pengelola metrik pengganti yang menerapkan IMetricsManager terhubung atau memperluas Blockly.MetricsManager.

Contohnya dapat ditemukan di plugin Continuous Toolbox atau di plugin Tetap Edge.