मेट्रिक मैनेजर

मेट्रिक मैनेजर, ब्लॉकली फ़ाइल फ़ोल्डर से जुड़ी सभी मेट्रिक को इकट्ठा और रिपोर्ट करता है. यह गाइड, मेट्रिक मैनेजर से मिलने वाले मेट्रिक के हर सेट का मतलब बताती है. मेट्रिक मैनेजर के बारे में ज़्यादा जानकारी पाने के लिए, 2021 की मेट्रिक्स की अहम जानकारी वाला लेख भी देखा जा सकता है.

मेट्रिक

टूलबॉक्स मेट्रिक

workspace.getMetricsManager().getToolboxMetrics();

टूलबॉक्स मेट्रिक में किसी कैटगरी टूलबॉक्स के height, width, और position शामिल होते हैं. इसमें टूलबॉक्स से अटैच किए गए फ़्लायआउट पर मौजूद जानकारी शामिल नहीं होती.

ब्लॉकली फ़ाइल फ़ोल्डर, जिसमें ऐरो बॉक्स की चौड़ाई और ऊंचाई दिख रही है.

टूलबॉक्स का position, Blockly.utils.toolbox.Position टाइप का है.

फ़्लायआउट मेट्रिक

workspace.getMetricsManager().getFlyoutMetrics();

फ़्लाइआउट मेट्रिक में फ़्लाईआउट टूलबॉक्स के height, width, और position शामिल होते हैं. ध्यान रखें कि यह वह फ़्लाइआउट नहीं है, जो कैटगरी टूलबॉक्स से जुड़ा होता है. यह सिर्फ़ फ़्लाइआउट टूलबॉक्स के बारे में है, जैसा कि नीचे दी गई फ़ोटो में दिखाया गया है.

ब्लॉकली फ़ाइल फ़ोल्डर, जिसमें ऐरो की मदद से फ़्लाइआउट की चौड़ाई और ऊंचाई दिखाई जा रही है.

फ़्लाईआउट का position Blockly.utils.toolbox.Position टाइप का है.

SVG मेट्रिक

workspace.getMetricsManager().getSvgMetrics();

SVG मेट्रिक, फ़ाइल फ़ोल्डर के पैरंट SVG के width और height से मिलकर बनती हैं. मुख्य फ़ाइल फ़ोल्डर के लिए, यह blocklySvg क्लास वाला SVG है. इस SVG फ़ाइल में दिखने वाले फ़ाइल फ़ोल्डर के साथ-साथ टूलबॉक्स भी शामिल होता है.

ब्लॉकली वर्कस्पेस, जिसके चारों ओर नीले रंग का रेक्टैंगल है.

मेट्रिक देखें

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

व्यू मेट्रिक में व्यूपोर्ट के height, width, top, और left शामिल होते हैं. व्यूपोर्ट, फ़ाइल फ़ोल्डर का वह हिस्सा होता है जो दिखता है. इसमें दोनों में से किसी भी तरह का टूलबॉक्स शामिल नहीं है.

इलाके के चारों ओर नीले रंग के रेक्टैंगल वाला ब्लॉकली वर्कस्पेस, जिसमें टूलबॉक्स शामिल नहीं है.

सबसे ऊपर बाईं ओर, फ़ाइल फ़ोल्डर की शुरुआत की जगह के हिसाब से है. जब हम वर्कस्पेस को खींचें और छोड़ें, तब व्यूपोर्ट की ऊपर और बाईं ओर की जगह अपडेट होती जाती है.

ब्लॉकली वर्कस्पेस में एक नीला रेक्टैंगल है, जिसमें टूलबॉक्स शामिल नहीं है. साथ ही, इसमें ऑरिजिन के सबसे ऊपर बाएं कोने से ऑफ़सेट दिखाया गया है.

कुल मेट्रिक

workspace.getMetricsManager().getAbsoluteMetrics();

ऐब्सलूट मेट्रिक, पार्सल SVG के व्यूपोर्ट के top और left ऑफ़सेट से बनी होती हैं. फ़ाइल फ़ोल्डर में टूलबॉक्स कहां रखा गया है, इसके आधार पर यह आम तौर पर टूलबॉक्स की चौड़ाई या ऊंचाई होता है.

ब्लॉकली फ़ाइल फ़ोल्डर, जिसमें टूलबॉक्स के दाईं ओर नीली लाइन है और फ़ाइल फ़ोल्डर के सबसे ऊपर हैं. हॉरिज़ॉन्टल टूलबॉक्स वाला ब्लॉकली फ़ाइल फ़ोल्डर. फ़ाइल फ़ोल्डर की बाईं ओर और टूलबॉक्स के नीचे एक नीली लाइन होती है.

सामग्री मीट्रिक्स

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

कॉन्टेंट मेट्रिक में बाउंडिंग बॉक्स के height, width, top, और left होते हैं. ये मेट्रिक, किसी भी ब्लॉक या फ़ाइल फ़ोल्डर की टिप्पणियों के आस-पास होती हैं.

फ़ाइल फ़ोल्डर के कॉन्टेंट के आस-पास नीले रंग का बॉक्स वाला ब्लॉकली वर्कस्पेस.

मेट्रिक स्क्रोल करें

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

स्क्रोल की मेट्रिक में, स्क्रोल किए जा सकने वाले एरिया के height, width, top, और left शामिल होते हैं. एक जगह से दूसरी जगह ले जाए जा सकने वाले वर्कस्पेस में, कॉन्टेंट का सेक्शन और कुछ पैडिंग (जगह) को स्क्रोल किया जा सकता है.

ब्लॉकली वर्कस्पेस, जिसके चारों तरफ़ नीले रंग का एक बड़ा बॉक्स है.

कोऑर्डिनेट सिस्टम

मेट्रिक मैनेजर से कैलकुलेट की गई सभी मेट्रिक, डिफ़ॉल्ट रूप से पिक्सल कॉर्डिनेट के तौर पर दिखाई जाती हैं. जहां लागू हो वहां true को मेट्रिक विधियों में पास करके, Workspace के कोऑर्डिनेट में कुछ खास मेट्रिक पाने का विकल्प है. उदाहरण के लिए, metricsManager.getViewMetrics(true).

workspaceCoordinate = pixelCoordinates / workspace.scale

आम तौर पर, फ़ाइल फ़ोल्डर कोऑर्डिनेट का इस्तेमाल फ़ाइल फ़ोल्डर में मौजूद आइटम के लिए किया जाता है. जैसे: ब्लॉक और फ़ाइल फ़ोल्डर की टिप्पणियां. उपयोगकर्ता के ज़ूम इन और ज़ूम आउट करने पर, फ़ाइल फ़ोल्डर के निर्देशांक नहीं बदलते.

मेट्रिक को बदलना

अगर डेवलपर को वर्कस्पेस के लिए अपनी मेट्रिक देनी है, तो वे विकल्प के तौर पर मेट्रिक मैनेजर ऑब्जेक्ट रजिस्टर कर सकते हैं. यह ऑब्जेक्ट IMetricsManager इंटरफ़ेस को लागू करता है या Blockly.MetricsManager को बढ़ाता है.

इसका उदाहरण लगातार टूलबॉक्स प्लगिन या Fixed Edges प्लगिन में देखा जा सकता है.