@univerjs/sheets-data-validation
Package Name |
UMD Namespace |
Version |
License |
Downloads |
Contains CSS |
Contains i18n locales |
@univerjs/sheets-data-validation |
UniverSheetsDataValidation |
|
|
|
⭕️ |
⭕️ |
@univerjs/sheets-data-validation
provides full capabilities for Univer Sheet data validation, including panel capabilities.
# Using npm
npm i @univerjs/sheets-data-validation
# Using pnpm
pnpm add
import type { IWorkbookData } from '@univerjs/core';
import { DataValidationType, ICommandService, LocaleType, Univer, UniverInstanceType } from '@univerjs/core';
import { UniverDataValidationPlugin } from '@univerjs/data-validation';
import {
DATA_VALIDATION_PLUGIN_NAME,
UniverSheetsDataValidationPlugin,
} from '@univerjs/sheets-data-validation';
univer.registerPlugin(UniverDataValidationPlugin);
univer.registerPlugin(UniverSheetsDataValidationPlugin);
// initial data validation
// dentation: https://github.com/dream-num/univer/blob/dev/packages/core/src/types/interfaces/i-data-validation.ts#L48
const dataValidation = [
{
uid: 'xxx-2',
type: DataValidationType.CHECKBOX,
ranges: [{
startRow: 6,
endRow: 10,
startColumn: 0,
endColumn: 5,
}],
},
];
export const DEFAULT_WORKBOOK_DATA_DEMO: IWorkbookData = {
id: 'workbook-01',
locale: LocaleType.ZH_CN,
name: 'UniverSheet Demo',
resources: [{
name: DATA_VALIDATION_PLUGIN_NAME,
data: JSON.stringify({
'sheetId-1': dataValidation,
}),
}],
// ...
};
// load initial snapshot
univer.createUnit(UniverInstanceType.UNIVER_SHEET, DEFAULT_WORKBOOK_DATA_DEMO);
// Commands and Command params for sheet-data-validation management
import type {
IAddSheetDataValidationCommandParams,
IRemoveSheetDataValidationCommandParams,
IUpdateSheetDataValidationOptionsCommandParams,
IUpdateSheetDataValidationRangeCommandParams,
IUpdateSheetDataValidationSettingCommandParams,
} from '@univerjs/sheets-data-validation';
import {
AddSheetDataValidationCommand,
DATA_VALIDATION_PLUGIN_NAME,
RemoveSheetDataValidationCommand,
UniverSheetsDataValidationPlugin,
UpdateSheetDataValidationOptionsCommand,
UpdateSheetDataValidationRangeCommand,
UpdateSheetDataValidationSettingCommand,
// internal service
SheetsDataValidationValidatorService
} from '@univerjs/sheets-data-validation';
// eg. Add data validation from command
const commandService = univer.__getInjector().get(ICommandService);
commandService.executeCommand(AddSheetDataValidationCommand.id, {
unitId: 'unitId',
subUnitId: 'subUnitId',
rule: {
uid: 'xxx-2',
type: DataValidationType.CHECKBOX,
ranges: [{
startRow: 6,
endRow: 10,
startColumn: 0,
endColumn: 5,
}],
},
} as IAddSheetDataValidationCommandParams);
// Using internal service Such as validator
const sheetsDataValidationValidatorService = univer.__getInjector().get(SheetsDataValidationValidatorService);
sheetsDataValidationValidatorService.validatorWorksheet('unitId', 'sheetId')