คลาส BlockSvg
คลาสสำหรับการแสดง SVG ของบล็อก โดยปกติแล้วจะไม่เรียกใช้โดยตรง แต่ควรใช้ workspace.newBlock()
ลายเซ็น:
export declare class BlockSvg extends Block implements IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode
ขยาย: Block
การใช้งาน: IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode
ผู้ผลิต
| ผู้ผลิต | คีย์ตัวปรับแต่ง | คำอธิบาย |
|---|---|---|
| (constructor)(workspace, prototypeName, opt_id) | สร้างอินสแตนซ์ใหม่ของคลาส BlockSvg |
พร็อพเพอร์ตี้
| พร็อพเพอร์ตี้ | คีย์ตัวปรับแต่ง | ประเภท | คำอธิบาย |
|---|---|---|---|
| COLLAPSED_WARNING_ID |
|
(ไม่ได้ประกาศ) | รหัสที่จะแสดงคำเตือน "คำเตือนที่ยุบ" ช่วยให้เรานำคำเตือน "คำเตือนที่ยุบ" ออกได้โดยไม่ต้องนำคำเตือนใดๆ ที่อยู่ในบล็อกออก |
| customContextMenu? | (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void | (ไม่บังคับ) | |
| แยกย่อย | (p1: Workspace) => BlockSvg | (ไม่บังคับ) | |
| height | ตัวเลข | ความสูงของบล็อกนี้ โดยไม่รวมบล็อกคำสั่งที่อยู่ด้านบนหรือด้านล่าง ความสูงอยู่ในหน่วยพื้นที่ทำงาน | |
| INLINE |
|
(ไม่ได้ประกาศ) | ค่าคงที่สำหรับระบุแถวที่จะแสดงในบรรทัด อย่าชนกับ Blockly.inputTypes |
| mutator | MutatorIcon | null | ไอคอนมิวเทเตอร์ของบล็อก (หากมี) | |
| nextConnection | RenderedConnection | ||
| outputConnection | RenderedConnection | ||
| previousConnection | RenderedConnection | ||
| rendered | readonly |
(ไม่ได้ประกาศ) | บล็อกนี้เป็น BlockSVG ไหม |
| saveConnections? | (rootBlock: BlockSvg) => void | (ไม่บังคับ) วิธีที่ไม่บังคับซึ่งจะบันทึกบล็อกที่เชื่อมต่อกับบล็อกนี้เพื่อให้สามารถกู้คืนได้ในภายหลังหลังจากที่บล็อกนี้ได้รับการจัดองค์ประกอบใหม่ (กำหนดค่าใหม่) โดยปกติจะบันทึกบล็อกที่เชื่อมต่อในพร็อพเพอร์ตี้ในบล็อกในเมนูย่อยของ Mutator เพื่อให้การจัดเรียงบล็อกคอมโพเนนต์เหล่านั้นใหม่จะจัดเรียงบล็อกที่เชื่อมต่อที่เกี่ยวข้องในบล็อกนี้ใหม่โดยอัตโนมัติหลังจากที่บล็อกนี้ได้รับการจัดคอมโพสใหม่ MutatorIcon จะจัดเตรียมเครื่องมือฟังเหตุการณ์เพื่อเรียกใช้เมธอดนี้ทุกครั้งที่ฟลายเอาต์ของ Mutator เปิดอยู่และมีการเปลี่ยนแปลงในพื้นที่ทํางานของบล็อกนี้ เพื่อให้ข้อมูลการเชื่อมต่อที่บันทึกไว้เป็นข้อมูลล่าสุด |
|
| style | BlockStyle | ||
| width | ตัวเลข | ความกว้างของบล็อกนี้ รวมถึงบล็อกค่าที่เชื่อมต่อ ความกว้างอยู่ในหน่วยพื้นที่ทำงาน | |
| workspace | WorkspaceSvg |
เมธอด
| วิธีการ | คีย์ตัวปรับแต่ง | คำอธิบาย |
|---|---|---|
| addClass(className) | เพิ่มคลาส CSS ลงในกลุ่ม SVG ของบล็อกนี้ | |
| addIcon(icon) | ||
| addSelect() | เพิ่มเอฟเฟกต์ภาพ "เลือก" ให้กับบล็อก แต่ไม่ได้เลือกบล็อกหรือทริกเกอร์เหตุการณ์จริงๆ | |
| appendInput(input) | ||
| bringToFront(blockOnly) | ย้ายบล็อกนี้ไปที่ด้านหน้าของพื้นที่ทำงานที่มองเห็นได้ |
|
| bumpNeighbours() | เลื่อนบล็อกที่ไม่ได้เชื่อมต่อออกจากการจัดแนว บล็อก 2 บล็อกที่ไม่ได้เชื่อมต่อกันจริงไม่ควรอยู่ในแนวเดียวกันบนหน้าจอโดยบังเอิญ เนื่องจากจะสร้างความสับสนให้กับผู้ใช้ปลายทาง |
|
| calculateContextMenuLocation(e) | protected |
รับตำแหน่งที่จะแสดงเมนูตามบริบทสำหรับบล็อกนี้ ใช้ตำแหน่งของการคลิกหากมีการคลิกบล็อก หรือใช้ตำแหน่งตามช่องของบล็อกในกรณีอื่นๆ |
| canBeFocused() | ดู IFocusableNode.canBeFocused | |
| checkAndDelete() | ลบบล็อกและซ่อนแกล้งเมื่อดำเนินการดังกล่าว ระบบจะไม่ลบบล็อกหากอยู่ในเมนูแบบลอย การดำเนินการนี้จะเรียกใช้จากเมนูตามบริบทและแป้นพิมพ์ลัดเป็นการดำเนินการลบแบบเต็ม หากคุณกำลังทิ้งบล็อกออกจากพื้นที่ทำงานและไม่จำเป็นต้องตรวจสอบเมนูแบบเลื่อนลง จัดกลุ่มเหตุการณ์ หรือซ่อนแกลบ ให้ใช้ block.dispose() โดยตรง |
|
| dispose(healStack, animate) | ทิ้งบล็อกนี้ | |
| disposeInternal() | ทิ้งบล็อกนี้โดยไม่ต้องทำสิ่งที่บล็อกด้านบนกำหนด เช่น ทริกเกอร์เอฟเฟกต์ UI นำโหนดออก ฯลฯ | |
| drag(newLoc, e) | ลากบล็อกไปยังตำแหน่งที่ระบุ | |
| endDrag(e) | สิ้นสุดการลากในบล็อก | |
| generateContextMenu(e) | protected |
สร้างเมนูตามบริบทสำหรับบล็อกนี้ |
| getBoundingRectangle() | แสดงผลพิกัดของกรอบล้อมรอบที่อธิบายขนาดของบล็อกนี้และบล็อกที่ซ้อนอยู่ด้านล่าง ระบบพิกัด: พิกัดพื้นที่ทำงาน | |
| getBoundingRectangleWithoutChildren() | แสดงผลพิกัดของกรอบล้อมรอบที่อธิบายขนาดของบล็อกนี้เพียงอย่างเดียว ระบบพิกัด: พิกัดพื้นที่ทำงาน | |
| getChildren(ordered) | ค้นหาบล็อกทั้งหมดที่ซ้อนอยู่ภายในบล็อกนี้โดยตรง รวมถึงอินพุตค่าและคำสั่ง ตลอดจนคำสั่งใดๆ ที่ตามมา ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือข้อความก่อนหน้า คุณจะจัดเรียงบล็อกตามตำแหน่งจากบนลงล่างหรือไม่ก็ได้ | |
| getColour() | รับสีของบล็อก | |
| getColourSecondary() | รับสีรองของบล็อก | |
| getColourTertiary() | รับสีระดับที่ 3 ของบล็อก | |
| getFocusableElement() | ดู IFocusableNode.getFocusableElement | |
| getFocusableTree() | ดู IFocusableNode.getFocusableTree | |
| getNextBlock() | ส่งคืนบล็อกคำสั่งถัดไปที่เชื่อมต่อกับบล็อกนี้โดยตรง | |
| getPreviousBlock() | แสดงผลบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า | |
| getRelativeToSurfaceXY() | แสดงผลพิกัดของมุมซ้ายบนของบล็อกนี้เทียบกับจุดเริ่มต้น (0,0) ของพื้นผิวการวาดในหน่วยพื้นที่ทำงาน หากบล็อกอยู่ในพื้นที่ทำงาน (0, 0) คือจุดเริ่มต้นของระบบพิกัดพื้นที่ทำงาน ซึ่งจะไม่เปลี่ยนแปลงตามขนาดของพื้นที่ทำงาน | |
| getStyle() | แสดงผลออบเจ็กต์ BlockStyle ที่ใช้จัดรูปแบบบล็อกนี้ | |
| getSvgRoot() | แสดงโหนดรูทของ SVG หรือ null หากไม่มี | |
| initSvg() | สร้างและเริ่มต้นการแสดง SVG ของบล็อก อาจเรียกใช้มากกว่า 1 ครั้ง | |
| isCopyable() | แสดงผลว่าบล็อกนี้คัดลอกได้หรือไม่ | |
| isMovable() | แสดงผลว่าบล็อกนี้ย้ายได้หรือไม่ | |
| jsonInit(json) | ||
| markDirty() | แจ้งทุกอินพุตในบล็อกนี้เพื่อทำเครื่องหมายฟิลด์เป็น "ไม่สะอาด" ฟิลด์ที่ต้องอัปเดตคือฟิลด์ที่ต้องแสดงผลอีกครั้ง | |
| moveBy(dx, dy, reason) | ย้ายบล็อกโดยใช้การชดเชยแบบสัมพัทธ์ | |
| moveNumberedInputBefore(inputIndex, refIndex) | ย้ายอินพุตที่มีหมายเลขไปยังตำแหน่งอื่นในบล็อกนี้ | |
| moveTo(xy, reason) | ย้ายบล็อกไปยังตำแหน่ง | |
| onNodeBlur() | ดู IFocusableNode.onNodeBlur | |
| onNodeFocus() | ดู IFocusableNode.onNodeFocus | |
| removeClass(className) | นำคลาส CSS ออกจากกลุ่ม SVG ของบล็อกนี้ | |
| removeIcon(type) | ||
| removeInput(name, opt_quiet) | นำอินพุตออกจากบล็อกนี้ | |
| removeSelect() | นำเอฟเฟกต์ภาพ "เลือก" ออกจากบล็อก แต่ไม่ได้ยกเลิกการเลือกหรือทริกเกอร์เหตุการณ์จริง | |
| render() | จัดวางและปรับโฟลว์บล็อกตามเนื้อหาและการตั้งค่าทันที | |
| revertDrag() | ย้ายบล็อกกลับไปยังตำแหน่งเดิมเมื่อเริ่มลาก | |
| scheduleSnapAndBump() | สแนปกับตารางกริด แล้วดันบล็อกที่อยู่ติดกันออกไปที่ส่วนท้ายของการแสดงผลถัดไป | |
| select() | เลือกบล็อกนี้ ไฮไลต์บล็อกด้วยภาพ | |
| setCollapsed(collapsed) | ตั้งค่าว่าจะยุบบล็อกหรือไม่ | |
| setColour(colour) | เปลี่ยนสีของบล็อก | |
| setDeletable(deletable) | เพิ่มคลาส blocklyNotDeletable เมื่อบล็อกลบไม่ได้ หรือนำคลาสออกเมื่อบล็อกลบได้ | |
| setDisabledReason(disabled, reason) | เพิ่มหรือนำเหตุผลที่อาจปิดใช้การบล็อกออก หากการบล็อกมีเหตุผลที่ต้องปิดใช้ ระบบจะถือว่าการบล็อกนั้นปิดใช้แล้ว การบล็อกอาจถูกปิดใช้พร้อมกันด้วยเหตุผลหลายประการที่ไม่เกี่ยวข้องกัน เช่น เมื่อผู้ใช้ปิดใช้ด้วยตนเอง หรือการบล็อกไม่ถูกต้อง | |
| setDragStrategy(dragStrategy) | ตั้งค่ากลยุทธ์การลากสำหรับบล็อกนี้ | |
| setEditable(editable) | กำหนดว่าบล็อกนี้แก้ไขได้หรือไม่ | |
| setHighlighted(highlighted) | ตั้งค่าว่าจะไฮไลต์บล็อกหรือไม่ โดยมักใช้การไฮไลต์บล็อกเพื่อทำเครื่องหมายบล็อกที่กำลังดำเนินการอยู่ด้วยภาพ | |
| setInputsInline(newBoolean) | กำหนดว่าจะจัดเรียงอินพุตค่าในแนวนอนหรือแนวตั้ง | |
| setMovable(movable) | กำหนดว่าบล็อกนี้ย้ายได้หรือไม่ | |
| setMutator(mutator) | ให้กล่องโต้ตอบ Mutator แก่บล็อกนี้ | |
| setNextStatement(newBoolean, opt_check) | กำหนดว่าบล็อกอื่นจะต่อท้ายบล็อกนี้ได้หรือไม่ | |
| setOutput(newBoolean, opt_check) | กำหนดว่าบล็อกนี้จะแสดงผลค่าหรือไม่ | |
| setPreviousStatement(newBoolean, opt_check) | ตั้งค่าว่าบล็อกนี้จะต่อท้ายบล็อกอื่นได้หรือไม่ | |
| setStyle(blockStyleName) | กำหนดค่ารูปแบบและสีของบล็อก | |
| setWarningText(text, id) | ตั้งค่าข้อความคำเตือนของบล็อกนี้ | |
| snapToGrid() | สแนปบล็อกนี้ไปยังจุดกริดที่ใกล้ที่สุด | |
| startDrag(e) | เริ่มลากบล็อก | |
| toCopyData() | เข้ารหัสบล็อกเพื่อคัดลอก | |
| toFlyoutInfo() | แสดงการแทนบล็อกนี้ที่แสดงในเมนูแบบลอยได้ | |
| translate(x, y) | เปลี่ยนรูปแบบบล็อกโดยตั้งค่าการแปลในแอตทริบิวต์การเปลี่ยนรูปแบบของ SVG ของบล็อก | |
| unselect() | ยกเลิกการเลือกบล็อกนี้ ยกเลิกการไฮไลต์บล็อกด้วยภาพ |