Metrik Yöneticisi

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 genişliğini ve yüksekliğini gösteren okların bulunduğu Blockly çalışma alanı.

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.

Genişlik ve yüksekliği gösteren okların bulunduğu Blockly çalışma alanı.

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.

Etrafında mavi dikdörtgen bulunan Blockly çalışma alanı.

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.

Araç kutusunun dahil olmadığı alanın etrafında mavi dikdörtgen bulunan Blockly çalışma alanı.

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.

Araç kutusunun bulunmadığı alanı çevreleyen mavi dikdörtgenin yer aldığı Blockly çalışma alanı ve sol üst köşeden kaydırılmış olarak gösterilen bir başlangıç noktası.

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.

Araç kutusunun sağında ve çalışma alanının üstünde mavi bir çizgi bulunan Blockly çalışma alanı. Yatay araç kutusu içeren Blockly çalışma alanı. Çalışma alanının solunda ve araç kutusunun altında mavi bir çizgi bulunur.

İç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.

İçeriklerin etrafında mavi bir kutu bulunan Blockly çalışma alanı.

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.

Etrafında büyük mavi bir kutu bulunan Blockly çalışma alanı.

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.