คลาสบล็อก
ชั้นเรียนสำหรับ 1 ช่วง ปกติแล้วจะไม่เรียกใช้โดยตรง แต่ควรใช้ workspace.newBlock()
ลายเซ็น:
export declare class Block
ผู้ผลิต
ผู้ผลิต | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(constructor)(workspace, prototypeName, opt_id) | สร้างอินสแตนซ์ใหม่ของคลาส Block |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | คีย์ตัวปรับแต่ง | ประเภท | คำอธิบาย |
---|---|---|---|
childBlocks_ | protected |
this[] | |
collapsed_ | protected |
บูลีน | |
COLLAPSED_FIELD_NAME |
|
สตริง | รหัสที่เป็นกลางทางภาษาซึ่งกำหนดให้กับช่องที่ยุบ |
COLLAPSED_INPUT_NAME |
|
สตริง | รหัสที่เป็นกลางทางภาษาซึ่งกำหนดให้กับอินพุตแบบยุบ |
colour_ | protected |
สตริง | สีของบล็อกในรูปแบบ "#RRGGBB" |
compose? | (rootBlock: Block) => void | (ไม่บังคับ) เมธอดที่ไม่บังคับซึ่งจะกำหนดค่าบล็อกใหม่ตามเนื้อหาของกล่องโต้ตอบตัวเปลี่ยนรูปแบบ | |
contextMenu | บูลีน | ||
data | string | null | ข้อมูลข้อความที่ไม่บังคับซึ่งส่งไปมาระหว่างบล็อกกับ XML ไม่มีผล บุคคลที่สามอาจใช้เพื่อเก็บข้อมูลเมตา | |
decompose? | (workspace: Workspace) => Block | (ไม่บังคับ) ฟังก์ชันที่ไม่บังคับซึ่งจะป้อนข้อมูลในเมนูแบบเลื่อนลงของตัวแปรด้วยบล็อกที่แสดงถึงการกำหนดค่าของบล็อกนี้ | |
ทำลาย | () => void | (ไม่บังคับ) วิธีการที่ไม่บังคับซึ่งเรียกใช้ระหว่างการกำจัด | |
disposing | protected |
บูลีน | บล็อกปัจจุบันอยู่ระหว่างการกำจัดหรือไม่ |
domToMutation? | (p1: Element) => void | (ไม่บังคับ) วิธีการแปลงข้อมูลแบบไม่ใช้ซีเรียล (Deserialization) ที่ไม่บังคับสําหรับกําหนดวิธีแปลงข้อมูลสถานะการกลายพันธุ์จาก XML ซึ่งต้องควบคู่ไปกับการกำหนด mutationToDom |
|
getDeveloperVariables? | () => string[] | (ไม่บังคับ) เมธอดที่ไม่บังคับสำหรับการประกาศตัวแปรของนักพัฒนาซอฟต์แวร์เพื่อใช้โดยเครื่องมือสร้าง ตัวแปรของนักพัฒนาแอปจะไม่แสดงต่อผู้ใช้ แต่จะมีการประกาศเป็นตัวแปรส่วนกลางในโค้ดที่สร้างขึ้น | |
หมวก | สตริง | (ไม่บังคับ) ชื่อประเภทหมวก | |
helpUrl | string | (() => string) | null | สตริงสําหรับความช่วยเหลือเกี่ยวกับบล็อก หรือฟังก์ชันที่แสดงผล URL 0 หมายถึงไม่ช่วย | |
ไอคอน | IIcon[] | ||
id | สตริง | ||
init? | () => void | (ไม่บังคับ) เมธอดที่ไม่บังคับซึ่งเรียกใช้ระหว่างการเริ่มต้น | |
inputList | Input[] | ||
inputsInline? | บูลีน | (ไม่บังคับ) | |
inputsInlineDefault? | บูลีน | (ไม่บังคับ) | |
isInFlyout | บูลีน | ||
isInMutator | บูลีน | ||
isInsertionMarker_ | protected |
บูลีน | เป็นจริงหากบล็อกนี้เป็นเครื่องหมายการแทรก |
loadExtraState? | (p1: any) => void | (ไม่บังคับ) วิธีการแยกวิเคราะห์แบบไม่บังคับสำหรับการกำหนดวิธีแยกวิเคราะห์สถานะเพิ่มเติมของบล็อก (เช่น สถานะการกลายพันธุ์) จากสิ่งที่เข้ากันได้กับ JSON ซึ่งต้องควบคู่ไปกับการกำหนด saveExtraState |
|
mutationToDom? | (...p1: any[]) => Element | (ไม่บังคับ) วิธีการจัดรูปแบบที่ไม่บังคับสำหรับการกำหนดวิธีจัดรูปแบบสถานะการกลายพันธุ์เป็น XML ซึ่งต้องควบคู่ไปกับการกำหนด domToMutation |
|
nextConnection | การเชื่อมต่อ | null | ||
onchange? | ((p1: Abstract) => void) | null | (ไม่บังคับ) เมธอดการเรียกกลับที่ไม่บังคับสำหรับใช้เมื่อใดก็ตามที่เวิร์กスペースหลักของบล็อกมีการเปลี่ยนแปลง โดยปกติแล้ว ฟังก์ชันนี้จะเรียกใช้จากตัวสร้าง ฟังก์ชันตัวเริ่มต้นประเภทบล็อก หรือฟังก์ชันตัวเริ่มต้นของส่วนขยายเท่านั้น | |
outputConnection | การเชื่อมต่อ | null | ||
outputShape_ | protected |
number | null | |
parentBlock_ | protected |
this | null | |
previousConnection | การเชื่อมต่อ | null | ||
rendered | readonly |
บูลีน | บล็อกนี้เป็น BlockSVG ใช่ไหม |
RTL | บูลีน | ||
saveExtraState? | (doFullSerialization?: boolean) => any | (ไม่บังคับ) วิธีการจัดรูปแบบที่ไม่บังคับสำหรับการกำหนดวิธีจัดรูปแบบสถานะเพิ่มเติมของบล็อก (เช่น สถานะการกลายพันธุ์) ให้เป็นรูปแบบที่เข้ากันได้กับ JSON ซึ่งต้องควบคู่ไปกับการกำหนด loadExtraState |
|
styleName_ | protected |
สตริง | ชื่อของรูปแบบบล็อก |
suppressPrefixSuffix | boolean | null | พร็อพเพอร์ตี้ที่ไม่บังคับสําหรับการระงับการเพิ่ม STATEMENT_PREFIX และ STATEMENT_SUFFIX ลงในโค้ดที่สร้างขึ้น | |
tooltip | Tooltip.TipInfo | ||
type | สตริง | ||
workspace | Workspace |
เมธอด
วิธีการ | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
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() | แสดงผลความคิดเห็นในบล็อกนี้ (หรือ Null หากไม่มีความคิดเห็น) | |
getDescendants(ordered) | ค้นหาบล็อกทั้งหมดที่ฝังอยู่ภายในบล็อกนี้โดยตรงหรือโดยอ้อม รวมบล็อกนี้ไว้ในรายการ รวมถึงอินพุตค่าและคำสั่ง รวมถึงคำสั่งใดๆ ที่ตามมา ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือคำสั่งก่อนหน้า คุณจัดเรียงบล็อกตามตำแหน่งจากบนลงล่างได้ | |
getDisabledReasons() | ดูชุดเหตุผลที่บล็อกถูกปิดใช้อยู่ หากมี หากเปิดใช้บล็อก ชุดนี้จะว่างเปล่า | |
getField(name) | แสดงผลช่องที่มีชื่อจากบล็อก | |
getFields() | ส่งคืนเครื่องมือสร้างที่ให้ทุกช่องในบล็อก เครื่องมือสร้างที่ใช้เพื่อวนซ้ำช่องในบล็อก |
|
getFieldValue(name) | แสดงผลค่าที่เป็นกลางทางภาษาของช่องที่ระบุ | |
getHue() | รับค่าสี HSV ของบล็อก Null หากไม่ได้ตั้งค่าสี | |
getIcon(type) | ||
getIcons() | ||
getInheritedDisabled() | ดูว่าบล็อกถูกปิดใช้หรือไม่เนื่องจากผู้ปกครอง ระบบจะไม่พิจารณาพร็อพเพอร์ตี้ที่ปิดใช้ของบล็อกเอง | |
getInput(name) | ดึงข้อมูลออบเจ็กต์อินพุตที่มีชื่อ | |
getInputsInline() | ดูว่าอินพุตค่าจัดเรียงในแนวนอนหรือแนวตั้ง | |
getInputTargetBlock(name) | ดึงข้อมูลบล็อกที่แนบมากับอินพุตที่มีชื่อ | |
getInputWithBlock(block) | แสดงผลอินพุตที่เชื่อมต่อกับบล็อกที่ระบุ | |
getNextBlock() | แสดงบล็อกคำสั่งถัดไปที่เชื่อมต่อกับบล็อกนี้โดยตรง | |
getOutputShape() | รับรูปร่างเอาต์พุตของบล็อก | |
getParent() | แสดงบล็อกหลักหรือค่าว่างหากบล็อกนี้อยู่ในระดับบนสุด บล็อกหลักคือบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า (สําหรับบล็อกคำสั่ง) หรือบล็อกที่เชื่อมต่อกับการเชื่อมต่อเอาต์พุต (สําหรับบล็อกค่า) | |
getPreviousBlock() | แสดงผลบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า | |
getRelativeToSurfaceXY() | แสดงผลพิกัดของมุมซ้ายบนของบล็อกนี้ซึ่งสัมพันธ์กับจุดเริ่มต้น (0,0) ของพื้นวาดเป็นหน่วยของพื้นที่ทำงาน | |
getRootBlock() | แสดงผลบล็อกบนสุดในต้นไม้ของบล็อกนี้ ซึ่งจะแสดงผลเองหากบล็อกนี้อยู่ระดับบนสุด | |
getStyleName() | รับชื่อของสไตล์บล็อก | |
getSurroundParent() | แสดงบล็อกหลักที่อยู่รอบๆ บล็อกปัจจุบัน หรือแสดงค่าว่างหากบล็อกนี้ไม่มีบล็อกที่อยู่รอบๆ บล็อกหลักอาจเป็นคำสั่งก่อนหน้า ส่วนบล็อกรอบข้างอาจเป็นคำสั่ง if ลูป while ฯลฯ | |
getTooltip() | แสดงผลข้อความเคล็ดลับเครื่องมือสําหรับบล็อกนี้ | |
getVars() | แสดงผลตัวแปรทั้งหมดที่บล็อกนี้อ้างอิง | |
hasDisabledReason(reason) | ดูว่าขณะนี้การบล็อกปิดใช้อยู่หรือไม่เนื่องจากเหตุผลที่ระบุ | |
hasIcon(type) | ||
initModel() | เรียก initModel ในช่องทั้งหมดในบล็อก อาจเรียกใช้มากกว่า 1 ครั้ง คุณต้องเรียกใช้ initModel หรือ initSvg หลังจากสร้างบล็อกและก่อนการโต้ตอบกับบล็อกครั้งแรก การโต้ตอบรวมถึงการดําเนินการของ UI (เช่น การคลิกและการลาก) และการเปิดใช้งานเหตุการณ์ (เช่น สร้าง ลบ และเปลี่ยนแปลง) | |
isCollapsed() | ดูว่าบล็อกยุบอยู่หรือไม่ | |
isDeletable() | ดูว่าบล็อกนี้ลบได้หรือไม่ | |
isDisposed() | แสดงผลหากมีการทิ้ง / ลบบล็อกนี้แล้ว | |
isDuplicatable() | ดูว่าบล็อกทำซ้ำได้หรือไม่ หากการคัดลอกบล็อกนี้และบล็อกที่สืบทอดจะทําให้บล็อกนี้เกินขีดจํากัดของพื้นที่ทํางาน คุณจะคัดลอกบล็อกนี้ไม่ได้ หากการทําซ้ำบล็อกนี้และรายการที่สืบทอดจะทําให้ประเภทใดก็ตามมีจํานวนมากกว่า maxInstances บล็อกนี้จะทําซ้ำไม่ได้ | |
isEnabled() | ดูว่าบล็อกนี้เปิดใช้อยู่หรือไม่ ระบบจะถือว่าบล็อกเปิดใช้งานอยู่หากไม่มีเหตุผลใดที่ควรปิดใช้งาน บล็อกอาจยังคงปิดใช้ด้วยเหตุผลอื่นๆ แม้ว่าผู้ใช้จะพยายามเปิดใช้ด้วยตนเองก็ตาม เช่น เมื่อบล็อกอยู่ในตำแหน่งที่ไม่ถูกต้อง | |
isInsertionMarker() | ดูว่าบล็อกนี้เป็นบล็อกเครื่องหมายการแทรกหรือไม่ | |
isOwnDeletable() | แสดงผลว่าพร็อพเพอร์ตี้ที่ลบได้ของบล็อกนี้เป็นจริงหรือเท็จ | |
isOwnEditable() | แสดงผลว่าพร็อพเพอร์ตี้ที่แก้ไขได้ของบล็อกนี้เป็นจริงหรือเท็จ | |
isShadow() | ดูว่าบล็อกนี้เป็นบล็อกเงาหรือไม่ | |
jsonInit(json) | เริ่มต้นบล็อกนี้โดยใช้คำอธิบาย JSON ที่รองรับหลายแพลตฟอร์มและรองรับการปรับให้เหมาะกับผู้ใช้ทั่วโลก | |
mixin(mixinObj, opt_disableCheck) | เพิ่มคีย์/ค่าจาก mixinObj ไปยังออบเจ็กต์บล็อกนี้ โดยค่าเริ่มต้น เมธอดนี้จะตรวจสอบว่าคีย์ใน mixinObj จะไม่เขียนทับค่าที่มีอยู่ในบล็อก ซึ่งรวมถึงค่าโปรโตไทป์ ซึ่งจะช่วยป้องกันไม่ให้มีการใช้มิกซ์อิน / ส่วนขยายร่วมกับฟีเจอร์บล็อกในอนาคต คุณสามารถปิดใช้การตรวจสอบนี้ได้โดยส่งค่า "จริง" เป็นอาร์กิวเมนต์ที่ 2 | |
moveBy(dx, dy, reason) | ย้ายบล็อกตามออฟเซตแบบสัมพัทธ์ | |
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) | ตั้งค่าว่าบล็อกนี้ลบได้หรือไม่ | |
setDisabledReason(disabled, reason) | เพิ่มหรือนำเหตุผลที่อาจมีการปิดใช้บล็อกออก หากบล็อกมีเหตุผลใดๆ ที่ควรปิดใช้ ระบบจะถือว่าบล็อกนั้นปิดใช้ การบล็อกอาจถูกปิดใช้ด้วยเหตุผลหลายประการที่ไม่เกี่ยวข้องกันพร้อมกัน เช่น เมื่อผู้ใช้ปิดใช้การบล็อกด้วยตนเอง หรือบล็อกไม่ถูกต้อง | |
setEditable(editable) | กำหนดว่าบล็อกนี้จะแก้ไขได้หรือไม่ | |
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) | ถอดปลั๊กบล็อกนี้ออกจากบล็อกที่เหนือกว่า หากบล็อกนี้เป็นคำสั่ง ให้เชื่อมต่อบล็อกด้านล่างกับบล็อกด้านบนอีกครั้ง (ไม่บังคับ) |