เครื่องมือจัดการเมตริกจะรวบรวมและรายงานเมตริกทั้งหมดที่เกี่ยวข้องกับพื้นที่ทำงานของ Blockly คู่มือนี้จะอธิบายความหมายของเมตริกแต่ละชุด ที่ได้จากเครื่องมือจัดการเมตริก นอกจากนี้ คุณยังดูเจาะลึกเมตริกปี 2021 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือจัดการเมตริกได้ด้วย
เมตริก
เมตริกกล่องเครื่องมือ
workspace.getMetricsManager().getToolboxMetrics();
เมตริกกล่องเครื่องมือประกอบด้วย height
, width
และ position
ของกล่องเครื่องมือหมวดหมู่ ซึ่งไม่รวมถึงข้อมูลบนตัวเลื่อนที่แนบอยู่กับกล่องเครื่องมือ
position
ของกล่องเครื่องมือเป็นประเภท Blockly.utils.toolbox.Position
เมตริก Flyout
workspace.getMetricsManager().getFlyoutMetrics();
เมตริกแบบ Flyout ประกอบด้วย height
, width
และ position
ของกล่องเครื่องมือแบบเลื่อนออก สิ่งสำคัญที่ควรทราบก็คือ นี่ไม่ใช่หน้าต่างที่ปรากฏที่แนบอยู่กับกล่องเครื่องมือหมวดหมู่ ปัญหานี้เกี่ยวข้องกับกล่องเครื่องมือที่ลอยออกไป
ตามที่แสดงในภาพด้านล่างเท่านั้น
position
ของการบินจัดอยู่ในประเภท Blockly.utils.toolbox.Position
เมตริก SVG
workspace.getMetricsManager().getSvgMetrics();
เมตริก SVG ประกอบด้วย width
และ height
ของ SVG ระดับบนสุดของพื้นที่ทำงาน สำหรับพื้นที่ทำงานหลัก นี่คือ SVG ที่มีคลาส blocklySvg
SVG นี้มีพื้นที่ทำงานที่มองเห็นและกล่องเครื่องมือด้วย
ดูเมตริก
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
เมตริกการดูประกอบด้วย height
, width
, top
และ left
ของวิวพอร์ต วิวพอร์ตเป็นส่วนของพื้นที่ทำงานที่มองเห็นได้ ซึ่งไม่รวมถึงกล่องเครื่องมือทั้ง 2 ประเภท
ด้านซ้ายบนสัมพันธ์กับต้นทางของพื้นที่ทำงาน เมื่อเราลากไปรอบๆ พื้นที่ทำงาน ตำแหน่งด้านบนและด้านซ้ายของวิวพอร์ตจะได้รับการอัปเดต
เมตริกสัมบูรณ์
workspace.getMetricsManager().getAbsoluteMetrics();
เมตริกสัมบูรณ์จะประกอบขึ้นจากออฟเซ็ต top
และ left
ของวิวพอร์ตจาก Pareng SVG ซึ่งโดยปกติแล้วจะเป็นความกว้างหรือความสูงของกล่องเครื่องมือ ทั้งนี้ขึ้นอยู่กับตำแหน่งของกล่องเครื่องมือบนพื้นที่ทำงาน
ตัวชี้วัดเนื้อหา
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
เมตริกเนื้อหาประกอบด้วย height
, width
, top
และ left
ของกรอบล้อมรอบบล็อกหรือความคิดเห็นในพื้นที่ทำงาน
เมตริกการเลื่อน
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
เมตริกการเลื่อนประกอบด้วย height
, width
, top
และ left
ของพื้นที่ที่เลื่อนได้ สำหรับพื้นที่ทำงานที่ย้ายได้ พื้นที่ที่เลื่อนได้คือพื้นที่เนื้อหาบวกกับระยะห่างจากขอบบางส่วน
ระบบพิกัด
โดยค่าเริ่มต้น เมตริกทั้งหมดที่คำนวณโดยเครื่องมือจัดการเมตริกจะแสดงผลเป็นพิกัดพิกเซล ในกรณีที่เกี่ยวข้อง จะมีตัวเลือกในการรับเมตริกบางรายการในพิกัดพื้นที่ทำงานโดยการส่งผ่าน true
ไปยังเมธอดเมตริก ตัวอย่างเช่น
metricsManager.getViewMetrics(true)
workspaceCoordinate = pixelCoordinates / workspace.scale
โดยทั่วไปแล้ว พิกัดพื้นที่ทำงานจะใช้กับรายการที่อยู่ในพื้นที่ทำงาน เช่น บล็อกและความคิดเห็นในพื้นที่ทำงาน พิกัดพื้นที่ทำงานจะไม่เปลี่ยนแปลง เมื่อผู้ใช้ซูมเข้าและออก
การลบล้างเมตริก
นักพัฒนาซอฟต์แวร์ที่ต้องการระบุเมตริกของตนเองสำหรับพื้นที่ทำงานสามารถลงทะเบียนออบเจ็กต์ตัวจัดการเมตริกทดแทนที่ใช้อินเทอร์เฟซ IMetricsManager
หรือขยาย Blockly.MetricsManager
ดูตัวอย่างดังกล่าวได้ในปลั๊กอินกล่องเครื่องมือแบบต่อเนื่องหรือในปลั๊กอินคงที่ขอบ