API reference
@searsuite/sear-plugin-data-validation
Sheet data validation rules, commands, queries, and editor-local evaluation.
38 exportsderived from source
- classDataValidationEvaluatorRegistrysource ↗
-
class DataValidationEvaluatorRegistryHost extension point for structured values and custom formulas.
constructorconstructor DataValidationEvaluatorRegistry(): DataValidationEvaluatorRegistrymethodenforceCommandBoundary enforceCommandBoundary(isExecuting: (): boolean, dispatchRemoval: (id: number): void): voidSeals post-assembly writes without adding work to evaluator reads.
isExecuting: (): booleandispatchRemoval: (id: number): void
methodevaluate evaluate(condition: DataValidationCondition, text: string, row: number, column: number): boolean | nullcondition: DataValidationConditiontext: stringrow: numbercolumn: number
methodregister register(kind: DataValidationKind, evaluator: DataValidationExternalEvaluator): (): voidkind: DataValidationKindevaluator: DataValidationExternalEvaluator
methodunregister unregister(id: number): voidRemoves a registration through the owning command after assembly.
id: number
- classDataValidationMatrixsource ↗
-
class DataValidationMatrix extends CSRMatrix<DataValidationRule[] | null>Sparse range anchors for validation rules.
constructorconstructor DataValidationMatrix(data?: { data: DataValidationRule[] | null[]; indices: number[]; indptr: number[] }, shape?: [number, number]): DataValidationMatrixdata: { data: DataValidationRule[] | null[]; indices: number[]; indptr: number[] }shape: [number, number]
methodaddItem addItem(row: number, column: number, rules: DataValidationRule[] | null): thisAdds an item to the matrix at the specified row and column.
ReturnsThe current instance for chaining.
row: numberThe row index.
column: numberrules: DataValidationRule[] | null
methodclone clone(): thisCreates an independent copy of this value and its mutable data.
methodfindRules findRules(row: number, column: number): PositionedDataValidationRule[]row: numbercolumn: number
methodgetItem getItem(row: number, column: number): DataValidationRule[] | nullRetrieves an item from the matrix at the specified row and column.
ReturnsThe item at the specified position or null if not present.
row: numberThe row index.
column: number
methodgetRules getRules(): PositionedDataValidationRule[]methodreplaceRules replaceRules(entries: readonly PositionedDataValidationRule[]): voidentries: readonly PositionedDataValidationRule[]
methodsetItem setItem(row: number, column: number, rules: DataValidationRule[] | null): thisrow: numbercolumn: numberrules: DataValidationRule[] | null
Inherited members 32
Inherited from CSRMatrix.
- name
- ndim
- nnz
- shape
- addColumn
- addListener
- addRow
- cloneCommittedView
- cloneDetached
- cloneForStaging
- deleteColumns
- deleteRows
- dispatch
- dot
- forEach
- forEachStored
- forEachStoredInRange
- forEachStoredInRow
- fromDense
- getCol
- getDefaultValue
- getRow
- lockMutations
- multiply
- removeItem
- removeListener
- setDefaultValue
- sum
- swapColumn
- swapRow
- toArray
- transpose
- classSheetDataValidationPluginsource ↗
-
class SheetDataValidationPlugin extends Plugin<unknown, CellProperties, SheetDataValidationPluginState>Base contract implemented by sheet and document plugins.
Plugins own their state, declare lifecycle hooks, transform transactions into state, and render scene nodes for their host core. Runtime packages should extend this contract rather than reaching into Core internals.
constructorconstructor SheetDataValidationPlugin(state: SheetDataValidationPluginState, dependencies: SheetDataValidationDependencies): SheetDataValidationPluginstate: SheetDataValidationPluginStatedependencies: SheetDataValidationDependencies
propertydocumentState readonly documentState: PluginDocumentStateContribution<SheetDataValidationPluginState, SheetDataValidationPluginState>Document-state export modules owned by this plugin state.
propertyinterestedIn interestedIn: MatrixOTActionName[]Declares which Sheet OT action names this plugin is interested in. The engine will only call
applywhen a transaction contains at least one operation matching these action names, unless the transaction is owned by this plugin.['uc', 'rr', 'rc']— only called for UpdateCell, ResizeRow, ResizeCol['*']— called for any transaction (wildcard)[]— only called for this plugin's own transactions
propertytransactionOT readonly transactionOT: { collaborative: boolean; definition: TransactionOTDefinition<MatrixOTOperation<unknown>>; ownerId: string; relations: OTTransformRelation<MatrixOTOperation<unknown>, MatrixOTOperation<unknown>>[] }Shared transaction algebra used by history and collaboration.
propertywarnOnDuplicateDepth readonly warnOnDuplicateDepth: falseWhether PluginManager should warn when another ordered plugin shares this depth.
propertydocumentStatestatic readonly documentState: PluginDocumentStateContribution<SheetDataValidationPluginState, SheetDataValidationPluginState>propertypluginKeystatic readonly pluginKey: PluginKeypropertysymbolstatic readonly symbol: typeof symbolmethodapply apply(state: SheetDataValidationPluginState, transaction: Transaction): SheetDataValidationPluginState | nullApplies a transaction to plugin-owned state and returns the next state.
state: SheetDataValidationPluginStatetransaction: Transaction
methoddispose dispose(): voidmethodgetPluginConfig getPluginConfig(): nullReturns this plugin's runtime configuration view for the current core.
methodonTransactionCommitted onTransactionCommitted(transaction: Transaction): voidRuns only after every step in the enclosing pipeline has succeeded and all staged plugin state has been committed. Use it for derived caches, notifications, persistence, and transport; never perform those effects in apply, because a later pipeline step may still fail.
transaction: TransactionA committed transaction from the completed pipeline.
methodreadIssue readIssue(row: number, column: number): DataValidationIssue | nullReturns a definite failure for the cell's current value, including values predating the rule.
row: numbercolumn: number
methodregisterCapabilities registerCapabilities(registry: RuntimeCapabilityRegistry): voidregistry: RuntimeCapabilityRegistry
methodregisterCellVisualReaders registerCellVisualReaders(registry: SheetCellVisualReaderRegistry): voidregistry: SheetCellVisualReaderRegistry
methodregisterCommands registerCommands(commands: SheetCommandBus): voidcommands: SheetCommandBus
methodregisterObservations registerObservations(registry: ObservationRegistry): voidregistry: ObservationRegistry
methodregisterQueries registerQueries(queries: SheetQueryRegistry): voidqueries: SheetQueryRegistry
methodregisterRangeMoves registerRangeMoves(registry: SheetRangeMoveRegistry): voidregistry: SheetRangeMoveRegistry
methodregisterState registerState(): { dataEngine: { dataView: { fieldKey: string; select: (state: unknown): DataValidationMatrix; viewKey: string }[] }; key: PluginKey; state: SheetDataValidationPluginState }Registers one or more plugin-owned state records with the host manager.
methodrender render(): Node<CellProperties>[]Produces scene nodes owned by this plugin for the current core state.
methodsealRuntimeWrites sealRuntimeWrites(): voidCloses runtime-owned extension writes after every plugin has initialized and started.
methodvalidate validate(row: number, column: number, text: string): SheetCellInputValidationResultrow: numbercolumn: numbertext: string
Inherited members 24
Inherited from Plugin.
- depth
- pluginKey
- transactionHistory
- key
- dirtyRect
- enforceRuntimeWriteBoundary
- enforceStateWriteBoundary
- getState
- hasStateWriteBoundary
- lockCommittedState
- onClick
- onDblClick
- onInitialDataCell
- onInitialDataComplete
- onMouseDown
- onMouseMove
- onMouseUp
- onResize
- onScroll
- projectTransaction
- registerConfig
- sealRuntimeMetadata
- sealRuntimeMethods
- setState
- interfaceDataValidationConditionsource ↗
-
interface DataValidationConditionType-specific settings used to evaluate a cell value.
propertydropdownMode readonly dropdownMode?: DataValidationDropdownModepropertyformula readonly formula?: stringpropertyintegerOnly readonly integerOnly?: booleanpropertykind readonly kind: DataValidationKindpropertyoperator readonly operator?: DataValidationOperatorpropertyoptions readonly options?: readonly DataValidationOption[]propertysecondValue readonly secondValue?: stringpropertyshowDropdownArrow readonly showDropdownArrow?: booleanpropertysourceRange readonly sourceRange?: { end: readonly [number, number]; start: readonly [number, number] }propertytextMode readonly textMode?: DataValidationTextModepropertyvalue readonly value?: string - interfaceDataValidationEvaluationContextsource ↗
-
interface DataValidationEvaluationContextpropertycolumn readonly column: numberpropertyevaluateExternal readonly evaluateExternal?: (condition: DataValidationCondition, text: string, row: number, column: number): boolean | nullHost contribution for formula results and structured cell types. Null means unavailable.
propertyreadSourceValues readonly readSourceValues?: (start: readonly [number, number], end: readonly [number, number]): readonly string[]propertyrow readonly row: number - interfaceDataValidationIssuesource ↗
-
interface DataValidationIssueA definite failure of the current cell value against a validation rule.
- interfaceDataValidationOptionsource ↗
-
interface DataValidationOptionOne displayable dropdown choice and its optional color.
- interfaceDataValidationRulesource ↗
-
interface DataValidationRuleOne independently editable rule stored at the top-left cell of its range.
propertycondition readonly condition: DataValidationConditionpropertyendColumn readonly endColumn: numberpropertyendRow readonly endRow: numberpropertyerrorMessage readonly errorMessage?: stringpropertyid readonly id: stringpropertyinputMessage readonly inputMessage?: stringpropertyinputPolicy readonly inputPolicy: DataValidationInputPolicy - interfaceDataValidationWarningsource ↗
-
interface DataValidationWarning - interfacePositionedDataValidationRulesource ↗
-
interface PositionedDataValidationRuleA rule with its persisted range anchor.
- interfaceSetDataValidationRuleInputsource ↗
-
interface SetDataValidationRuleInput extends SheetRangeInputTarget range and rule settings for creating or editing a rule.
- interfaceSheetDataValidationDependenciessource ↗
-
interface SheetDataValidationDependenciespropertycreateId readonly createId: (): stringpropertyevaluators readonly evaluators: DataValidationEvaluatorRegistrypropertyinputValidation readonly inputValidation: SheetCellInputValidationRegistrypropertyreadSourceValues readonly readSourceValues?: (start: readonly [number, number], end: readonly [number, number]): readonly string[]propertyreadValue readonly readValue?: (row: number, column: number): unknownpropertyrequestRender readonly requestRender?: (): void - interfaceSheetDataValidationPluginStatesource ↗
-
interface SheetDataValidationPluginStatepropertydataValidations readonly dataValidations: DataValidationMatrix - typeDataValidationDropdownModesource ↗
-
type DataValidationDropdownMode = typeof DataValidationDropdownMode[keyof typeof DataValidationDropdownMode]Dropdown selection mode stored with a rule.
- typeDataValidationExternalEvaluatorsource ↗
-
type DataValidationExternalEvaluator = (condition: DataValidationCondition, text: string, row: number, column: number): boolean | null - typeDataValidationInputPolicysource ↗
-
type DataValidationInputPolicy = typeof DataValidationInputPolicy[keyof typeof DataValidationInputPolicy]Invalid input policy stored with a rule.
- typeDataValidationKindsource ↗
-
type DataValidationKind = typeof DataValidationKind[keyof typeof DataValidationKind]One supported validation value family.
- typeDataValidationOperatorsource ↗
-
type DataValidationOperator = typeof DataValidationOperator[keyof typeof DataValidationOperator]One comparison operator for a validation condition.
- typeDataValidationTextModesource ↗
-
type DataValidationTextMode = typeof DataValidationTextMode[keyof typeof DataValidationTextMode]Text comparison mode stored with a rule.
- variableClearDataValidationRulesCommandsource ↗
-
ClearDataValidationRulesCommand: SheetCommandDefinition<{ range?: SheetRangeInput }, SheetCommandResult>Removes every rule, or only rule fragments within a range.
- variableDataValidationDropdownModesource ↗
-
DataValidationDropdownMode: { Multiple: "multiple"; Single: "single" }Selection modes for dropdown validation.
- variableDataValidationEvaluatorRegistryCapabilitysource ↗
-
DataValidationEvaluatorRegistryCapability: RuntimeCapability<DataValidationEvaluatorRegistry> - variableDataValidationInputPolicysource ↗
-
DataValidationInputPolicy: { Reject: "reject"; Warn: "warn" }Action to take when an entered value does not satisfy a rule.
- variableDataValidationKindsource ↗
-
DataValidationKind: { Attachment: "attachment"; Checkbox: "checkbox"; Date: "date"; Document: "document"; Dropdown: "dropdown"; Formula: "formula"; IdentityCard: "identityCard"; Image: "image"; … }Supported validation value families.
- variableDataValidationOperatorsource ↗
-
DataValidationOperator: { Between: "between"; Contains: "contains"; EndsWith: "endsWith"; Equal: "equal"; Greater: "greater"; GreaterOrEqual: "greaterOrEqual"; Less: "less"; LessOrEqual: "lessOrEqual"; … }Comparison operators shared by numeric, date, and text validation.
- variableDataValidationTextModesource ↗
-
DataValidationTextMode: { Content: "content"; Length: "length" }Whether text validation compares content or character count.
- variableDataValidationWarningObservationsource ↗
-
DataValidationWarningObservation: EventObservationDefinition<DataValidationWarning> - variableReadDataValidationCellRulesQuerysource ↗
-
ReadDataValidationCellRulesQuery: SheetQueryDefinition<readonly [number, number], readonly PositionedDataValidationRule[]>Reads the rules that cover one cell.
- variableReadDataValidationIssueQuerysource ↗
-
ReadDataValidationIssueQuery: SheetQueryDefinition<readonly [number, number], DataValidationIssue | null>Reads a definite validation failure for the current value of one cell.
- variableReadDataValidationRulesQuerysource ↗
-
ReadDataValidationRulesQuery: SheetQueryDefinition<void, readonly PositionedDataValidationRule[]>Reads all persisted validation rules and their range anchors.
- variableRemoveDataValidationRuleCommandsource ↗
-
RemoveDataValidationRuleCommand: SheetCommandDefinition<{ id: string }, SheetCommandResult>Removes a rule by its stable identifier.
- variableSetDataValidationRuleCommandsource ↗
-
SetDataValidationRuleCommand: SheetCommandDefinition<SetDataValidationRuleInput, SheetCommandResult>Creates or updates a validation rule for a sheet range.
- variableSheetDataValidationFieldKeysource ↗
-
SheetDataValidationFieldKey: "sheet.dataValidation"Sheet data-view field contributed by the validation plugin.
- variableUnregisterDataValidationEvaluatorCommandsource ↗
-
UnregisterDataValidationEvaluatorCommand: SheetCommandDefinition<number, SheetCommandResult>Removes one editor-local external data-validation evaluator.
- functionevaluateDataValidationsource ↗
-
evaluateDataValidation(condition: DataValidationCondition, text: string, context: DataValidationEvaluationContext): boolean | nullReturns null when a host-owned value type has no evaluator. Empty input is allowed.
condition: DataValidationConditiontext: stringcontext: DataValidationEvaluationContext
- functionformatDropdownSelectionsource ↗
-
formatDropdownSelection(values: readonly string[]): stringSerializes labels without losing embedded commas, quotes or surrounding spaces.
values: readonly string[]
- functionparseDropdownSelectionsource ↗
-
parseDropdownSelection(text: string): string[]Reads comma-separated labels with doubled-quote escaping; malformed input remains a single literal.
text: string
- functionreadSheetDataValidationssource ↗
-
readSheetDataValidations(dataEngine: DataEngine): DataValidationMatrix | nullReads the current validation matrix from the sheet data view.
dataEngine: DataEngine
No public exports match that search.