zhaojinyu e984acc6d0 first commit пре 10 месеци
..
lib e984acc6d0 first commit пре 10 месеци
LICENSE e984acc6d0 first commit пре 10 месеци
README.md e984acc6d0 first commit пре 10 месеци
package.json e984acc6d0 first commit пре 10 месеци

README.md

@univerjs/sheets-data-validation

Package Overview

Package Name UMD Namespace Version License Downloads Contains CSS Contains i18n locales
@univerjs/sheets-data-validation UniverSheetsDataValidation ️❌ ❌️

Introduction

@univerjs/sheets-data-validation provides full capabilities for Univer Sheet data validation.

Usage

Installation

# Using npm
npm i @univerjs/sheets-data-validation

# Using pnpm
pnpm add

Register the plugin

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);

API

// 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')