9elements / 9elements/single-line-strong-plugin

Per-field config: placeholder + max-length counter with hard-block

Open
#4 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

What to build

Add per-field configuration and length handling on top of the Lexical editor.

A config screen (rendered via the SDK's manual-field-extension config parameters) exposes:

  • Placeholder text — shown when the field is empty
  • Optional max character count

Length behavior in the editor:

  • Live "X/Y" counter that counts visible text only (bold markup does not count toward the limit)
  • Hard-block input once the limit is reached — further typing and paste beyond the max are rejected

Note: a field-editor plugin cannot hook Dato's save-time validation, so the limit is enforced at the input level, not by blocking record save.

Type: AFK

Acceptance criteria

  • Config screen lets an admin set a placeholder and an optional max length per field
  • Placeholder renders in the editor when the value is empty
  • Live counter shows visible-text length as "X/Y" (bold markup excluded)
  • Typing is hard-blocked at the max; paste is truncated/rejected so the value never exceeds the limit
  • With no max configured, the counter/limit behavior is disabled gracefully

Blocked by

  • #3

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 by resolving the dependency on issue #3, then inspect the SDK's manual-field-extension config parameters and the Lexical editor integration. Done means the config screen, placeholder, visible-text counter, input and paste hard limit, and disabled no-max behavior all satisfy the listed acceptance criteria.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.