เครื่องมือจัดการเมตริก

เครื่องมือจัดการเมตริกจะรวบรวมและรายงานเมตริกทั้งหมดที่เกี่ยวข้องกับ พื้นที่ทำงานแบบบล็อก คู่มือนี้จะอธิบายความหมายของเมตริกแต่ละชุดที่แสดงจากเครื่องมือจัดการเมตริก ดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือจัดการเมตริกได้ในส่วนเจาะลึกเมตริกปี 2021

เมตริก

เมตริกกล่องเครื่องมือ

workspace.getMetricsManager().getToolboxMetrics();

เมตริกกล่องเครื่องมือประกอบด้วย height, width และ position ของกล่องเครื่องมือหมวดหมู่ ทั้งนี้ไม่รวมข้อมูลบนเมนูย่อยที่ ติดอยู่กับกล่องเครื่องมือ

พื้นที่ทํางาน Blockly ที่มีลูกศรแสดงความกว้างและความสูงของกล่องเครื่องมือ

position ของกล่องเครื่องมือเป็นประเภท Blockly.utils.toolbox.Position

เมตริกของเมนูแบบเลื่อนลง

workspace.getMetricsManager().getFlyoutMetrics();

เมตริก Flyout ประกอบด้วย height, width และ position ของ กล่องเครื่องมือ Flyout โปรดทราบว่านี่ไม่ใช่เมนูแบบเลื่อนลงที่แนบอยู่กับกล่องเครื่องมือหมวดหมู่ การดำเนินการนี้เกี่ยวข้องกับกล่องเครื่องมือแบบป๊อปอัปเท่านั้นตามที่แสดงในรูปภาพด้านล่าง

พื้นที่ทํางาน Blockly ที่มีลูกศรแสดงความกว้างและความสูงของเมนูแบบเลื่อนลง

position ของเมนูแบบเลื่อนลงเป็นประเภท Blockly.utils.toolbox.Position

เมตริก SVG

workspace.getMetricsManager().getSvgMetrics();

เมตริก SVG ประกอบด้วย width และ height ของระดับบนของพื้นที่ทำงาน SVG สำหรับพื้นที่ทำงานหลัก นี่เป็น SVG ที่มีคลาส blocklySvg SVG นี้ประกอบด้วยพื้นที่ทํางานที่มองเห็นได้และกล่องเครื่องมือ

พื้นที่ทํางาน Blockly ที่มีสี่เหลี่ยมผืนผ้าสีน้ำเงินล้อมรอบ

ดูเมตริก

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

เมตริกการดูประกอบด้วย height, width, top และ left ของวิดเจ็ต วิวพอร์ตคือส่วนของพื้นที่ทํางานที่มองเห็นได้ ซึ่งไม่รวมกล่องเครื่องมือทั้ง 2 ประเภท

พื้นที่ทำงานแบบ Blockly ที่มีสี่เหลี่ยมผืนผ้าสีฟ้ารอบพื้นที่ซึ่งไม่มีกล่องเครื่องมือ

ด้านบนซ้ายจะสัมพันธ์กับจุดเริ่มต้นของพื้นที่ทำงาน เมื่อเราลาก รอบพื้นที่ทำงาน ตำแหน่งด้านบนและด้านซ้ายของวิวพอร์ต อัปเดตแล้ว

พื้นที่ทำงานแบบบล็อกซึ่งมีสี่เหลี่ยมผืนผ้าสีฟ้ารอบพื้นที่ซึ่งไม่รวมกล่องเครื่องมือ และต้นทางแสดงออฟเซ็ตจากมุมซ้ายบน

เมตริกสัมบูรณ์

workspace.getMetricsManager().getAbsoluteMetrics();

เมตริกแบบสัมบูรณ์ประกอบด้วยออฟเซต top และ left ของวิวพอร์ตจาก SVG ของพาเรนต์ ขึ้นอยู่กับตำแหน่งของกล่องเครื่องมือบน พื้นที่ทำงาน ซึ่งโดยปกติจะเป็นความกว้างหรือความสูงของกล่องเครื่องมือ

พื้นที่ทำงานแบบบล็อกซึ่งมีเส้นสีน้ำเงินทางด้านขวาของกล่องเครื่องมือและที่ด้านบนของพื้นที่ทำงาน พื้นที่ทํางาน Blockly ที่มีกล่องเครื่องมือแนวนอน มีเส้นสีน้ำเงินทางด้านซ้ายของพื้นที่ทำงานและใต้กล่องเครื่องมือ

ตัวชี้วัดเนื้อหา

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

เมตริกเนื้อหาประกอบด้วย height, width, top และ left ของกล่องล้อมรอบบล็อกหรือความคิดเห็นในพื้นที่ทํางาน

พื้นที่ทำงานแบบบล็อกซึ่งมีกล่องสีฟ้ารอบเนื้อหาของพื้นที่ทำงาน

เมตริกการเลื่อน

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

เมตริกการเลื่อนประกอบด้วย height, width, top และ left ของ พื้นที่ที่เลื่อนได้ สำหรับพื้นที่ทำงานที่เคลื่อนย้ายได้ พื้นที่ที่เลื่อนได้คือพื้นที่เนื้อหาบวกระยะห่างเพิ่มเติม

พื้นที่ทำงานของ Blockly ที่มีกล่องสีฟ้าขนาดใหญ่ล้อมรอบ

ระบบพิกัด

โดยค่าเริ่มต้น เมตริกทั้งหมดที่เครื่องมือจัดการเมตริกคํานวณจะแสดงผลเป็นพิกัดพิกเซล ทั้งนี้ มีตัวเลือกให้ดูเมตริกบางรายการ พิกัดของพื้นที่ทำงานโดยส่งผ่าน true ไปยังเมธอดเมตริก ตัวอย่างเช่น metricsManager.getViewMetrics(true)

workspaceCoordinate = pixelCoordinates / workspace.scale

โดยปกติพิกัด Workspace จะใช้สำหรับรายการต่างๆ ที่อยู่บนพื้นที่ทำงาน เช่น บล็อกและความคิดเห็นในพื้นที่ทำงาน พิกัดพื้นที่ทำงานไม่เปลี่ยนแปลง เมื่อผู้ใช้ซูมเข้าและออก

การลบล้างเมตริก

นักพัฒนาซอฟต์แวร์ที่ต้องการระบุเมตริกของตนเองสำหรับ Workspace สามารถลงทะเบียนออบเจ็กต์ตัวจัดการเมตริกสำรองที่ใช้อินเทอร์เฟซ IMetricsManager หรือขยาย Blockly.MetricsManager

โดยคุณสามารถดูตัวอย่างได้ในปลั๊กอิน Continuous Toolbox หรือในปลั๊กอิน Fixed Edges