คลาส BlockSvg
คลาสสำหรับการแสดง SVG ของบล็อก ตามปกติจะไม่เรียกใช้โดยตรง แนะนำให้ใช้ workspace.newBlock()
ลายเซ็น:
export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable
ขยาย: บล็อก
การนำไปใช้งาน: IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable
ผู้ผลิต
ผู้ผลิต | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(constructor)(workspace, prototypeName, opt_id) | สร้างอินสแตนซ์ใหม่ของคลาส BlockSvg |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | คีย์ตัวปรับแต่ง | ประเภท | คำอธิบาย |
---|---|---|---|
COLLAPSED_WARNING_ID |
|
(ไม่ได้ประกาศ) | รหัสสำหรับตั้ง "คำเตือนที่ยุบ" คำเตือน อนุญาตให้เรานำ "คำเตือนที่ถูกยุบ" ออก โดยไม่นำคำเตือนของการบล็อกออก |
customContextMenu? | (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => เป็นโมฆะ | (ไม่บังคับ) | |
แยกตัวออก | (p1: พื้นที่ทำงาน) => BlockSvg | (ไม่บังคับ) | |
ความสูง | ตัวเลข | ความสูงของบล็อกนี้ ไม่รวมบล็อกคำสั่งใดๆ ที่อยู่ด้านบนหรือต่ำกว่า ความสูงอยู่ในหน่วยของพื้นที่ทำงาน | |
INLINE |
|
(ไม่ได้ประกาศ) | ค่าคงที่สำหรับการระบุแถวที่จะแสดงแบบอินไลน์ อย่าขัดแย้งกับ Blockly.inputTypes |
Mutator | MutatorIcon | ค่าว่าง | ไอคอน Mutator ของบล็อก (หากมี) | |
nextConnection | RenderedConnection | ||
outputConnection | RenderedConnection | ||
previousConnection | RenderedConnection | ||
แสดงผลแล้ว | readonly |
(ไม่ได้ประกาศ) | การบล็อกนี้เป็น BlockSVG ใช่ไหม |
saveConnections ไหม | (หน้า 1: BlockSvg) => เป็นโมฆะ | (ไม่บังคับ) | |
สไตล์ [style] | BlockStyle | ||
ความกว้าง | ตัวเลข | ความกว้างของบล็อกนี้ รวมถึงบล็อกค่าที่เชื่อมต่อ ความกว้างอยู่ในหน่วยของพื้นที่ทำงาน | |
พื้นที่ทำงาน | WorkspaceSvg |
เมธอด
วิธีการ | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
addIcon(icon) | ||
addSelect() | เพิ่ม "เลือก" ภาพ ของการบล็อก แต่ไม่ได้เลือกหรือทำให้เหตุการณ์เริ่มทำงานจริงๆ | |
appendInput(input) | ||
bumpNeighbours() | ขยับบล็อกที่ไม่ได้เชื่อมต่อให้อยู่แนวเดียวกัน บล็อก 2 บล็อกที่ไม่ได้เชื่อมต่อกันจริงๆ ไม่ควรอยู่ติดกันบนหน้าจอ เพราะจะทำให้ผู้ใช้ปลายทางสับสน |
|
checkAndDelete() | ลบบล็อกและซ่อนแก๊ฟเมื่อทำเช่นนั้น โดยจะไม่มีการลบบล็อกดังกล่าวหากบล็อกอยู่ระหว่างการดึงข้อมูล ซึ่งจะเรียกใช้จากเมนูบริบทและแป้นพิมพ์ลัดเป็นการดำเนินการลบโดยสมบูรณ์ หากคุณกำจัดบล็อกออกจากพื้นที่ทำงานและไม่จำเป็นต้องทำการตรวจสอบ Flyout, จัดการการจัดกลุ่มกิจกรรม หรือซ่อนแชฟฟ์ ให้ใช้ block.dispose() โดยตรง |
|
กำจัด(healStack, เคลื่อนไหว) | กำจัดบล็อกนี้ | |
disposeInternal() | กำจัดบล็อกนี้โดยไม่ต้องดำเนินการตามที่บล็อกด้านบนกำหนด เช่น ทริกเกอร์เอฟเฟกต์ UI, นำโหนดออก เป็นต้น | |
drag(newLoc, e) | ลากบล็อกไปยังตำแหน่งที่กำหนด | |
endDrag(e) | สิ้นสุดการลากบนบล็อก | |
generateContextMenu() | protected |
สร้างเมนูตามบริบทสำหรับการบล็อกนี้ |
getBoundingRectangle() | แสดงผลพิกัดของกรอบล้อมรอบที่อธิบายมิติของบล็อกนี้และบล็อกที่ซ้อนอยู่ด้านล่าง ระบบพิกัด: พิกัดของพื้นที่ทำงาน | |
getChildren(ordered) | ค้นหาบล็อกทั้งหมดที่ฝังอยู่ภายในบล็อกนี้โดยตรง รวมอินพุตมูลค่าและข้อความ รวมถึงข้อความต่อไปนี้ ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือข้อความก่อนหน้า การบล็อกจะจัดเรียงตามตำแหน่ง (ไม่บังคับ) จากบนลงล่าง | |
getColour() | เลือกสีของบล็อก | |
getColourSecondary() | เลือกสีรองของบล็อก | |
getColourTertiary() | หาสีที่ 3 ของบล็อก | |
getNextBlock() | แสดงผลบล็อกคำสั่งถัดไปที่เชื่อมต่อกับการบล็อกนี้โดยตรง | |
getPreviousBlock() | แสดงบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า | |
getRelativeToSurfaceXY() | แสดงพิกัดที่มุมซ้ายบนของบล็อกนี้ซึ่งสัมพันธ์กับต้นทางของพื้นที่วาดภาพ (0,0) ในหน่วยพื้นที่ทำงาน หากบล็อกอยู่บนพื้นที่ทำงาน (0, 0) จะเป็นต้นทางของระบบพิกัดพื้นที่ทำงาน การเปลี่ยนแปลงนี้จะไม่เปลี่ยนแปลงตามขนาดของพื้นที่ทำงาน | |
getSvgRoot() | แสดงผลโหนดรูทของ SVG หรือ Null หากยังไม่มี | |
initSvg() | สร้างและเริ่มต้นการแสดง SVG ของบล็อก อาจมีการโทรมากกว่า 1 ครั้ง | |
isMovable() | แสดงผลว่าบล็อกนี้ย้ายได้หรือไม่ | |
markDirty() | แจ้งเตือนทุกอินพุตในบล็อกนี้เพื่อทำเครื่องหมายช่องว่าสกปรก ฟิลด์ที่สกปรกคือฟิลด์ที่ต้องได้รับการแสดงผลอีกครั้ง | |
moveBy(dx, dy, reason) | ย้ายบล็อกตามออฟเซ็ตที่เกี่ยวข้อง | |
moveNumberedInputBefore(inputIndex, refIndex) | ย้ายอินพุตที่มีตัวเลขไปยังตำแหน่งอื่นในบล็อกนี้ | |
moveTo(xy, เหตุผล) | ย้ายบล็อกไปยังตำแหน่งที่ต้องการ | |
removeIcon(type) | ||
removeInput(name, opt_quiet) | นําอินพุตออกจากบล็อกนี้ | |
removeSelect() | นำ "เลือก" ภาพออก จากการบล็อก แต่จริงๆ แล้วไม่ได้ยกเลิกการเลือกหรือทำให้เหตุการณ์เริ่มทำงาน | |
render() | จัดวางบล็อกและปรับเปลี่ยนใหม่ตามเนื้อหาและการตั้งค่าทันที | |
revertDrag() | ย้ายบล็อกกลับไปยังจุดเริ่มต้นของการลาก | |
scheduleSnapAndBump() | จัดพอดีกับตารางกริด แล้วย้ายบล็อกที่อยู่ใกล้เคียงออกไปเมื่อสิ้นสุดการแสดงภาพถัดไป | |
select() | เลือกบล็อกนี้ ไฮไลต์บล็อกด้วยภาพ | |
setCollapsed(collapsed) | กำหนดว่าจะยุบบล็อกหรือไม่ | |
setColour(colour) | เปลี่ยนสีของบล็อก | |
setDisabledReason(disabled, reason) | เพิ่มหรือนำเหตุผลในการปิดใช้การบล็อกออก หากการบล็อกมีเหตุผลในการปิดใช้ จะถือว่าการบล็อกนั้นปิดใช้ไปแล้ว การบล็อกอาจถูกปิดใช้ด้วยเหตุผลหลายประการไปพร้อมกัน เช่น เมื่อผู้ใช้ปิดใช้งานด้วยตนเอง หรือการบล็อกไม่ถูกต้อง | |
setDragStrategy(dragStrategy) | กำหนดกลยุทธ์การลากสำหรับการบล็อกนี้ | |
setEditable(editable) | ตั้งค่าว่าบล็อกนี้แก้ไขได้หรือไม่ | |
setEnabled(enabled) | ||
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) | เริ่มการลากบนบล็อก | |
แท็บ(เริ่มต้น ไปข้างหน้า) | เปิด FieldTextInput ถัดไป (หรือก่อนหน้า) | |
toCopyData() | เข้ารหัสบล็อกเพื่อคัดลอก | |
toFlyoutInfo() | แสดงผลการนำเสนอบล็อกนี้ที่จะแสดงในฟลายเอาต์ | |
แปล(x, y) | แปลงการบล็อกโดยการตั้งค่าการแปลในแอตทริบิวต์ transform ของ SVG ของบล็อก | |
unselect() | ยกเลิกการเลือกบล็อกนี้ เลิกไฮไลต์การบล็อกด้วยภาพ | |
updateMarkers_() | protected |
วาดเครื่องหมายที่แนบมาหรือ SVG ของเคอร์เซอร์อีกครั้งหากจำเป็น |