Metrik Yöneticisi, Blockly çalışma alanıyla ilgili tüm metrikleri toplayıp raporlar. Bu kılavuzda, Metrik Yöneticisi'nden döndürülen her metrik grubunun anlamı açıklanmaktadır. Metrik Yöneticisi hakkında daha fazla bilgi edinmek için 2021 Metriklerine Derinlemesine Bakış başlıklı videomuzu da izleyebilirsiniz.
Metrikler
Araç kutusu metrikleri
workspace.getMetricsManager().getToolboxMetrics();
Araç kutusu metrikleri, bir kategori araç kutusunun height
, width
ve position
değerlerinden oluşur. Araç kutusuna eklenen açılır penceredeki bilgiler buna dahil değildir.
Araç kutusunun position
, Blockly.utils.toolbox.Position
türündedir.
Flyout Metrikleri
workspace.getMetricsManager().getFlyoutMetrics();
Açılır pencere metrikleri, açılır pencere araç kutusunun height
, width
ve position
özelliklerinden oluşur. Bunun, kategori araç kutusuna eklenen açılır pencere olmadığını unutmayın. Bu yalnızca aşağıdaki fotoğrafta gösterildiği gibi açılır araç kutuları için geçerlidir.
Açılır menünün position
öğesi Blockly.utils.toolbox.Position
türündedir.
SVG Metrikleri
workspace.getMetricsManager().getSvgMetrics();
SVG metrikleri, çalışma alanının üst SVG'sinin width
ve height
değerlerinden oluşur. Ana çalışma alanı için bu, blocklySvg
sınıfına sahip SVG'dir.
Bu SVG, görünür çalışma alanının yanı sıra araç kutusunu da içerir.
Metrikleri görüntüleme
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Görünüm metrikleri, görünüm alanının height
, width
, top
ve left
değerlerinden oluşur. Görüntü alanı, çalışma alanının görünür kısmıdır. Bu, her iki türdeki araç kutusunu da içermez.
Sol üst, çalışma alanının başlangıç noktasına göre belirlenir. Çalışma alanında sürükleme işlemi yaptığımızda görüntü alanının üst ve sol konumu güncellenir.
Mutlak Metrikler
workspace.getMetricsManager().getAbsoluteMetrics();
Mutlak metrikler, üst SVG'den gelen görünüm alanının top
ve left
ofsetinden oluşur. Çalışma alanında araç kutusunun konumuna bağlı olarak genellikle araç kutusunun genişliği veya yüksekliğidir.
İçerik Ölçümleri
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
İçerik metrikleri, bloklar veya çalışma alanı yorumları etrafındaki sınırlayıcı kutunun height
, width
, top
ve left
değerlerinden oluşur.
Kaydırma Metrikleri
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Kaydırma metrikleri, kaydırılabilir alanın height
, width
, top
ve left
değerlerinden oluşur. Kaydırılabilir bir çalışma alanında, kaydırılabilir alan içerik alanı ve biraz dolgudan oluşur.
Koordinat Sistemleri
Metrik yöneticisi tarafından hesaplanan tüm metrikler varsayılan olarak piksel koordinatları şeklinde döndürülür. Geçerli olduğu durumlarda, metrik yöntemlerine true
ileterek belirli metrikleri çalışma alanı koordinatlarında alma seçeneği vardır. Örneğin,
metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
Çalışma alanı koordinatları genellikle çalışma alanında bulunan öğeler (ör. bloklar ve çalışma alanı yorumları) için kullanılır. Kullanıcı yakınlaştırıp uzaklaştırdıkça Workspace koordinatları değişmez.
Metrikleri Geçersiz Kılma
Çalışma alanı için kendi metriklerini sağlamak isteyen geliştiriciler, IMetricsManager
arayüzünü uygulayan veya Blockly.MetricsManager
'i genişleten bir yedek metrik yöneticisi nesnesi kaydedebilir.
Bunun bir örneğini Continuous Toolbox eklentisinde veya Fixed Edges eklentisinde bulabilirsiniz.