sillsdev / sillsdev/interlinearizer-extension

Link a gloss to an existing lexicon sense

Open
#228 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
2
Forks
0
Avg merge
1d 17h
Merged PRs (30d)
55

Description

Let a user attach a gloss to a specific lexicon sense, and detach it again.

Scope

A lookup affordance in the gloss field and the morpheme editor: searchByForm on the current surface form, pick a sense from the candidates, store the ref (senseRef on a morpheme, glossSenseRef on a token analysis). Uses the third grid row MorphemeBox reserves (src/components/MorphemeBox.tsx), whose display half lands in #227.

Gated on the port's search capability — not rendered when the active provider cannot search, and not rendered in tier 0.

The UX decision to record

Free-form glossing and lexicon linking are distinct and both first-class; a gloss never requires a link. The model already settles the data question — a typed gloss takes precedence over the ref, and the ref is retained so the link is not lost. What is not settled is what the user sees when the two disagree, and how they say "actually, use the lexicon's wording."

Recommended: linking never overwrites typed text, and an explicit adopt sense gloss action copies the resolved text into gloss. Decide and write it down here, because every later lexicon affordance inherits it.

Also in scope

  • Unlink, leaving the free-form gloss intact. Dropping a ref must never blank a gloss.
  • Linking and unlinking are analysis edits: they go through the existing dedupe path, and references stay outbound only — nothing here writes to the lexicon (#194).

Non-goals

Creating entries. Search that finds nothing is a dead end in this item; the create path is the next one.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/components/MorphemeBox.tsx and the display work in #227, then trace the existing analysis-edit dedupe path and the port's search capability. Follow searchByForm from the current surface form through candidate sense selection, covering senseRef and glossSenseRef, including unlinking and the adopted-gloss decision. Done means linking and unlinking work in the gloss field and morpheme editor without rendering for unsupported providers or tier 0.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.