Do not create text range for labels of irrelevant nodes
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Inizia tracciando i percorsi attached e setChildren di PrimaryInstance, concentrandoti sulle chiamate reattive a createTextRange. Confronta il comportamento con l'esempio irrilevante /data/note e l'issue 844. Il lavoro è completato quando le label dei nodi irrilevanti non attivano la creazione di intervalli di testo finché non possono essere visualizzate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Generating labels can be expensive so it should be deferred until it's able to be displayed. For example...
<bind nodeset="/data/concatenated" type="string" relevant=" /data/someid != ''" calculate="concat("* ", join("<br/>* ", instance('items')/root/item[id= /data/someid ]/label))"/>
<bind nodeset="/data/note" readonly="true()" type="string" relevant=" /data/someid != ''"/>
<input ref="/data/note">
<label> <output value=" /data/concatenated "/> </label>
</input>
In this example which is simplified from a real world form, the /data/note is not relevant on load, and yet the /data/concatenated calculation is executed. This filters a large external secondary instance, and performs the join and concat, but it will never be displayed because it's only relevant when /data/someid is not empty which will completely change the filter results.
This evaluation is triggered in two places in the PrimaryInstance. Once when attached is set to true which reactively fires createTextRange, and once when setChildren is called (but I haven't tracked down the reactive graph to work this one out).
Found while working on https://github.com/getodk/web-forms/issues/844
- Lingua principale
- TypeScript
- Stelle
- 38
- Fork
- 23
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di getodk/web-forms
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Update text stylingAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Button to add negative values in decimal and integer question is missing on IphoneForse già presa @garethbowen l’ha presa 10 giorni fa. Aperta
-
Integer question with thousand sep appearance is not working correctly when Polish language is setAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
Tutte le issue di getodk/web-forms
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
langchain-ai/langchainjs#12157 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
activescott/home-infra-k8s-flux#511 ·
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
lingdojo/kana-dojo#33753 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
android:player
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
follow-up needs-triage S3: minor
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
manaflow-ai/cmux#38032 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno