محورية / InterractionCallbacks / InterractionCallbacks
واجهة: InterractionCallbacks<TElement>
محدد في: interfaces/InterractionCallbacks.ts:12
نوع المعلمات
TElement
TElement = unknown
خصائص
isValidConnection()?
optionalisValidConnection: (source,target) =>boolean
محدد في: interfaces/InterractionCallbacks.ts:251
تم تقييم مسند الصلاحية المباشرة أثناء إيماءة الاتصال كمؤشر تحويم الأهداف المرشحة (على غرار React Flow's isValidConnection). العودة false لوضع علامة على الهدف الذي تم تمريره غير صالح: تظهر حافة الظل في شكل نمط غير صالح، والإفراج/النقر عليه لا يؤدي إلى أي شيء (في هذه الحالة onBeforeEdgeCreate لا يستشير). يعمل على كل حركة المؤشر، لذلك يجب أن تكون متزامنة ورخيصة.
المعلمات
source
target
المرتجعات
boolean
onBadgeClick()?
optionalonBadgeClick: (event,node,badge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:69
يتم استدعاؤه عند النقر على أي من شارات حافة العقدة، بعد تلك الشارة onClick. استخدمها للسلوك الذي تشاركه كل شارة؛ استخدم NodeBadge.onClick لعمل شارة واحدة.
الإعلان عنها يجعل كل شارة تأخذ مؤشر المؤشر وتستهلك نقرته، لذلك لم يتم تحديد العقدة الموجودة أسفلها أيضًا.
المعلمات
event
PointerEvent
node
badge
element
TElement
المرتجعات
void
onBeforeDelete()?
optionalonBeforeDelete: (context) =>DeleteDecision|Promise<DeleteDecision>
محدد في: interfaces/InterractionCallbacks.ts:277
يتم استدعاؤه عندما يطلب المستخدم حذف عناصر الرسم البياني، قبل أي شيء تمت إزالته. تقوم المكتبة بحل المجموعة المستهدفة بالكامل أولاً - بما في ذلك الحواف أن إزالة العقدة ستأخذ معها (DeleteContext.cascadingEdges) — حتى يتمكن المستهلك من الاستمرار على كامل نتيجة لهذه الإيماءة دون إعادة اشتقاق التتالي.
- عودة
false/{ accept: false }للنقض : لا شيء يُزال، لا يتم تشغيلnodeRemove/edgeRemove/noteRemove، ويترك التحديد سليمًا. - ارجع
trueلحذف ما تم طلبه بالضبط. - العودة
{ accept: true, nodes?, edges?, notes? }إلى تضييق الحذف إلى مجموعة فرعية - على سبيل المثال احتفظ فقط بما حذفته الواجهة الخلفية بالفعل. مفتاح مهمل تعني "حسب الطلب"، لذا فإن{ accept: true }يعادلtrue؛ تمرير مجموعة فارغة لتجنيب هذا النوع بالكامل. العناصر التي لم تكن جزءًا من يتم تجاهل الطلب.
قد يكون غير متزامن (استمر في الحذف، ثم قرر) - تكون إيماءة الحذف الثانية كذلك تجاهل بينما القرار معلق. DeleteContext.تأكيد يفتح أ نموذج التأكيد حتى لا يقوم المستهلكون بإعادة بناء واحد.
يتم إجراء عمليات الحذف التي يبدأها المستخدم فقط: آليًا graph.removeNode() / graph.removeEdge() / noteManager.removeNote() لا تستدعي هذا الخطاف أبدًا، لذا لا يتم حظر كود المستهلك الذي يقود النموذج من خلال بوابة المستهلك الخاصة.
المعلمات
context
المرتجعات
DeleteDecision | Promise<DeleteDecision>
onBeforeEdgeCreate()?
optionalonBeforeEdgeCreate: (context) =>EdgeCreateDecision|Promise<EdgeCreateDecision>
محدد في: interfaces/InterractionCallbacks.ts:241
يتم الاتصال به أثناء إيماءة الاتصال، بعد حل العقدة المستهدفة لكن قبل يتم إنشاء الحافة (أو رابط الملاحظة). بمثابة حافة مكافئة ل onBeforeNodeEditCommit: خطاف المصادقة/الإثراء/الفيتو.
- العودة
false/{ accept: false }للنقض: يتم إسقاط المعاينة، لا تتم إضافة أي شيء، ويظل وضع الاتصال نشطًا حتى يتمكن المستخدم من إعادة المحاولة. - العودة
trueللقبول مع الإعدادات الافتراضية. - العودة
{ accept: true, data?, style?, id?, directed? }للقبول و توفير الحمولة/النمط/المعرف/الاتجاه للحافة الجديدة.
قد يكون غير متزامن (على سبيل المثال، الاستمرار في الواجهة الخلفية قبل اتخاذ القرار)؛ حافة الظل تستمر المعاينة حتى يستقر الوعد، ولا توجد إيماءة اتصال جديدة تم قبوله وهو في انتظاره. يتم إطلاقه لكل من النقر والسحب للاتصال. يتم أيضًا تشغيل الملاحظة → روابط العقدة (EdgeCreateContext.kind 'note-link')، حيث يتم تجاهل حقول القرار الخاصة بالحافة.
المعلمات
context
المرتجعات
EdgeCreateDecision | Promise<EdgeCreateDecision>
ما إذا كان ينبغي إنشاء الاتصال، اختياريًا مع بياناته.
onBeforeEdgeEditCommit()?
optionalonBeforeEdgeEditCommit: (context) =>boolean|Promise<boolean>
محدد في: interfaces/InterractionCallbacks.ts:320
يتم استدعاؤه عندما تكون جلسة تحرير الحافة على وشك الالتزام. يعمل بمثابة التحقق من الصحة / الثبات / خطاف النقض، النسخ المتطابق onBeforeNodeEditCommit: العودة false (أو الوعد بها) للرفض، مع ترك بيانات الحافة لم يمسها ومشروط مفتوحة. عند النجاح، يتم استبدال بيانات الحافة و edgeChange حرائق على ناقل البيانات.
المعلمات
context
المرتجعات
boolean | Promise<boolean>
ما إذا كان ينبغي المضي قدما في الالتزام
onBeforeIngest()?
optionalonBeforeIngest: (context) =>IngestDecision|Promise<IngestDecision>
محدد في: interfaces/InterractionCallbacks.ts:300
تم الاتصال به مرة واحدة، مع المجموعة المرشحة بأكملها، قبل أن يبتلعها المحور مباشرة - البوابة الوحيدة على خط أنابيب الاستيعاب.
- إرجاع
false/{ accept: false }للنقض : لا شيء يهبط، ويهرب التقارير'vetoed'. - ارجع
trueلاستيعاب ما تم اختياره بالضبط. - العودة
{ accept: true, nodes?, edges? }إلى تضييق الاستيعاب إلى مجموعة فرعية - على سبيل المثال فقط ما أكدته الخلفية. المفتاح المحذوف يعني "كما مطلوب"، لذا فإن{ accept: true }يعادلtrue؛ تمرير فارغة مجموعة من الهبوط لا شيء من هذا النوع.
يتم استدعاؤه مرة واحدة لكل استيعاب للدفعة بأكملها، وليس لكل مرشح مطلقًا: محور التي وجدت 1800 ارتباطًا يجب ألا تتحول إلى 1800 مكالمة ربط، و خطافات مسار الكتابة لكل لفتة (onBeforeEdgeCreate، onBeforeDelete) تتعلق بشكل متعمد بإيماءات المستخدم بدلاً من الدمج البرمجي. انها بوابات autoIngest محاور أيضًا، وهو ما يبقيها محكومة.
قد يكون غير متزامن (استمر ثم قرر). IngestContext.تأكيد يفتح نموذج التأكيد المشترك.
المعلمات
context
المرتجعات
IngestDecision | Promise<IngestDecision>
onBeforeNodeCreate()?
optionalonBeforeNodeCreate: (context) =>NodeCreateDecision|Promise<NodeCreateDecision>
محدد في: interfaces/InterractionCallbacks.ts:342
يتم استدعاؤه عندما يقوم المستخدم بإنشاء عقدة بشكل تفاعلي (إنشاء ▸ إضافة عقدة، أو "أضف عقدة هنا" في قائمة سياق اللوحة القماشية)، بمجرد معرفة موضع مساحة الرسم البياني وقبل إضافة العقدة. المرايا onBeforeEdgeCreate:
- العودة
false/{ accept: false }إلى حق النقض - لا تتم إضافة أي شيء. - ارجع
trueلقبول العقدة الافتراضية للمكتبة. - العودة
{ accept: true, id?, data?, style? }لقبول وتوريد الجديد معرف العقدة / الحمولة / النمط.
قد يكون غير متزامن، وNodeCreateContext.promptData يفتح نفس الشيء نموذج تعريفي أو مخصص-HTML مشروط يستخدمه خطاف الحافة. غياب هذا ربط لا تزال الأداة تعمل - فهي تقوم فقط بإنشاء عقدة افتراضية غير مسماة. برمجي graph.addNode() ليس مسورًا أبدًا.
المعلمات
context
المرتجعات
NodeCreateDecision | Promise<NodeCreateDecision>
onBeforeNodeEditCommit()?
optionalonBeforeNodeEditCommit: (context) =>boolean|Promise<boolean>
محدد في: interfaces/InterractionCallbacks.ts:216
يتم استدعاؤه عندما تكون جلسة تحرير العقدة على وشك الالتزام. يعمل بمثابة التحقق من الصحة / الثبات / خطاف النقض: العودة false (أو الوعد به) إلى رفض، وترك بيانات العقدة دون تغيير والشكل مفتوح. على النجاح يتم استبدال بيانات العقدة ويتم تشغيل nodeChange على ناقل البيانات.
المعلمات
context
المرتجعات
boolean | Promise<boolean>
منطقي يشير إلى ما إذا كان يجب الاستمرار في الالتزام أم لا
onCanvasBeforeZoom()?
optionalonCanvasBeforeZoom: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:176
يتم استدعاؤه عندما تكون اللوحة القماشية على وشك التكبير/التصغير.
المعلمات
event
unknown
المرتجعات
void
onCanvasClick()?
optionalonCanvasClick: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:162
يتم استدعاؤه عند النقر على اللوحة القماشية.
المعلمات
event
PointerEvent
المرتجعات
void
onCanvasContextmenu()?
optionalonCanvasContextmenu: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:186
يتم استدعاؤه عند النقر بزر الماوس الأيمن على اللوحة القماشية.
المعلمات
event
PointerEvent
المرتجعات
void
onCanvasMousemove()?
optionalonCanvasMousemove: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:191
يتم استدعاؤه عندما يتحرك الماوس فوق اللوحة القماشية.
المعلمات
event
MouseEvent
المرتجعات
void
onCanvasPointerDown()?
optionalonCanvasPointerDown: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:167
يتم استدعاؤه عندما يشير المستخدم إلى أسفل اللوحة القماشية.
المعلمات
event
PointerEvent
المرتجعات
void
onCanvasPointerUp()?
optionalonCanvasPointerUp: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:171
يتم استدعاؤه عندما يشير المستخدم إلى اللوحة القماشية.
المعلمات
event
PointerEvent
المرتجعات
void
onCanvasZoom()?
optionalonCanvasZoom: (event) =>void
محدد في: interfaces/InterractionCallbacks.ts:181
يتم استدعاؤه عند تكبير اللوحة القماشية.
المعلمات
event
unknown
المرتجعات
void
onEdgeBlur()?
optionalonEdgeBlur: (edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:102
يتم استدعاؤه عندما يتم إلغاء تحديد إحدى الحواف من قبل المستخدم.
المعلمات
edge
element
TElement
المرتجعات
void
onEdgeClick()?
optionalonEdgeClick: (event,edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:84
يتم استدعاؤه عند تحديد حافة من قبل المستخدم.
المعلمات
event
PointerEvent
edge
element
TElement
المرتجعات
void
onEdgeContextmenu()?
optionalonEdgeContextmenu: (event,edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:92
يتم استدعاؤه عند النقر بزر الماوس الأيمن على إحدى الحواف.
المعلمات
event
PointerEvent
edge
element
TElement
المرتجعات
void
onEdgeDbclick()?
optionalonEdgeDbclick: (event,edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:88
يتم استدعاؤه عند تحديد حافة من قبل المستخدم.
المعلمات
event
PointerEvent
edge
element
TElement
المرتجعات
void
onEdgeEdit()?
optionalonEdgeEdit: (session) =>HTMLDivElement
محدد في: interfaces/InterractionCallbacks.ts:310
يتم الاتصال به عند بدء جلسة تحرير الحافة. بمثابة خطاف واجهة المستخدم، والنسخ المتطابق onNodeEdit: إعادة الجسم لحقنه في شكل التحرير. عرف يمتلك الجسم المسودة - قم بتغيير session.draft (أو اتصل بـ session.setDraft) كـ يقوم المستخدم بالأنواع، لأن المكتبة ليس لديها نموذج لقراءته عند الإرسال.
المعلمات
session
EdgeEditSession
جلسة تحرير الحافة
المرتجعات
HTMLDivElement
A HTML Div الذي سيتم حقنه في جسم المشروط
onEdgeEditCancel()?
optionalonEdgeEditCancel: (edge) =>void
محدد في: interfaces/InterractionCallbacks.ts:325
يتم الاتصال به عند إلغاء جلسة تحرير الحافة.
المعلمات
edge
المرتجعات
void
onEdgeHoverIn()?
optionalonEdgeHoverIn: (event,edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:107
يتم الاتصال به عندما يقوم المستخدم بالتمرير فوق إحدى الحواف.
المعلمات
event
PointerEvent
edge
element
TElement
المرتجعات
void
onEdgeHoverOut()?
optionalonEdgeHoverOut: (event,edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:111
يتم الاتصال به عندما يقوم المستخدم بالتمرير فوق إحدى الحواف.
المعلمات
event
PointerEvent
edge
element
TElement
المرتجعات
void
onEdgeSelect()?
optionalonEdgeSelect: (edge,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:97
يتم استدعاؤه عند تحديد حافة من قبل المستخدم.
المعلمات
edge
element
TElement
المرتجعات
void
onNodeBlur()?
optionalonNodeBlur: (node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:59
يتم استدعاؤه عندما يتم إلغاء تحديد العقدة بواسطة المستخدم.
المعلمات
node
element
TElement
المرتجعات
void
onNodeClick()?
optionalonNodeClick: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:16
يتم استدعاؤه عند النقر فوق العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodeContextmenu()?
optionalonNodeContextmenu: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:26
يتم استدعاؤه عند النقر بزر الماوس الأيمن على العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodeDbclick()?
optionalonNodeDbclick: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:21
يتم استدعاؤه عند النقر المزدوج على العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodeDragended()?
optionalonNodeDragended: (event,node) =>void
محدد في: interfaces/InterractionCallbacks.ts:79
يتم استدعاؤه عند انتهاء سحب العقدة.
المعلمات
event
MouseEvent
node
المرتجعات
void
onNodeDragging()?
optionalonNodeDragging: (event,node) =>void
محدد في: interfaces/InterractionCallbacks.ts:74
يتم استدعاؤه عند سحب العقدة.
المعلمات
event
MouseEvent
node
المرتجعات
void
onNodeEdit()?
optionalonNodeEdit: (session) =>HTMLDivElement
محدد في: interfaces/InterractionCallbacks.ts:208
يتم استدعاؤه عند بدء جلسة تحرير العقدة. بمثابة ربط واجهة المستخدم.
المعلمات
session
NodeEditSession
جلسة تحرير العقدة
المرتجعات
HTMLDivElement
A HTML Div الذي سيتم حقنه في جسم المشروط
onNodeEditCancel()?
optionalonNodeEditCancel: (node) =>void
محدد في: interfaces/InterractionCallbacks.ts:220
يتم الاتصال به عند إلغاء جلسة تحرير العقدة
المعلمات
node
المرتجعات
void
onNodeHoverIn()?
optionalonNodeHoverIn: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:31
يتم استدعاؤه عندما يقوم المستخدم بالتمرير فوق العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodeHoverOut()?
optionalonNodeHoverOut: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:35
يتم استدعاؤه عندما يقوم المستخدم بالتمرير خارج العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodePointerDown()?
optionalonNodePointerDown: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:40
يتم استدعاؤه عندما يشير المستخدم إلى أسفل العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodePointerUp()?
optionalonNodePointerUp: (event,node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:44
يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.
المعلمات
event
PointerEvent
node
element
TElement
المرتجعات
void
onNodeSelect()?
optionalonNodeSelect: (node,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:49
يتم استدعاؤه عندما يتم تحديد عقدة من قبل المستخدم.
المعلمات
node
element
TElement
المرتجعات
void
onNodesSelect()?
optionalonNodesSelect: (selection) =>void
محدد في: interfaces/InterractionCallbacks.ts:54
يتم استدعاؤه عندما يتم تحديد العقد من قبل المستخدم.
المعلمات
selection
NodeSelection<TElement>[]
المرتجعات
void
onNoteClick()?
optionalonNoteClick: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:116
يتم الاتصال به عند النقر فوق ملاحظة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onNoteContextmenu()?
optionalonNoteContextmenu: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:126
يتم الاتصال به عند النقر بزر الماوس الأيمن على الملاحظة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onNoteDbclick()?
optionalonNoteDbclick: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:121
يتم الاتصال به عند النقر المزدوج على الملاحظة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onNoteDragging()?
optionalonNoteDragging: (event,note) =>void
محدد في: interfaces/InterractionCallbacks.ts:157
يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.
المعلمات
event
PointerEvent
note
المرتجعات
void
onNoteHandleClick()?
optionalonNoteHandleClick: (event,note,handle) =>void
محدد في: interfaces/InterractionCallbacks.ts:149
يتم استدعاؤه عندما يشير المستخدم إلى أسفل العقدة.
المعلمات
event
PointerEvent
note
handle
HTMLElement
المرتجعات
void
onNoteHandlePointerDown()?
optionalonNoteHandlePointerDown: (event,note,handle) =>void
محدد في: interfaces/InterractionCallbacks.ts:153
يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.
المعلمات
event
PointerEvent
note
handle
HTMLElement
المرتجعات
void
onNoteHoverIn()?
optionalonNoteHoverIn: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:131
يتم الاتصال به عندما يقوم المستخدم بالتمرير فوق ملاحظة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onNoteHoverOut()?
optionalonNoteHoverOut: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:135
يتم الاتصال به عندما يقوم المستخدم بالتمرير خارج الملاحظة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onNotePointerDown()?
optionalonNotePointerDown: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:140
يتم استدعاؤه عندما يشير المستخدم إلى أسفل العقدة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onNotePointerUp()?
optionalonNotePointerUp: (event,note,element) =>void
محدد في: interfaces/InterractionCallbacks.ts:144
يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.
المعلمات
event
PointerEvent
note
element
TElement
المرتجعات
void
onSimulationSlowTick()?
optionalonSimulationSlowTick: () =>void
محدد في: interfaces/InterractionCallbacks.ts:201
يتم استدعاؤه عند كل عُشر علامة المحاكاة.
المرتجعات
void
onSimulationTick()?
optionalonSimulationTick: () =>void
محدد في: interfaces/InterractionCallbacks.ts:196
يتم استدعاؤه عند تحديد علامة المحاكاة.
المرتجعات
void