คลาสบล็อก
ชั้นเรียนสำหรับ 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) | ถอดปลั๊กบล็อกนี้ออกจากบล็อกที่เหนือกว่า หากบล็อกนี้เป็นคำสั่ง ให้เชื่อมต่อบล็อกด้านล่างกับบล็อกด้านบนอีกครั้ง (ไม่บังคับ) |