เครื่องมือจัดการเมตริกจะรวบรวมและรายงานเมตริกทั้งหมดที่เกี่ยวข้องกับ พื้นที่ทำงานแบบบล็อก คู่มือนี้จะอธิบายความหมายของเมตริกแต่ละชุดที่แสดงจากเครื่องมือจัดการเมตริก ดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือจัดการเมตริกได้ในส่วนเจาะลึกเมตริกปี 2021
เมตริก
เมตริกกล่องเครื่องมือ
workspace.getMetricsManager().getToolboxMetrics();
เมตริกกล่องเครื่องมือประกอบด้วย height
, width
และ position
ของกล่องเครื่องมือหมวดหมู่ ทั้งนี้ไม่รวมข้อมูลบนเมนูย่อยที่
ติดอยู่กับกล่องเครื่องมือ
position
ของกล่องเครื่องมือเป็นประเภท Blockly.utils.toolbox.Position
เมตริกของเมนูแบบเลื่อนลง
workspace.getMetricsManager().getFlyoutMetrics();
เมตริก Flyout ประกอบด้วย height
, width
และ position
ของ
กล่องเครื่องมือ Flyout โปรดทราบว่านี่ไม่ใช่เมนูแบบเลื่อนลงที่แนบอยู่กับกล่องเครื่องมือหมวดหมู่ การดำเนินการนี้เกี่ยวข้องกับกล่องเครื่องมือแบบป๊อปอัปเท่านั้นตามที่แสดงในรูปภาพด้านล่าง
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
ของวิวพอร์ตจาก 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
โดยปกติพิกัด Workspace จะใช้สำหรับรายการต่างๆ ที่อยู่บนพื้นที่ทำงาน เช่น บล็อกและความคิดเห็นในพื้นที่ทำงาน พิกัดพื้นที่ทำงานไม่เปลี่ยนแปลง เมื่อผู้ใช้ซูมเข้าและออก
การลบล้างเมตริก
นักพัฒนาซอฟต์แวร์ที่ต้องการระบุเมตริกของตนเองสำหรับ Workspace สามารถลงทะเบียนออบเจ็กต์ตัวจัดการเมตริกสำรองที่ใช้อินเทอร์เฟซ IMetricsManager
หรือขยาย Blockly.MetricsManager
โดยคุณสามารถดูตัวอย่างได้ในปลั๊กอิน Continuous Toolbox หรือในปลั๊กอิน Fixed Edges