Aller au contenu

pivotick v3.0.0


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()? ​

optional appliesTo: (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é.

ts
appliesTo: nodes => nodes.length >= 2                          // whole origin
appliesTo: nodes => nodes.filter(n => accepted.has(typeOf(n))) // per node

Paramètres ​

nodes ​

Node[]

Renvoie ​

boolean | Node[]


autoIngest? ​

optional autoIngest: 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 ​

ts
undefined — stages, unless the run itself sets a size to land under

autoSave? ​

optional autoSave: 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 ​

ts
false

fetch() ​

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 ​

PivotNarrowing

ctx ​

PivotContext

Renvoie ​

PivotResult | Promise<PivotResult>


icon? ​

optional icon: 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? ​

optional maxCandidates: 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).


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

PivotMenuChoice[]

Exemple ​

ts
// Enrich an object through one of its attributes.
menuChoices: ([object]) => attributesOf(object).map(a => ({
    label: `${a.type}: ${a.value}`,
    narrowing: { attribute: [a.id] },
}))

origin? ​

optional origin: "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 ​

ts
'selection'

save()? ​

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

PivotSavePayload

ctx ​

PivotSaveContext

Renvoie ​

PivotSaveOutcome | Promise<PivotSaveOutcome>


summarize()? ​

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

PivotNarrowing

ctx ​

PivotContext

Renvoie ​

PivotSummary | Promise<PivotSummary>