blockly > BlockSvg

המחלקות BlockSvg

המחלקות לייצוג SVG של בלוק. בדרך כלל לא קוראים לפונקציה הזו ישירות, עדיף להשתמש בפונקציה workspace.newBlock().

Signature:

export declare class BlockSvg extends Block implements IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode 

Extends: Block

Implements: IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode

יצרנים

יצרן גורמי שינוי תיאור
(constructor)(workspace, prototypeName, opt_id) יוצר מופע חדש של המחלקה BlockSvg

מאפיינים

נכס גורמי שינוי סוג תיאור
COLLAPSED_WARNING_ID

static

readonly

(לא הוגדר) מזהה שמשמש להצגת האזהרה 'אזהרות מכווצות'. מאפשר לנו להסיר את האזהרה 'אזהרות מכווצות' בלי להסיר אזהרות ששייכות לחסימה.
customContextMenu?‎ ‎(p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void (אופציונלי)
לפרק? (p1: Workspace) => BlockSvg (אופציונלי)
height number הגובה של הבלוק הזה, לא כולל בלוקים של הצהרות מעל או מתחת. הגובה הוא ביחידות של סביבת העבודה.
INLINE

static

readonly

(לא הוגדר) קבוע לזיהוי שורות שצריך להציג בתוך הטקסט. לא להתנגש עם Blockly.inputTypes.
mutator MutatorIcon | null סמל המוטטור של הבלוק (אם יש).
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
rendered readonly (לא הוגדר) האם הבלוק הזה הוא BlockSVG?
saveConnections? (rootBlock: BlockSvg) => void

(אופציונלי) שיטה אופציונלית ששומרת רשומה של בלוקים שמחוברים לבלוק הזה, כדי שאפשר יהיה לשחזר אותם מאוחר יותר אחרי שהבלוק הזה יורכב מחדש (יוגדר מחדש). בדרך כלל מתעד את הבלוקים המחוברים במאפיינים בבלוקים בחלון הקופץ של הכלי לשינוי, כך שסידור מחדש של בלוקי הרכיבים האלה יגרום לסידור מחדש אוטומטי של הבלוקים המחוברים התואמים בבלוק הזה אחרי שהבלוק הזה יורכב מחדש.

כדי שהמידע השמור על החיבור יהיה עדכני, MutatorIcon דואג שמאזין לאירועים יקרא לשיטה הזו בכל פעם שהתפריט הנפתח של ה-mutator פתוח ומתרחש שינוי בסביבת העבודה של הבלוק הזה.

style BlockStyle
width number הרוחב של הבלוק הזה, כולל בלוקים של ערכים שמחוברים אליו. הרוחב הוא ביחידות של סביבת העבודה.
workspace WorkspaceSvg

Methods

שיטה גורמי שינוי תיאור
addClass(className) הוספת מחלקת CSS לקבוצת ה-SVG של הבלוק הזה.
addIcon(icon)
addSelect() האפקט החזותי 'בחירה' מתווסף לבלוק, אבל הוא לא באמת נבחר ולא מופעל אירוע.
appendInput(input)
bringToFront(blockOnly) העברה של הבלוק הזה לחלק הקדמי של סביבת העבודה הגלויה. תגי לא מתייחסים ל-z-index, ולכן SVG מעבד אותם לפי הסדר שבו הם מופיעים ב-DOM. אם מציבים את הבלוק הזה ראשון בתוך של קבוצת הבלוקים, הוא יוצג מעל כל בלוק אחר. השימוש בשיטה הזו צריך להיות מועט, כי היא יקרה בגלל שהיא מסדרת מחדש את צמתי ה-DOM.
bumpNeighbours()

מזיז את הבלוקים שלא מחוברים כך שהם לא יהיו מיושרים.

שני בלוקים שלא מחוברים בפועל לא צריכים להיות מיושרים במסך במקרה, כי זה יוצר בלבול אצל משתמשי הקצה.

calculateContextMenuLocation(e) protected מקבל את המיקום שבו יוצג תפריט ההקשר של הבלוק הזה. המיקום של הקליק אם המשתמש לחץ על הבלוק, או מיקום שמבוסס על השדות של הבלוק אם המשתמש לא לחץ על הבלוק.
canBeFocused() ראו IFocusableNode.canBeFocused.
checkAndDelete() למחוק בלוק ולהסתיר את הנתונים המיותרים כשעושים זאת. הבלוק לא יימחק אם הוא בחלון קופץ. הפעולה הזו נקראת 'מחיקה מלאה' והיא מופעלת מתפריט ההקשר וממקשי הקיצור. אם אתם משליכים בלוק מסביבת העבודה ולא צריכים לבצע בדיקות של חלון קופץ, לטפל בקיבוץ אירועים או להסתיר מידע מיותר, אתם יכולים להשתמש ישירות ב-block.dispose().
dispose(healStack, animate) למחוק את הבלוק הזה.
disposeInternal() הפונקציה משחררת את הבלוק הזה בלי לבצע את הפעולות שנדרשות על ידי הבלוק העליון. לדוגמה, מפעיל אפקטים בממשק המשתמש, מסיר צמתים וכו'.
drag(newLoc, e) גורר את הבלוק למיקום שצוין.
endDrag(e) סיום הגרירה של הבלוק.
generateContextMenu(e) protected ליצור את תפריט ההקשר של הבלוק הזה.
getBoundingRectangle() הפונקציה מחזירה את הקואורדינטות של תיבת תוחמת שמתארת את הממדים של הבלוק הזה ושל כל הבלוקים שמוערמים מתחתיו. מערכת קואורדינטות: קואורדינטות של סביבת העבודה.
getBoundingRectangleWithoutChildren() הפונקציה מחזירה את הקואורדינטות של תיבת תוחמת שמתארת את הממדים של הבלוק הזה בלבד. מערכת קואורדינטות: קואורדינטות של סביבת העבודה.
getChildren(ordered) חיפוש כל הבלוקים שמוטמעים ישירות בתוך הבלוק הזה. כולל ערך וקלט הצהרה, וגם כל הצהרה שמופיעה אחריו. לא כולל חיבורים בכרטיסיית פלט או הצהרות קודמות. אפשר למיין את הבלוקים לפי מיקום, מלמעלה למטה.
getColour() קבלת הצבע של בלוק.
getColourSecondary() קבלת הצבע המשני של בלוק.
getColourTertiary() קבלת הצבע השלישוני של בלוק.
getFocusableElement() מידע נוסף מופיע במאמר בנושא IFocusableNode.getFocusableElement.
getFocusableTree() מידע נוסף מופיע במאמר בנושא IFocusableNode.getFocusableTree.
getNextBlock() מחזירה את בלוק ההצהרה הבא שמחובר ישירות לבלוק הזה.
getPreviousBlock() הפונקציה מחזירה את הבלוק שמחובר לחיבור הקודם.
getRelativeToSurfaceXY()‎ הפונקציה מחזירה את הקואורדינטות של הפינה הימנית העליונה של הבלוק הזה ביחס לראשית הצירים (0,0) של משטח השרטוט, ביחידות של סביבת העבודה. אם הבלוק נמצא בסביבת העבודה, (0, 0) הוא המקור של מערכת הקואורדינטות של סביבת העבודה. המספר הזה לא משתנה בהתאם לגודל סביבת העבודה.
getStyle() מחזירה את אובייקט BlockStyle שמשמש לעיצוב הבלוק הזה.
getSvgRoot() הפונקציה מחזירה את צומת הבסיס של ה-SVG או null אם לא קיים כזה.
initSvg() יוצרים ומפעילים את ייצוג ה-SVG של הבלוק. יכול להיות שהפונקציה תיקרא יותר מפעם אחת.
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) נותנים לבלוק הזה תיבת דו-שיח לשינוי.
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() ביטול הבחירה בבלוק הזה. ההדגשה החזותית של הבלוק מוסרת.