บล็อกชั้นเรียน
ชั้นเรียนสำหรับ 1 บล็อก โดยปกติแล้วจะไม่เรียกโดยตรง แต่แนะนำให้ใช้ workspace.newBlock()
ลายเซ็น:
export declare class Block implements IASTNodeLocation, IDeletable
การนำไปใช้งาน: IASTNodeLocation, IDeletable
ผู้ผลิต
ผู้ผลิต | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(constructor)(workspace, prototypeName, opt_id) | สร้างอินสแตนซ์ใหม่ของคลาส Block |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | ตัวปรับแต่ง | Type | คำอธิบาย |
---|---|---|---|
childBlocks_ | protected |
นี้[] | |
collapsed_ | protected |
boolean | |
COLLAPSED_FIELD_NAME |
|
สตริง | รหัสภาษาที่เป็นกลางที่กำหนดให้กับช่องที่ยุบ |
COLLAPSED_INPUT_NAME |
|
สตริง | รหัสภาษาที่เป็นกลางที่กำหนดให้กับอินพุตที่ยุบ |
colour_ | protected |
สตริง | สีของบล็อกในรูปแบบ "#RRGGBB" |
compose? | (p1: Block) => เป็นโมฆะ | (ไม่บังคับ) ฟังก์ชันที่ไม่บังคับที่กำหนดค่าบล็อกใหม่ตามเนื้อหาของกล่องโต้ตอบการเปลี่ยนแปลง | |
contextMenu | boolean | ||
ข้อมูล | สตริง | ไม่มีข้อมูล | ข้อมูลข้อความที่ไม่บังคับที่มีการส่งไปกลับระหว่างบล็อกและ XML ไม่มีผลใดๆ บุคคลที่สามอาจใช้เพื่อแสดงข้อมูลเมตา | |
ย่อยสลายได้อย่างไร | (p1: พื้นที่ทำงาน) => บล็อก | (ไม่บังคับ) ฟังก์ชันที่ไม่บังคับที่สร้างกล่องโต้ตอบของตัวเปลี่ยนแปลงด้วยคอมโพเนนต์ของบล็อกนี้ | |
destroy? | () => เป็นโมฆะ | (ไม่บังคับ) วิธีทางเลือกที่เรียกระหว่างการกำจัด | |
domToMutation | (p1: องค์ประกอบ) => เป็นโมฆะ | (ไม่บังคับ) วิธีการดีซีเรียลไลซ์ (ไม่บังคับ) สำหรับกำหนดวิธีดีซีเรียลไลซ์สถานะการเปลี่ยนแปลงจาก XML ซึ่งต้องใช้ร่วมกับการกำหนด mutationToDom |
|
getDeveloperVariant ใช่ไหม | () => สตริง[] | (ไม่บังคับ) พร็อพเพอร์ตี้ที่ไม่บังคับสำหรับการประกาศตัวแปรของนักพัฒนาซอฟต์แวร์ แสดงรายการชื่อตัวแปรเพื่อให้โปรแกรมสร้างใช้ ตัวแปรของนักพัฒนาซอฟต์แวร์จะไม่แสดงให้ผู้ใช้เห็น แต่จะประกาศเป็นตัวแปรร่วมในโค้ดที่สร้างขึ้น | |
? | สตริง | (ไม่บังคับ) ชื่อประเภทของหมวก | |
helpUrl | string | Function | null | สตริงสำหรับความช่วยเหลือเกี่ยวกับการบล็อก หรือฟังก์ชันที่แสดงผล URL ค่า Null หากไม่ขอความช่วยเหลือ | |
ไอคอน | IIcon[] | ||
id | สตริง | ||
init? | () => เป็นโมฆะ | (ไม่บังคับ) เมธอดที่ไม่บังคับซึ่งเรียกใช้ระหว่างการเริ่มต้น | |
inputList | อินพุต[] | ||
อินพุตอินไลน์? | boolean | (ไม่บังคับ) | |
inputsinlineDefault ใช่ไหม | boolean | (ไม่บังคับ) | |
isInFlyout | boolean | ||
isInMutator | boolean | ||
isInsertionMarker_ | protected |
boolean | เป็นจริงหากบล็อกนี้เป็นเครื่องหมายการแทรก |
loadExtraState? | (p1: ใดๆ) => เป็นโมฆะ | (ไม่บังคับ) วิธีการเรียงอันดับ (ไม่บังคับ) สำหรับกำหนดวิธีดีซีเรียลสถานะพิเศษของบล็อก (เช่น สถานะการเปลี่ยนแปลง) จากสิ่งที่เข้ากันได้กับ JSON ซึ่งต้องใช้ร่วมกับการกำหนด saveExtraState |
|
MutationToDom ใช่ไหม | (...p1: Any[]) => องค์ประกอบ | (ไม่บังคับ) วิธีการเรียงอันดับ (ไม่บังคับ) สำหรับกำหนดวิธีการเรียงลำดับสถานะการเปลี่ยนแปลงเป็น XML ซึ่งต้องใช้ร่วมกับการกำหนด domToMutation |
|
nextConnection | การเชื่อมต่อ | null | ||
ไม่เปลี่ยนแปลง | ((p1: Abstract) => void) | null | (ไม่บังคับ) วิธีเรียกกลับ (ไม่บังคับ) ที่จะใช้เมื่อพื้นที่ทำงานระดับบนของการบล็อกมีการเปลี่ยนแปลง โดยปกติแล้วจะเรียกจากตัวสร้าง ฟังก์ชันเริ่มต้นประเภทบล็อก หรือฟังก์ชันเริ่มต้นส่วนขยายเท่านั้น | |
outputConnection | การเชื่อมต่อ | null | ||
outputShape_ | protected |
ตัวเลข | ไม่มีข้อมูล | |
parentBlock_ | protected |
นี้ | null | |
previousConnection | การเชื่อมต่อ | null | ||
แสดงผลแล้ว | boolean | null | ||
RTL | boolean | ||
SaveExtraState ไหม | (doFullSerialization?: บูลีน) => ใดก็ได้ | (ไม่บังคับ) วิธีการทำให้เป็นอนุกรม (ไม่บังคับ) สำหรับกำหนดวิธีทำให้สถานะพิเศษของบล็อกเป็นอนุกรม (เช่น สถานะการเปลี่ยนแปลง) เป็นรูปแบบที่เข้ากันได้กับ JSON ซึ่งต้องใช้ร่วมกับการกำหนด loadExtraState |
|
styleName_ | protected |
สตริง | ชื่อของรูปแบบบล็อก |
suppressPrefixSuffix | boolean | null | พร็อพเพอร์ตี้ที่ไม่บังคับสำหรับการระงับการเพิ่ม STATEMENT_PREFIX และ STATEMENT_SUFFIX ในโค้ดที่สร้างขึ้น | |
เคล็ดลับเครื่องมือ | Tooltip.TipInfo | ||
ประเภท | สตริง | ||
พื้นที่ทำงาน | พื้นที่ทำงาน |
วิธีการ
วิธีการ | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
addIcon(icon) | เพิ่มไอคอนที่ระบุลงในบล็อก | |
allInputsFilled(opt_shadowBlocksAreFilled) | ตรวจสอบซ้ำๆ ว่าข้อมูลที่ป้อนในคำสั่งและค่าทั้งหมดอยู่ในบล็อกหรือไม่ นอกจากนี้ ยังตรวจสอบบล็อกคำสั่งต่อไปนี้ทั้งหมดในสแต็กนี้ | |
appendDummyInput(name) | เพิ่มแถวอินพุตจำลอง | |
appendEndRowInput(name) | เพิ่มอินพุตที่ต่อท้ายแถว | |
appendInput(input) | เพิ่มแถวอินพุตที่กำหนด เพิ่มอินพุตที่กำหนดเองต่อท้ายบล็อกได้ |
|
appendStatementInput(name) | เพิ่มแถวอินพุตคำสั่ง | |
appendValueInput(name) | เพิ่มแถวอินพุตค่าต่อท้าย | |
bumpNeighbours() | ดันบล็อกที่ไม่ได้เชื่อมต่อออกนอกแนว บล็อก 2 บล็อกที่ไม่ได้เชื่อมต่อกันจริงๆ ไม่ควรวางเรียงกันบนหน้าจอ | |
dispose(healStack) | กำจัดบล็อกนี้ | |
disposeInternal() | protected |
กำจัดบล็อกนี้โดยไม่ต้องทำอะไรตามที่บล็อกด้านบนกำหนด เช่น ไม่เริ่มการทำงานของเหตุการณ์ ถอดปลั๊กการบล็อก เป็นต้น |
doInit_() | protected |
การเรียกใช้ฟังก์ชัน init() และจัดการการเริ่มทำงานของเหตุการณ์ที่เกี่ยวข้อง ฯลฯ |
getChildren(ordered) | ค้นหาบล็อกทั้งหมดที่ซ้อนอยู่ในบล็อกนี้โดยตรง ระบุอินพุตค่าและคำสั่ง รวมถึงคำสั่งต่อไปนี้ ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือข้อความก่อนหน้า บล็อกสามารถจัดเรียงได้ตามตำแหน่ง (ไม่บังคับ) จากบนลงล่าง | |
getColour() | หาสีของบล็อก | |
getCommentText() | แสดงผลความคิดเห็นในบล็อกนี้ (หรือเป็นค่าว่างถ้าไม่มีความคิดเห็น) | |
getDescendants(ordered) | ค้นหาบล็อกทั้งหมดที่ซ้อนอยู่ในบล็อกนี้ทั้งโดยตรงและโดยอ้อม รวมบล็อกนี้ในรายการ ประกอบด้วยอินพุตมูลค่าและคำสั่ง รวมทั้งคำสั่งใดๆ ต่อไปนี้ ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือคำสั่งก่อนหน้า บล็อกสามารถจัดเรียงได้ตามตำแหน่ง (ไม่บังคับ) จากบนลงล่าง | |
getField(name) | แสดงผลฟิลด์ที่มีชื่อจากบล็อก | |
getFieldValue(name) | แสดงผลค่าภาษาที่เป็นกลางของฟิลด์ที่ระบุ | |
getHue() | ดูค่า HSV Hue ของบล็อกหนึ่งๆ Null หากไม่ได้ตั้งค่าโทนสี | |
getIcon(type) | ||
getIcons() | ||
getInheritedDisabled() | รับข้อมูลว่าการบล็อกถูกปิดใช้เนื่องจากสำหรับผู้ปกครอง แต่จะไม่พิจารณาพร็อพเพอร์ตี้ที่ปิดใช้ของการบล็อก | |
getInput(name) | เรียกออบเจ็กต์อินพุตที่มีชื่อ | |
getInputsInline() | ดูว่าอินพุตของค่ามีการจัดเรียงแนวนอนหรือแนวตั้ง | |
getInputTargetBlock(name) | ดึงข้อมูลบล็อกที่แนบกับอินพุตที่มีชื่อ | |
getInputWithBlock(block) | แสดงผลอินพุตที่เชื่อมต่อกับบล็อกที่ระบุ | |
getNextBlock() | แสดงบล็อกคำสั่งถัดไปซึ่งเชื่อมต่อโดยตรงกับบล็อกนี้ | |
getOutputShape() | รับรูปร่างเอาต์พุตของบล็อก | |
getParent() | แสดงผลการบล็อกระดับบนสุดหรือ Null หากการบล็อกนี้อยู่ที่ระดับบนสุด บล็อกระดับบนสุดคือบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า (สำหรับบล็อกคำสั่ง) หรือบล็อกที่เชื่อมต่อกับการเชื่อมต่อเอาต์พุต (สำหรับบล็อกค่า) | |
getPreviousBlock() | แสดงผลการบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า | |
getRelativeToSurfaceXY() | แสดงผลพิกัดที่มุมซ้ายบนของบล็อกนี้ที่สัมพันธ์กับต้นทางของพื้นผิวการวาดภาพ (0,0) ในหน่วยพื้นที่ทำงาน | |
getRootBlock() | แสดงผลบล็อกที่อยู่บนสุดในแผนผังของบล็อกนี้ ซึ่งจะแสดงผลเองหากบล็อกนี้อยู่ที่ระดับบนสุด | |
getStyleName() | รับชื่อของรูปแบบบล็อก | |
getSurroundParent() | Return the parent block that surrounds the current block, or null if this block has no surrounding block. บล็อกระดับบนอาจเป็นเพียงคำสั่งก่อนหน้า ในขณะที่การบล็อกที่ล้อมรอบเป็นคำสั่ง if ส่วนลูป ฯลฯ | |
getTooltip() | แสดงผลข้อความเคล็ดลับเครื่องมือสำหรับบล็อกนี้ | |
getVars() | แสดงผลตัวแปรทั้งหมดที่บล็อกนี้อ้างอิง | |
hasIcon(type) | ||
initModel() | เรียก initModel บนทุกช่องในบล็อก อาจมีการเรียกมากกว่า 1 ครั้ง ต้องเรียกใช้ initModel หรือ initSvg หลังจากสร้างบล็อกและก่อนการโต้ตอบครั้งแรกกับบล็อก การโต้ตอบรวมถึงการทำงาน UI (เช่น การคลิกและการลาก) และเหตุการณ์การเริ่มทำงาน (เช่น สร้าง ลบ และเปลี่ยน) | |
isCollapsed() | ดูว่าการบล็อกยุบอยู่หรือไม่ | |
isDeletable() | ดูว่าบล็อกนี้ลบได้หรือไม่ | |
isDisposed() | แสดงผลหากมีการกำจัด / ลบบล็อกนี้แล้ว | |
isDuplicatable() | ดูว่าการบล็อกนี้ทำซ้ำได้หรือไม่ หากบล็อกองค์ประกอบนี้ซ้ำและองค์ประกอบสืบทอดจะทำให้บล็อกนี้เกินความจุของพื้นที่ทำงาน บล็อกนี้จะไม่ทำซ้ำ หากบล็อกรายการที่ซ้ำกันและองค์ประกอบสืบทอดจะทำให้ประเภทใดก็ตามทับอินสแตนซ์สูงสุด การบล็อกนี้จะไม่ทำซ้ำได้ | |
isEnabled() | ดูว่ามีการเปิดใช้การบล็อกนี้หรือไม่ | |
isInsertionMarker() | ดูว่าบล็อกนี้เป็นบล็อกตัวทำเครื่องหมายการแทรกหรือไม่ | |
isOwnDeletable() | ส่งคืนว่าพร็อพเพอร์ตี้ที่ลบได้ของบล็อกนี้เป็นจริงหรือเท็จ | |
isOwnEditable() | ส่งคืนว่าพร็อพเพอร์ตี้ที่แก้ไขได้ของบล็อกนี้เป็นจริงหรือเท็จ | |
isShadow() | รับข้อมูลว่าบล็อกนี้เป็นบล็อกเงาหรือไม่ | |
jsonInit(json) | เริ่มต้นการบล็อกนี้โดยใช้คำอธิบาย JSON แบบข้ามแพลตฟอร์มและเหมาะกับการปรับให้เป็นสากล | |
mixin(mixinObj, opt_disableCheck) | เพิ่มคีย์/ค่าจากMixinObj ลงในออบเจ็กต์บล็อกนี้ โดยค่าเริ่มต้น เมธอดนี้จะตรวจสอบว่าคีย์ในMixinObj จะไม่เขียนทับค่าที่มีอยู่ในบล็อก ซึ่งรวมถึงค่าต้นแบบด้วย ซึ่งจะช่วยป้องกันความไม่เข้ากันระหว่างมิกซ์ / ส่วนขยายกับฟีเจอร์การบล็อกในอนาคต คุณปิดใช้การตรวจสอบนี้ได้โดยการส่ง true เป็นอาร์กิวเมนต์ที่ 2 | |
moveBy(dx, dy, เหตุผล) | ย้ายบล็อกด้วยออฟเซ็ตแบบสัมพัทธ์ | |
moveInputBefore(name, refName) | ย้ายอินพุตที่มีชื่อไปยังตำแหน่งอื่นในบล็อกนี้ | |
moveNumberedInputBefore(inputIndex, refIndex) | ย้ายอินพุตที่เป็นตัวเลขไปยังตำแหน่งอื่นในบล็อกนี้ | |
removeIcon(type) | นำไอคอนที่มี getType ตรงกับประเภท iconType ที่ระบุออกจากการบล็อก | |
removeInput(name, opt_quiet) | นําอินพุตออกจากบล็อกนี้ | |
renameVarById(oldId, newId) | การแจ้งเตือนว่ากำลังมีการเปลี่ยนชื่อตัวแปร หากรหัสตรงกับตัวแปรตัวใดตัวหนึ่งของบล็อกนี้ ให้เปลี่ยนชื่อ | |
setCollapsed(collapsed) | กำหนดว่าบล็อกยุบอยู่หรือไม่ | |
setColour(colour) | เปลี่ยนสีของบล็อก | |
setCommentText(text) | ตั้งค่าข้อความความคิดเห็นของบล็อกนี้ | |
setDeletable(deletable) | กำหนดว่าบล็อกนี้จะลบได้หรือไม่ | |
setEditable(editable) | กำหนดว่าบล็อกนี้แก้ไขได้หรือไม่ | |
setEnabled(enabled) | กำหนดว่าจะเปิดใช้การบล็อกหรือไม่ | |
setFieldValue(newValue, name) | ตั้งค่าของช่องที่ระบุสำหรับการบล็อกนี้ | |
setHelpUrl(url) | ตั้งค่า URL ของหน้าความช่วยเหลือของบล็อกนี้ | |
setInputsInline(newBoolean) | กำหนดว่าอินพุตค่าจะจัดอยู่ในแนวนอนหรือแนวตั้ง | |
setMovable(movable) | ตั้งค่าว่าจะให้บล็อกนี้ย้ายได้หรือไม่ | |
setMutator(_mutator) | กำหนดกล่องโต้ตอบการเปลี่ยนแปลงให้บล็อกนี้ | |
setNextStatement(newBoolean, opt_check) | กำหนดว่าบล็อกอื่นจะเชื่อมโยงมาที่ด้านล่างของบล็อกนี้หรือไม่ | |
setOnChange(onchangeFn) | ตั้งค่าฟังก์ชันเรียกกลับที่จะใช้เมื่อพื้นที่ทำงานระดับบนสุดของบล็อกมีการเปลี่ยนแปลง โดยแทนที่เครื่องจัดการ onchange ก่อนหน้านี้ โดยปกติแล้วจะเรียกจากตัวสร้าง ฟังก์ชันเริ่มต้นประเภทบล็อก หรือฟังก์ชันเริ่มต้นส่วนขยายเท่านั้น | |
setOutput(newBoolean, opt_check) | ตั้งค่าว่าจะให้บล็อกนี้แสดงค่าหรือไม่ | |
setOutputShape(outputShape) | กำหนดรูปร่างเอาต์พุตของบล็อก | |
setPreviousStatement(newBoolean, opt_check) | กำหนดว่าบล็อกนี้สามารถเชื่อมโยงไปที่ด้านล่างของบล็อกอื่นได้หรือไม่ | |
setStyle(blockStyleName) | ตั้งค่ารูปแบบและสีของบล็อก | |
setTooltip(newTip) | ตั้งค่าเคล็ดลับเครื่องมือสำหรับบล็อกนี้ | |
setWarningText(_text, _opt_id) | ตั้งค่าข้อความเตือนของบล็อกนี้ | |
toDevString() | เมธอดนี้แสดงผลสตริงที่อธิบายการบล็อกนี้ในคำที่เป็นนักพัฒนาซอฟต์แวร์ (พิมพ์ชื่อและรหัส ภาษาอังกฤษเท่านั้น) มีจุดประสงค์ที่จะใช้ในบันทึกและข้อผิดพลาดของคอนโซล หากต้องการสตริงที่ใช้ภาษาของผู้ใช้ (รวมถึงข้อความบล็อก ค่าในช่อง และบล็อกย่อย) ให้ใช้ [toString()] |
|
toString(opt_maxLength, opt_emptyToken) | สร้างการนำเสนอแบบข้อความที่มนุษย์อ่านได้ของบล็อกนี้และองค์ประกอบย่อย | |
unplug(opt_healStack) | ปลดบล็อกนี้ออกจากบล็อกระดับสูง หากบล็อกนี้เป็นคำสั่ง คุณสามารถเลือกเชื่อมต่อบล็อกที่อยู่ด้านล่างกับบล็อกด้านบนอีกครั้งก็ได้ |