pivotick / Pivot / PivotDefinition
Interface: PivotDefinition
Défini dans : interfaces/Pivot.ts:21
Un enrichissement exécutable : comment il s'appelle, sur quoi il fonctionne, comment annoncer ce qui existe et comment le récupérer.
Un pivot est constitué de deux fonctions et de quelques métadonnées. PivotDefinition.summarize est l'appel bon marché « ce qui existe là-bas » dont les facettes deviennent les contrôles de rétrécissement ; PivotDefinition.fetch est le vrai. Les résultats sont candidats – préparés pour le tri, jamais sur le canevas – à moins que le pivot ne déclare PivotDefinition.autoIngest.
Propriétés
appliesTo()?
optionalappliesTo: (nodes) =>boolean|Node[]
Défini dans : interfaces/Pivot.ts:54
Si ce pivot s’applique à une origine donnée, et dans quelle mesure. Relisez à chaque changement d'origine, cela doit donc être synchrone et bon marché. Omettez-le et le pivot s’applique à tout. Non consulté lorsque origin est 'none'.
Renvoie un booléen pour une règle sur l'origine dans son ensemble — "uniquement avec deux ou plus sélectionnés", "jamais sur une note". Renvoie les nœuds auxquels il s'applique pour une règle qui lit un nœud à la fois, ce qui est le cas normal de l'enrichissement : une sélection mêlant un domaine et une IP propose toujours les fournisseurs de domaine uniquement, contre le domaine seul. Un tableau vide signifie la même chose que false.
Tout ce qu'il conserve, c'est l'origine avec laquelle le fournisseur est appelé - summarize et fetch ne voient jamais un nœud aussi refusé.
appliesTo: nodes => nodes.length >= 2 // whole origin
appliesTo: nodes => nodes.filter(n => accepted.has(typeOf(n))) // per nodeParamètres
nodes
Node[]
Renvoie
boolean | Node[]
autoIngest?
optionalautoIngest:boolean
Défini dans : interfaces/Pivot.ts:96
Obtenez les résultats directement au lieu de les organiser pour le tri. Pour des résultats modestes et fiables (développer un événement dans ses objets), pas pour quelque chose qu'un analyste voudrait comprendre. Le plafond s’applique toujours.
true et false sont les deux réponses, et toutes deux sont valables quelle que soit la manière dont l'exécution a commencé. Le laisser non défini est pas identique à false : il indique que le pivot n'a pas de vue, donc une exécution en un clic peut décider uniquement de la taille - voir PivotRunOptions.autoIngestUpTo. Les courses effectuées d'une autre manière sont toujours en scène.
Valeur par défaut
undefined — stages, unless the run itself sets a size to land underautoSave?
optionalautoSave:boolean
Défini dans : interfaces/Pivot.ts:129
Écrivez chaque course au moment où elle atterrit, sans geste. Pour un pivot dont les résultats sont déjà les propres données du système source (développant un événement dans ses objets), où la sauvegarde est une mise à jour plutôt qu'une décision.
La sauvegarde s'exécute après la résolution de l'ingestion plutôt qu'à l'intérieur de celle-ci, de sorte qu'un backend lent ne retarde jamais le canevas ; son résultat est rapporté par le notifiant.
Valeur par défaut
falsefetch()
fetch: (
nodes,narrowing,ctx) =>PivotResult|Promise<PivotResult>
Défini dans : interfaces/Pivot.ts:84
Le vrai chercher, réduit en fonction de ce que l'analyste a choisi.
Paramètres
nodes
Node[]
narrowing
ctx
Renvoie
PivotResult | Promise<PivotResult>
icon?
optionalicon:string
Défini dans : interfaces/Pivot.ts:27
Chaîne SVG, injectée de innerHTML et non désinfectée — il faut lui faire confiance.
id
id:
string
Défini dans : interfaces/Pivot.ts:23
Identité stable : sur quoi portent les clés de registre et l'étiquette de provenance écrite lors de l'ingestion.
label
label:
string
Défini dans : interfaces/Pivot.ts:25
Étiquette, utilisée textuellement (afin qu'elle puisse être traduite).
maxCandidates?
optionalmaxCandidates:number
Défini dans : interfaces/Pivot.ts:104
Refusez de récupérer tant que le nombre annoncé dépasse ce chiffre. Un décompte que le fournisseur ne connaît pas (total: null) n'est jamais refusé. Il n'y a pas de bibliothèque par défaut : un pivot qui déclare aucun plafond n'est jamais limité par un (le plafond absolu de PivotManagerLike.candidateCeiling s'applique toujours à ce que fetch renvoie).
menuChoices()?
optionalmenuChoices: (nodes) =>PivotMenuChoice[]
Défini dans : interfaces/Pivot.ts:72
Choix pour le menu contextuel. Avec any, la ligne du pivot ouvre un sous-menu avec une ligne par choix, chacune exécutant le pivot sur place avec ce rétrécissement, et une dernière ligne ouvrant le panneau du pivot. Reçoit les nœuds auxquels le pivot s'applique. Synchrone et bon marché, comme appliesTo : il s'exécute à chaque ouverture du menu.
Renvoyez [], ou omettez le crochet, pour une ligne simple qui s'étend sans rétrécissement.
Paramètres
nodes
Node[]
Renvoie
Exemple
// Enrich an object through one of its attributes.
menuChoices: ([object]) => attributesOf(object).map(a => ({
label: `${a.type}: ${a.value}`,
narrowing: { attribute: [a.id] },
}))origin?
optionalorigin:"none"|"selection"
Défini dans : interfaces/Pivot.ts:34
Sur quoi fonctionne ce pivot. Les pivots 'selection' ont besoin d'une origine - les nœuds pointés par l'analyste ; Les pivots 'none' n'ont besoin d'aucun nœud (recherche, importation, plateau de préparation) et reçoivent [].
Valeur par défaut
'selection'save()?
optionalsave: (payload,ctx) =>PivotSaveOutcome|Promise<PivotSaveOutcome>
Défini dans : interfaces/Pivot.ts:119
Écrivez le résultat d'une exécution ingérée dans le système source (la moitié du contrat qui n'est pas en lecture seule).
Omettez-le et les résultats de ce pivot sont non sauvegardés : ils n'entrent jamais dans le grand livre, ne sont jamais comptés non sauvegardés et aucune sauvegarde n'apparaît pour eux. Un pivot sur des données dérivées qui n'ont pu être écrites nulle part devrait les omettre plutôt que d'en déclarer une qui échoue.
Jamais appelé par la bibliothèque seule - un PivotManagerLike.save explicite, ou PivotDefinition.autoSave. Le consommateur effectue l'écriture ; la bibliothèque le demande seulement et enregistre la réponse.
Paramètres
payload
ctx
Renvoie
PivotSaveOutcome | Promise<PivotSaveOutcome>
summarize()?
optionalsummarize: (nodes,narrowing,ctx) =>PivotSummary|Promise<PivotSummary>
Défini dans : interfaces/Pivot.ts:82
Pas cher "ce qui existe". Appelé avec {} avant qu'un rétrécissement n'existe, et réexécuté à mesure que l'origine ou le rétrécissement change ; ses facettes deviennent les contrôles de rétrécissement et son total est le nombre par rapport auquel le plafond est jugé.
Omettez-le et le pivot n'offre aucun décompte annoncé ni aucun rétrécissement - légal, mais alors PivotDefinition.fetch doit être sûr d'appeler à l'aveugle, car rien ne peut le bloquer.
Paramètres
nodes
Node[]
narrowing
ctx
Renvoie
PivotSummary | Promise<PivotSummary>