@univerjs/sheets-data-validation 0.4.0-alpha.1 → 0.4.0-experimental.d7288c0-20241017

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export { DATA_VALIDATION_PLUGIN_NAME } from './common/const';
17
- export { SheetDataValidationModel } from './models/sheet-data-validation-model';
17
+ export { type IValidStatusChange, SheetDataValidationModel } from './models/sheet-data-validation-model';
18
18
  export { UniverSheetsDataValidationPlugin } from './plugin';
19
19
  export { DataValidationCacheService } from './services/dv-cache.service';
20
20
  export type { IDataValidationResCache } from './services/dv-cache.service';
@@ -30,5 +30,4 @@ export { DateValidator } from './validators/date-validator';
30
30
  export { CHECKBOX_FORMULA_1, CHECKBOX_FORMULA_2, CheckboxValidator, transformCheckboxValue } from './validators/checkbox-validator';
31
31
  export { ListMultipleValidator } from './validators/list-multiple-validator';
32
32
  export { deserializeListOptions, getDataValidationCellValue, serializeListOptions } from './validators/util';
33
- export { DataValidationModel } from '@univerjs/data-validation';
34
33
  export { AddSheetDataValidationCommand, ClearRangeDataValidationCommand, getDataValidationDiffMutations, type IAddSheetDataValidationCommandParams, type IClearRangeDataValidationCommandParams, type IRemoveSheetAllDataValidationCommandParams, type IRemoveSheetDataValidationCommandParams, type IUpdateSheetDataValidationOptionsCommandParams, type IUpdateSheetDataValidationRangeCommandParams, type IUpdateSheetDataValidationSettingCommandParams, RemoveSheetAllDataValidationCommand, RemoveSheetDataValidationCommand, UpdateSheetDataValidationOptionsCommand, UpdateSheetDataValidationRangeCommand, UpdateSheetDataValidationSettingCommand, } from './commands/commands/data-validation.command';
@@ -1,10 +1,18 @@
1
- import { DataValidationType, ICellDataForSheetInterceptor, ISheetDataValidationRule, Nullable, DataValidationStatus, Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
2
- import { IRuleChange, IValidStatusChange, DataValidationModel, DataValidatorRegistryService } from '@univerjs/data-validation';
1
+ import { ISheetDataValidationRule, DataValidationStatus, DataValidationType, Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
2
+ import { IRuleChange, DataValidationModel, DataValidatorRegistryService } from '@univerjs/data-validation';
3
3
  import { ISheetLocation } from '@univerjs/sheets';
4
4
  import { DataValidationCacheService } from '../services/dv-cache.service';
5
5
  import { DataValidationCustomFormulaService } from '../services/dv-custom-formula.service';
6
6
  import { DataValidationFormulaService } from '../services/dv-formula.service';
7
7
  import { RuleMatrix } from './rule-matrix';
8
+ export interface IValidStatusChange {
9
+ unitId: string;
10
+ subUnitId: string;
11
+ row: number;
12
+ col: number;
13
+ ruleId: string;
14
+ status: DataValidationStatus;
15
+ }
8
16
  export declare class SheetDataValidationModel extends Disposable {
9
17
  private readonly _dataValidationModel;
10
18
  private readonly _univerInstanceService;
@@ -29,7 +37,7 @@ export declare class SheetDataValidationModel extends Disposable {
29
37
  getValidator(type: DataValidationType): import('@univerjs/data-validation').BaseDataValidator<import('@univerjs/core').CellValue> | undefined;
30
38
  getRuleIdByLocation(unitId: string, subUnitId: string, row: number, col: number): string | undefined;
31
39
  getRuleByLocation(unitId: string, subUnitId: string, row: number, col: number): ISheetDataValidationRule | undefined;
32
- validator(cell: Nullable<ICellDataForSheetInterceptor>, rule: ISheetDataValidationRule, pos: ISheetLocation, _onCompete?: (status: DataValidationStatus, changed: boolean) => void): DataValidationStatus;
40
+ validator(rule: ISheetDataValidationRule, pos: ISheetLocation, _onCompete?: (status: DataValidationStatus, changed: boolean) => void): DataValidationStatus;
33
41
  getRuleErrorMsg(unitId: string, subUnitId: string, ruleId: string): string;
34
42
  getRuleObjectMatrix(unitId: string, subUnitId: string): RuleMatrix;
35
43
  getRuleById(unitId: string, subUnitId: string, ruleId: string): ISheetDataValidationRule | undefined;
@@ -1,13 +1,24 @@
1
- import { ObjectMatrix, CellValue, DataValidationStatus, IRange, ISheetDataValidationRule, Nullable } from '@univerjs/core';
1
+ import { CellValue, DataValidationStatus, IRange, ISheetDataValidationRule, Nullable, Disposable, ICommandService, ObjectMatrix } from '@univerjs/core';
2
2
  export interface IDataValidationResCache {
3
3
  value: Nullable<CellValue>;
4
4
  interceptValue: Nullable<CellValue>;
5
5
  status: DataValidationStatus;
6
6
  ruleId: string;
7
7
  temp?: boolean;
8
+ formula1: string;
9
+ formula2: string;
8
10
  }
9
- export declare class DataValidationCacheService {
11
+ export declare class DataValidationCacheService extends Disposable {
12
+ private readonly _commandService;
10
13
  private _cacheMatrix;
14
+ private _dirtyRanges$;
15
+ readonly dirtyRanges$: import('rxjs').Observable<{
16
+ unitId: string;
17
+ subUnitId: string;
18
+ ranges: IRange[];
19
+ }>;
20
+ constructor(_commandService: ICommandService);
21
+ private _initDirtyRanges;
11
22
  private _ensureCache;
12
23
  ensureCache(unitId: string, subUnitId: string): ObjectMatrix<Nullable<IDataValidationResCache>>;
13
24
  addRule(unitId: string, subUnitId: string, rule: ISheetDataValidationRule): void;
@@ -1,4 +1,4 @@
1
- import { Disposable, ILogService, IUniverInstanceService, IRange, ISheetDataValidationRule } from '@univerjs/core';
1
+ import { IRange, ISheetDataValidationRule, Disposable, Injector, IUniverInstanceService } from '@univerjs/core';
2
2
  import { DataValidationModel } from '@univerjs/data-validation';
3
3
  import { LexerTreeBuilder } from '@univerjs/engine-formula';
4
4
  import { RegisterOtherFormulaService } from '@univerjs/sheets-formula';
@@ -16,7 +16,7 @@ export declare class DataValidationCustomFormulaService extends Disposable {
16
16
  private _lexerTreeBuilder;
17
17
  private readonly _dataValidationModel;
18
18
  private readonly _dataValidationCacheService;
19
- private readonly _logService;
19
+ private readonly _injector;
20
20
  private _formulaMap;
21
21
  /**
22
22
  * Map of origin formula of rule
@@ -26,7 +26,7 @@ export declare class DataValidationCustomFormulaService extends Disposable {
26
26
  * reflect of formulaId to cell, only store transformable formula
27
27
  */
28
28
  private _formulaCellMap;
29
- constructor(_instanceSrv: IUniverInstanceService, _registerOtherFormulaService: RegisterOtherFormulaService, _lexerTreeBuilder: LexerTreeBuilder, _dataValidationModel: DataValidationModel, _dataValidationCacheService: DataValidationCacheService, _logService: ILogService);
29
+ constructor(_instanceSrv: IUniverInstanceService, _registerOtherFormulaService: RegisterOtherFormulaService, _lexerTreeBuilder: LexerTreeBuilder, _dataValidationModel: DataValidationModel, _dataValidationCacheService: DataValidationCacheService, _injector: Injector);
30
30
  private _initFormulaResultHandler;
31
31
  private _ensureMaps;
32
32
  private _registerFormula;
@@ -1,6 +1,6 @@
1
- import { Disposable, IUniverInstanceService, Nullable } from '@univerjs/core';
1
+ import { Nullable, Disposable, IUniverInstanceService } from '@univerjs/core';
2
+ import { IFormulaInfo, IOtherFormulaResult, RegisterOtherFormulaService } from '@univerjs/sheets-formula';
2
3
  import { DataValidationModel } from '@univerjs/data-validation';
3
- import { RegisterOtherFormulaService, IFormulaInfo, IOtherFormulaResult } from '@univerjs/sheets-formula';
4
4
  import { DataValidationCacheService } from './dv-cache.service';
5
5
  export declare class DataValidationFormulaService extends Disposable {
6
6
  private readonly _instanceService;
@@ -1,11 +1,13 @@
1
- import { DataValidationStatus, IUniverInstanceService, IDataValidationRule, IRange, Nullable, ObjectMatrix } from '@univerjs/core';
1
+ import { IDataValidationRule, IRange, Nullable, ObjectMatrix, DataValidationStatus, Disposable, IUniverInstanceService, LifecycleService } from '@univerjs/core';
2
+ import { IDataValidationResCache, DataValidationCacheService } from './dv-cache.service';
2
3
  import { SheetDataValidationModel } from '../models/sheet-data-validation-model';
3
- import { DataValidationCacheService, IDataValidationResCache } from './dv-cache.service';
4
- export declare class SheetsDataValidationValidatorService {
4
+ export declare class SheetsDataValidationValidatorService extends Disposable {
5
5
  private readonly _univerInstanceService;
6
6
  private readonly _sheetDataValidationModel;
7
7
  private readonly _dataValidationCacheService;
8
- constructor(_univerInstanceService: IUniverInstanceService, _sheetDataValidationModel: SheetDataValidationModel, _dataValidationCacheService: DataValidationCacheService);
8
+ private readonly _lifecycleService;
9
+ constructor(_univerInstanceService: IUniverInstanceService, _sheetDataValidationModel: SheetDataValidationModel, _dataValidationCacheService: DataValidationCacheService, _lifecycleService: LifecycleService);
10
+ private _initRecalculate;
9
11
  validatorCell(unitId: string, subUnitId: string, row: number, col: number): Promise<DataValidationStatus>;
10
12
  validatorRanges(unitId: string, subUnitId: string, ranges: IRange[]): Promise<Promise<DataValidationStatus>[][]>;
11
13
  validatorWorksheet(unitId: string, subUnitId: string): Promise<ObjectMatrix<Nullable<IDataValidationResCache>>>;