sepehr 8d95f34fcc fix: Add debounced Undo/Redo system to avoid character-by-character history
- Add debounced state updates for title and content (500ms delay)
- Immediate UI updates with delayed history saving
- Prevent one-letter-per-undo issue
- Add cleanup for debounce timers on unmount
2026-01-04 14:28:11 +01:00

29 lines
899 B
TypeScript

import type Ajv from "../../core"
import type {AnySchemaObject} from "../../types"
import * as metaSchema from "./schema.json"
import * as applicator from "./meta/applicator.json"
import * as content from "./meta/content.json"
import * as core from "./meta/core.json"
import * as format from "./meta/format.json"
import * as metadata from "./meta/meta-data.json"
import * as validation from "./meta/validation.json"
const META_SUPPORT_DATA = ["/properties"]
export default function addMetaSchema2019(this: Ajv, $data?: boolean): Ajv {
;[
metaSchema,
applicator,
content,
core,
with$data(this, format),
metadata,
with$data(this, validation),
].forEach((sch) => this.addMetaSchema(sch, undefined, false))
return this
function with$data(ajv: Ajv, sch: AnySchemaObject): AnySchemaObject {
return $data ? ajv.$dataMetaSchema(sch, META_SUPPORT_DATA) : sch
}
}