Pengelola Metrik

Pengelola Metrik mengumpulkan dan melaporkan semua metrik yang berkaitan dengan ruang kerja Blockly. Panduan ini menjelaskan arti setiap kumpulan metrik yang ditampilkan dari Pengelola Metrik. Untuk mengetahui informasi selengkapnya tentang Pengelola Metrik, Anda juga dapat menonton 2021 Metrics Deep Dive kami.

Metrik

Metrik Toolbox

workspace.getMetricsManager().getToolboxMetrics();

Metrik kotak alat terdiri dari height, width, dan position dari kotak alat kategori. Hal ini tidak mencakup informasi pada flyout yang terlampir pada toolbox.

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

position toolbox berjenis Blockly.utils.toolbox.Position.

Metrik Flyout

workspace.getMetricsManager().getFlyoutMetrics();

Metrik flyout terdiri dari height, width, dan position dari kotak alat flyout. Perlu diperhatikan bahwa ini bukan menu flyout yang terlampir pada kotak alat kategori. Hal ini hanya berlaku untuk kotak alat flyout seperti yang ditunjukkan pada foto di bawah.

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 SVG induk ruang kerja. Untuk ruang kerja utama, ini adalah SVG dengan class blocklySvg. SVG ini mencakup ruang kerja yang terlihat serta toolbox.

Ruang kerja Blockly dengan persegi panjang biru di sekelilingnya.

Melihat Metrik

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

Metrik tampilan terdiri dari height, width, top, dan left dari area tampilan. Area pandang adalah bagian ruang kerja yang terlihat. Hal ini tidak mencakup kedua jenis kotak alat.

Ruang kerja Blockly dengan persegi panjang biru di sekitar area yang tidak menyertakan
kotak alat.

Kiri atas relatif terhadap asal ruang kerja. Saat kita menarik-narik ruang kerja, posisi atas dan kiri area pandang akan diperbarui.

Ruang kerja Blockly dengan persegi panjang biru di sekitar area yang tidak menyertakan
toolbox, dan asal yang ditampilkan di luar pojok kiri atas.

Metrik Absolut

workspace.getMetricsManager().getAbsoluteMetrics();

Metrik absolut terdiri dari offset top dan left dari area tampilan dari SVG induk. Bergantung pada posisi kotak alat di ruang kerja, ini biasanya adalah lebar atau tinggi kotak alat.

Ruang kerja Blockly dengan garis biru di sebelah kanan kotak alat dan di atas
ruang kerja. Ruang kerja Blockly dengan toolbox horizontal. Ada garis biru di sebelah kiri ruang kerja dan di bawah toolbox.

Metrik Konten

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

Metrik konten terdiri dari height, width, top, dan left dari 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 area konten ditambah beberapa padding.

Ruang kerja Blockly dengan kotak biru besar yang mengelilinginya.

Sistem Koordinat

Secara default, semua metrik yang dihitung oleh Pengelola Metrik ditampilkan sebagai koordinat piksel. Jika berlaku, 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 metriknya sendiri untuk ruang kerja dapat mendaftarkan objek pengelola metrik pengganti yang menerapkan antarmuka IMetricsManager atau memperluas Blockly.MetricsManager.

Contohnya dapat ditemukan di plugin Continuous Toolbox atau di plugin Fixed Edges.