انتقل إلى المحتوى

pivotick v3.0.0


محورية / InterractionCallbacks / InterractionCallbacks

واجهة: InterractionCallbacks<TElement> ​

محدد في: interfaces/InterractionCallbacks.ts:12

نوع المعلمات ​

TElement ​

TElement = unknown

خصائص ​

isValidConnection()? ​

optional isValidConnection: (source, target) => boolean

محدد في: interfaces/InterractionCallbacks.ts:251

تم تقييم مسند الصلاحية المباشرة أثناء إيماءة الاتصال كمؤشر تحويم الأهداف المرشحة (على غرار React Flow's isValidConnection). العودة false لوضع علامة على الهدف الذي تم تمريره غير صالح: تظهر حافة الظل في شكل نمط غير صالح، والإفراج/النقر عليه لا يؤدي إلى أي شيء (في هذه الحالة onBeforeEdgeCreate لا يستشير). يعمل على كل حركة المؤشر، لذلك يجب أن تكون متزامنة ورخيصة.

المعلمات ​

source ​

Node | Note

target ​

Node

المرتجعات ​

boolean


onBadgeClick()? ​

optional onBadgeClick: (event, node, badge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:69

يتم استدعاؤه عند النقر على أي من شارات حافة العقدة، بعد تلك الشارة onClick. استخدمها للسلوك الذي تشاركه كل شارة؛ استخدم NodeBadge.onClick لعمل شارة واحدة.

الإعلان عنها يجعل كل شارة تأخذ مؤشر المؤشر وتستهلك نقرته، لذلك لم يتم تحديد العقدة الموجودة أسفلها أيضًا.

المعلمات ​

event ​

PointerEvent

node ​

Node

badge ​

NodeBadge

element ​

TElement

المرتجعات ​

void


onBeforeDelete()? ​

optional onBeforeDelete: (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 ​

DeleteContext

المرتجعات ​

DeleteDecision | Promise<DeleteDecision>


onBeforeEdgeCreate()? ​

optional onBeforeEdgeCreate: (context) => EdgeCreateDecision | Promise<EdgeCreateDecision>

محدد في: interfaces/InterractionCallbacks.ts:241

يتم الاتصال به أثناء إيماءة الاتصال، بعد حل العقدة المستهدفة لكن قبل يتم إنشاء الحافة (أو رابط الملاحظة). بمثابة حافة مكافئة ل onBeforeNodeEditCommit: خطاف المصادقة/الإثراء/الفيتو.

  • العودة false / { accept: false } للنقض: يتم إسقاط المعاينة، لا تتم إضافة أي شيء، ويظل وضع الاتصال نشطًا حتى يتمكن المستخدم من إعادة المحاولة.
  • العودة true للقبول مع الإعدادات الافتراضية.
  • العودة { accept: true, data?, style?, id?, directed? } للقبول و توفير الحمولة/النمط/المعرف/الاتجاه للحافة الجديدة.

قد يكون غير متزامن (على سبيل المثال، الاستمرار في الواجهة الخلفية قبل اتخاذ القرار)؛ حافة الظل تستمر المعاينة حتى يستقر الوعد، ولا توجد إيماءة اتصال جديدة تم قبوله وهو في انتظاره. يتم إطلاقه لكل من النقر والسحب للاتصال. يتم أيضًا تشغيل الملاحظة → روابط العقدة (EdgeCreateContext.kind 'note-link')، حيث يتم تجاهل حقول القرار الخاصة بالحافة.

المعلمات ​

context ​

EdgeCreateContext

المرتجعات ​

EdgeCreateDecision | Promise<EdgeCreateDecision>

ما إذا كان ينبغي إنشاء الاتصال، اختياريًا مع بياناته.


onBeforeEdgeEditCommit()? ​

optional onBeforeEdgeEditCommit: (context) => boolean | Promise<boolean>

محدد في: interfaces/InterractionCallbacks.ts:320

يتم استدعاؤه عندما تكون جلسة تحرير الحافة على وشك الالتزام. يعمل بمثابة التحقق من الصحة / الثبات / خطاف النقض، النسخ المتطابق onBeforeNodeEditCommit: العودة false (أو الوعد بها) للرفض، مع ترك بيانات الحافة لم يمسها ومشروط مفتوحة. عند النجاح، يتم استبدال بيانات الحافة و edgeChange حرائق على ناقل البيانات.

المعلمات ​

context ​

EdgeEditCommitContext

المرتجعات ​

boolean | Promise<boolean>

ما إذا كان ينبغي المضي قدما في الالتزام


onBeforeIngest()? ​

optional onBeforeIngest: (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 ​

IngestContext

المرتجعات ​

IngestDecision | Promise<IngestDecision>


onBeforeNodeCreate()? ​

optional onBeforeNodeCreate: (context) => NodeCreateDecision | Promise<NodeCreateDecision>

محدد في: interfaces/InterractionCallbacks.ts:342

يتم استدعاؤه عندما يقوم المستخدم بإنشاء عقدة بشكل تفاعلي (إنشاء ▸ إضافة عقدة، أو "أضف عقدة هنا" في قائمة سياق اللوحة القماشية)، بمجرد معرفة موضع مساحة الرسم البياني وقبل إضافة العقدة. المرايا onBeforeEdgeCreate:

  • العودة false / { accept: false } إلى حق النقض - لا تتم إضافة أي شيء.
  • ارجع true لقبول العقدة الافتراضية للمكتبة.
  • العودة { accept: true, id?, data?, style? } لقبول وتوريد الجديد معرف العقدة / الحمولة / النمط.

قد يكون غير متزامن، وNodeCreateContext.promptData يفتح نفس الشيء نموذج تعريفي أو مخصص-HTML مشروط يستخدمه خطاف الحافة. غياب هذا ربط لا تزال الأداة تعمل - فهي تقوم فقط بإنشاء عقدة افتراضية غير مسماة. برمجي graph.addNode() ليس مسورًا أبدًا.

المعلمات ​

context ​

NodeCreateContext

المرتجعات ​

NodeCreateDecision | Promise<NodeCreateDecision>


onBeforeNodeEditCommit()? ​

optional onBeforeNodeEditCommit: (context) => boolean | Promise<boolean>

محدد في: interfaces/InterractionCallbacks.ts:216

يتم استدعاؤه عندما تكون جلسة تحرير العقدة على وشك الالتزام. يعمل بمثابة التحقق من الصحة / الثبات / خطاف النقض: العودة false (أو الوعد به) إلى رفض، وترك بيانات العقدة دون تغيير والشكل مفتوح. على النجاح يتم استبدال بيانات العقدة ويتم تشغيل nodeChange على ناقل البيانات.

المعلمات ​

context ​

NodeEditCommitContext

المرتجعات ​

boolean | Promise<boolean>

منطقي يشير إلى ما إذا كان يجب الاستمرار في الالتزام أم لا


onCanvasBeforeZoom()? ​

optional onCanvasBeforeZoom: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:176

يتم استدعاؤه عندما تكون اللوحة القماشية على وشك التكبير/التصغير.

المعلمات ​

event ​

unknown

المرتجعات ​

void


onCanvasClick()? ​

optional onCanvasClick: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:162

يتم استدعاؤه عند النقر على اللوحة القماشية.

المعلمات ​

event ​

PointerEvent

المرتجعات ​

void


onCanvasContextmenu()? ​

optional onCanvasContextmenu: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:186

يتم استدعاؤه عند النقر بزر الماوس الأيمن على اللوحة القماشية.

المعلمات ​

event ​

PointerEvent

المرتجعات ​

void


onCanvasMousemove()? ​

optional onCanvasMousemove: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:191

يتم استدعاؤه عندما يتحرك الماوس فوق اللوحة القماشية.

المعلمات ​

event ​

MouseEvent

المرتجعات ​

void


onCanvasPointerDown()? ​

optional onCanvasPointerDown: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:167

يتم استدعاؤه عندما يشير المستخدم إلى أسفل اللوحة القماشية.

المعلمات ​

event ​

PointerEvent

المرتجعات ​

void


onCanvasPointerUp()? ​

optional onCanvasPointerUp: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:171

يتم استدعاؤه عندما يشير المستخدم إلى اللوحة القماشية.

المعلمات ​

event ​

PointerEvent

المرتجعات ​

void


onCanvasZoom()? ​

optional onCanvasZoom: (event) => void

محدد في: interfaces/InterractionCallbacks.ts:181

يتم استدعاؤه عند تكبير اللوحة القماشية.

المعلمات ​

event ​

unknown

المرتجعات ​

void


onEdgeBlur()? ​

optional onEdgeBlur: (edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:102

يتم استدعاؤه عندما يتم إلغاء تحديد إحدى الحواف من قبل المستخدم.

المعلمات ​

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onEdgeClick()? ​

optional onEdgeClick: (event, edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:84

يتم استدعاؤه عند تحديد حافة من قبل المستخدم.

المعلمات ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onEdgeContextmenu()? ​

optional onEdgeContextmenu: (event, edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:92

يتم استدعاؤه عند النقر بزر الماوس الأيمن على إحدى الحواف.

المعلمات ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onEdgeDbclick()? ​

optional onEdgeDbclick: (event, edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:88

يتم استدعاؤه عند تحديد حافة من قبل المستخدم.

المعلمات ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onEdgeEdit()? ​

optional onEdgeEdit: (session) => HTMLDivElement

محدد في: interfaces/InterractionCallbacks.ts:310

يتم الاتصال به عند بدء جلسة تحرير الحافة. بمثابة خطاف واجهة المستخدم، والنسخ المتطابق onNodeEdit: إعادة الجسم لحقنه في شكل التحرير. عرف يمتلك الجسم المسودة - قم بتغيير session.draft (أو اتصل بـ session.setDraft) كـ يقوم المستخدم بالأنواع، لأن المكتبة ليس لديها نموذج لقراءته عند الإرسال.

المعلمات ​

session ​

EdgeEditSession

جلسة تحرير الحافة

المرتجعات ​

HTMLDivElement

A HTML Div الذي سيتم حقنه في جسم المشروط


onEdgeEditCancel()? ​

optional onEdgeEditCancel: (edge) => void

محدد في: interfaces/InterractionCallbacks.ts:325

يتم الاتصال به عند إلغاء جلسة تحرير الحافة.

المعلمات ​

edge ​

Edge

المرتجعات ​

void


onEdgeHoverIn()? ​

optional onEdgeHoverIn: (event, edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:107

يتم الاتصال به عندما يقوم المستخدم بالتمرير فوق إحدى الحواف.

المعلمات ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onEdgeHoverOut()? ​

optional onEdgeHoverOut: (event, edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:111

يتم الاتصال به عندما يقوم المستخدم بالتمرير فوق إحدى الحواف.

المعلمات ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onEdgeSelect()? ​

optional onEdgeSelect: (edge, element) => void

محدد في: interfaces/InterractionCallbacks.ts:97

يتم استدعاؤه عند تحديد حافة من قبل المستخدم.

المعلمات ​

edge ​

Edge

element ​

TElement

المرتجعات ​

void


onNodeBlur()? ​

optional onNodeBlur: (node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:59

يتم استدعاؤه عندما يتم إلغاء تحديد العقدة بواسطة المستخدم.

المعلمات ​

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodeClick()? ​

optional onNodeClick: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:16

يتم استدعاؤه عند النقر فوق العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodeContextmenu()? ​

optional onNodeContextmenu: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:26

يتم استدعاؤه عند النقر بزر الماوس الأيمن على العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodeDbclick()? ​

optional onNodeDbclick: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:21

يتم استدعاؤه عند النقر المزدوج على العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodeDragended()? ​

optional onNodeDragended: (event, node) => void

محدد في: interfaces/InterractionCallbacks.ts:79

يتم استدعاؤه عند انتهاء سحب العقدة.

المعلمات ​

event ​

MouseEvent

node ​

Node

المرتجعات ​

void


onNodeDragging()? ​

optional onNodeDragging: (event, node) => void

محدد في: interfaces/InterractionCallbacks.ts:74

يتم استدعاؤه عند سحب العقدة.

المعلمات ​

event ​

MouseEvent

node ​

Node

المرتجعات ​

void


onNodeEdit()? ​

optional onNodeEdit: (session) => HTMLDivElement

محدد في: interfaces/InterractionCallbacks.ts:208

يتم استدعاؤه عند بدء جلسة تحرير العقدة. بمثابة ربط واجهة المستخدم.

المعلمات ​

session ​

NodeEditSession

جلسة تحرير العقدة

المرتجعات ​

HTMLDivElement

A HTML Div الذي سيتم حقنه في جسم المشروط


onNodeEditCancel()? ​

optional onNodeEditCancel: (node) => void

محدد في: interfaces/InterractionCallbacks.ts:220

يتم الاتصال به عند إلغاء جلسة تحرير العقدة

المعلمات ​

node ​

Node

المرتجعات ​

void


onNodeHoverIn()? ​

optional onNodeHoverIn: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:31

يتم استدعاؤه عندما يقوم المستخدم بالتمرير فوق العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodeHoverOut()? ​

optional onNodeHoverOut: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:35

يتم استدعاؤه عندما يقوم المستخدم بالتمرير خارج العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodePointerDown()? ​

optional onNodePointerDown: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:40

يتم استدعاؤه عندما يشير المستخدم إلى أسفل العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodePointerUp()? ​

optional onNodePointerUp: (event, node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:44

يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.

المعلمات ​

event ​

PointerEvent

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodeSelect()? ​

optional onNodeSelect: (node, element) => void

محدد في: interfaces/InterractionCallbacks.ts:49

يتم استدعاؤه عندما يتم تحديد عقدة من قبل المستخدم.

المعلمات ​

node ​

Node

element ​

TElement

المرتجعات ​

void


onNodesSelect()? ​

optional onNodesSelect: (selection) => void

محدد في: interfaces/InterractionCallbacks.ts:54

يتم استدعاؤه عندما يتم تحديد العقد من قبل المستخدم.

المعلمات ​

selection ​

NodeSelection<TElement>[]

المرتجعات ​

void


onNoteClick()? ​

optional onNoteClick: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:116

يتم الاتصال به عند النقر فوق ملاحظة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onNoteContextmenu()? ​

optional onNoteContextmenu: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:126

يتم الاتصال به عند النقر بزر الماوس الأيمن على الملاحظة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onNoteDbclick()? ​

optional onNoteDbclick: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:121

يتم الاتصال به عند النقر المزدوج على الملاحظة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onNoteDragging()? ​

optional onNoteDragging: (event, note) => void

محدد في: interfaces/InterractionCallbacks.ts:157

يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.

المعلمات ​

event ​

PointerEvent

note ​

Note

المرتجعات ​

void


onNoteHandleClick()? ​

optional onNoteHandleClick: (event, note, handle) => void

محدد في: interfaces/InterractionCallbacks.ts:149

يتم استدعاؤه عندما يشير المستخدم إلى أسفل العقدة.

المعلمات ​

event ​

PointerEvent

note ​

Note

handle ​

HTMLElement

المرتجعات ​

void


onNoteHandlePointerDown()? ​

optional onNoteHandlePointerDown: (event, note, handle) => void

محدد في: interfaces/InterractionCallbacks.ts:153

يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.

المعلمات ​

event ​

PointerEvent

note ​

Note

handle ​

HTMLElement

المرتجعات ​

void


onNoteHoverIn()? ​

optional onNoteHoverIn: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:131

يتم الاتصال به عندما يقوم المستخدم بالتمرير فوق ملاحظة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onNoteHoverOut()? ​

optional onNoteHoverOut: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:135

يتم الاتصال به عندما يقوم المستخدم بالتمرير خارج الملاحظة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onNotePointerDown()? ​

optional onNotePointerDown: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:140

يتم استدعاؤه عندما يشير المستخدم إلى أسفل العقدة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onNotePointerUp()? ​

optional onNotePointerUp: (event, note, element) => void

محدد في: interfaces/InterractionCallbacks.ts:144

يتم استدعاؤه عندما يشير المستخدم إلى أعلى العقدة.

المعلمات ​

event ​

PointerEvent

note ​

Note

element ​

TElement

المرتجعات ​

void


onSimulationSlowTick()? ​

optional onSimulationSlowTick: () => void

محدد في: interfaces/InterractionCallbacks.ts:201

يتم استدعاؤه عند كل عُشر علامة المحاكاة.

المرتجعات ​

void


onSimulationTick()? ​

optional onSimulationTick: () => void

محدد في: interfaces/InterractionCallbacks.ts:196

يتم استدعاؤه عند تحديد علامة المحاكاة.

المرتجعات ​

void