Headless rich text editor built on ProseMirror with extensible architecture for building custom editors
94
{
"context": "This criteria evaluates how effectively the engineer uses @tiptap/core's editable state control capabilities to implement a content review system with toggleable view and edit modes. The focus is on proper usage of the Editor API for controlling editability dynamically.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Editor Initialization",
"description": "Uses the Editor class from @tiptap/core to create an editor instance with appropriate configuration (element mounting, extensions, initial content)",
"max_score": 15
},
{
"name": "Initial Editable State",
"description": "Sets the initial editable state to false (read-only/view mode) using the editable configuration option during editor initialization",
"max_score": 20
},
{
"name": "setEditable Method",
"description": "Uses the editor.setEditable() method to dynamically change the editor's editability state when toggling between view and edit modes",
"max_score": 25
},
{
"name": "isEditable Property",
"description": "Uses the editor.isEditable property to check the current editability state for determining and displaying the current mode",
"max_score": 20
},
{
"name": "Mode Toggle Logic",
"description": "Implements toggle functionality that correctly switches between editable states (true/false) and updates the UI accordingly",
"max_score": 15
},
{
"name": "Editor Cleanup",
"description": "Properly destroys the editor instance using editor.destroy() when the system is torn down to prevent memory leaks",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-tiptap--coredocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10