@univerjs/data-validation 0.3.0-alpha.1 → 0.3.0-nightly.202410101606

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.
package/lib/es/index.js CHANGED
@@ -1,671 +1 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
- var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
- import { Disposable, Tools, ILogService, OnLifecycle, LifecycleStages, Inject, UniverInstanceType, IResourceManagerService, IUniverInstanceService, toDisposable, CommandType, ICommandService, IUndoRedoService, Plugin, Injector, IConfigService, DataValidationOperator, LocaleService } from "@univerjs/core";
6
- import { Subject, debounceTime, BehaviorSubject } from "rxjs";
7
- function getRuleSetting(rule) {
8
- return {
9
- type: rule.type,
10
- operator: rule.operator,
11
- formula1: rule.formula1,
12
- formula2: rule.formula2,
13
- allowBlank: rule.allowBlank
14
- };
15
- }
16
- __name(getRuleSetting, "getRuleSetting");
17
- function getRuleOptions(rule) {
18
- return {
19
- error: rule.error,
20
- errorStyle: rule.errorStyle,
21
- errorTitle: rule.errorTitle,
22
- imeMode: rule.imeMode,
23
- prompt: rule.prompt,
24
- promptTitle: rule.promptTitle,
25
- showDropDown: rule.showDropDown,
26
- showErrorMessage: rule.showErrorMessage,
27
- showInputMessage: rule.showInputMessage,
28
- renderMode: rule.renderMode,
29
- bizInfo: rule.bizInfo
30
- };
31
- }
32
- __name(getRuleOptions, "getRuleOptions");
33
- var UpdateRuleType = /* @__PURE__ */ ((UpdateRuleType2) => (UpdateRuleType2[UpdateRuleType2.SETTING = 0] = "SETTING", UpdateRuleType2[UpdateRuleType2.RANGE = 1] = "RANGE", UpdateRuleType2[UpdateRuleType2.OPTIONS = 2] = "OPTIONS", UpdateRuleType2))(UpdateRuleType || {}), __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
34
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
35
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
36
- return kind && result && __defProp$3(target, key, result), result;
37
- }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a;
38
- let DataValidationModel = (_a = class extends Disposable {
39
- constructor(_logService) {
40
- super();
41
- __publicField(this, "_model", /* @__PURE__ */ new Map());
42
- __publicField(this, "_ruleChange$", new Subject());
43
- __publicField(this, "ruleChange$", this._ruleChange$.asObservable());
44
- __publicField(this, "ruleChangeDebounce$", this.ruleChange$.pipe(debounceTime(20)));
45
- this._logService = _logService, this.disposeWithMe({
46
- dispose: /* @__PURE__ */ __name(() => {
47
- this._ruleChange$.complete();
48
- }, "dispose")
49
- });
50
- }
51
- _ensureMap(unitId, subUnitId) {
52
- this._model.has(unitId) || this._model.set(unitId, /* @__PURE__ */ new Map());
53
- const unitMap = this._model.get(unitId);
54
- if (unitMap.has(subUnitId))
55
- return unitMap.get(subUnitId);
56
- const map = { map: /* @__PURE__ */ new Map(), list: [] };
57
- return unitMap.set(subUnitId, map), map;
58
- }
59
- _addSubUnitRule(subUnit, rule, index) {
60
- const { map: dataValidationMap, list: dataValidations } = subUnit, rules = (Array.isArray(rule) ? rule : [rule]).filter((item) => !dataValidationMap.has(item.uid));
61
- typeof index == "number" && index < dataValidations.length ? dataValidations.splice(index, 0, ...rules) : dataValidations.push(...rules), rules.forEach((item) => {
62
- dataValidationMap.set(item.uid, item);
63
- });
64
- }
65
- _removeSubUnitRule(subUnit, ruleId) {
66
- const { map: dataValidationMap, list: dataValidations } = subUnit, index = dataValidations.findIndex((item) => item.uid === ruleId);
67
- index > -1 && (dataValidations.splice(index, 1), dataValidationMap.delete(ruleId));
68
- }
69
- _updateSubUnitRule(subUnit, ruleId, payload) {
70
- const { map: dataValidationMap, list: dataValidations } = subUnit, oldRule = dataValidationMap.get(ruleId), index = dataValidations.findIndex((rule2) => ruleId === rule2.uid);
71
- if (!oldRule)
72
- throw new Error(`Data validation rule is not found, ruleId: ${ruleId}.`);
73
- const rule = { ...oldRule };
74
- switch (payload.type) {
75
- case UpdateRuleType.RANGE: {
76
- rule.ranges = payload.payload;
77
- break;
78
- }
79
- case UpdateRuleType.SETTING: {
80
- Object.assign(rule, getRuleSetting(payload.payload));
81
- break;
82
- }
83
- case UpdateRuleType.OPTIONS: {
84
- Object.assign(rule, getRuleOptions(payload.payload));
85
- break;
86
- }
87
- }
88
- return dataValidations[index] = rule, dataValidationMap.set(ruleId, rule), rule;
89
- }
90
- _addRuleSideEffect(unitId, subUnitId, rule, source) {
91
- if (!this._ensureMap(unitId, subUnitId).map.get(rule.uid))
92
- return {
93
- rule,
94
- type: "add",
95
- unitId,
96
- subUnitId,
97
- source
98
- };
99
- }
100
- addRule(unitId, subUnitId, rule, source, index) {
101
- try {
102
- const subUnitMap = this._ensureMap(unitId, subUnitId), effects = (Array.isArray(rule) ? rule : [rule]).map((item) => this._addRuleSideEffect(unitId, subUnitId, item, source));
103
- this._addSubUnitRule(subUnitMap, rule, index), effects.forEach((effect) => {
104
- effect && this._ruleChange$.next(effect);
105
- });
106
- } catch (error) {
107
- this._logService.error(error);
108
- }
109
- }
110
- updateRule(unitId, subUnitId, ruleId, payload, source) {
111
- try {
112
- const subUnitMap = this._ensureMap(unitId, subUnitId), oldRule = Tools.deepClone(subUnitMap.map.get(ruleId));
113
- if (!oldRule)
114
- throw new Error(`Data validation rule is not found, ruleId: ${ruleId}.`);
115
- const rule = this._updateSubUnitRule(subUnitMap, ruleId, payload);
116
- this._ruleChange$.next({
117
- rule,
118
- type: "update",
119
- unitId,
120
- subUnitId,
121
- source,
122
- updatePayload: payload,
123
- oldRule
124
- });
125
- } catch (error) {
126
- this._logService.error(error);
127
- }
128
- }
129
- removeRule(unitId, subUnitId, ruleId, source) {
130
- try {
131
- const map = this._ensureMap(unitId, subUnitId), oldRule = map.map.get(ruleId);
132
- oldRule && (this._removeSubUnitRule(map, ruleId), this._ruleChange$.next({
133
- rule: oldRule,
134
- type: "remove",
135
- unitId,
136
- subUnitId,
137
- source
138
- }));
139
- } catch (error) {
140
- this._logService.error(error);
141
- }
142
- }
143
- getRuleById(unitId, subUnitId, ruleId) {
144
- return this._ensureMap(unitId, subUnitId).map.get(ruleId);
145
- }
146
- getRuleIndex(unitId, subUnitId, ruleId) {
147
- return this._ensureMap(unitId, subUnitId).list.findIndex((rule) => rule.uid === ruleId);
148
- }
149
- getRules(unitId, subUnitId) {
150
- return [...this._ensureMap(unitId, subUnitId).list];
151
- }
152
- getUnitRules(unitId) {
153
- const unitMap = this._model.get(unitId);
154
- if (!unitMap)
155
- return [];
156
- const res = [];
157
- return unitMap.forEach((manager, subUnitId) => {
158
- res.push([subUnitId, manager.list]);
159
- }), res;
160
- }
161
- deleteUnitRules(unitId) {
162
- this._model.delete(unitId);
163
- }
164
- getSubUnitIds(unitId) {
165
- var _a5, _b;
166
- return Array.from((_b = (_a5 = this._model.get(unitId)) == null ? void 0 : _a5.keys()) != null ? _b : []);
167
- }
168
- getAll() {
169
- return Array.from(this._model.keys()).map((unitId) => [unitId, this.getUnitRules(unitId)]);
170
- }
171
- }, __name(_a, "DataValidationModel"), _a);
172
- DataValidationModel = __decorateClass$3([
173
- __decorateParam$3(0, ILogService)
174
- ], DataValidationModel);
175
- var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
176
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
177
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
178
- return kind && result && __defProp$2(target, key, result), result;
179
- }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2");
180
- const DATA_VALIDATION_PLUGIN_NAME = "SHEET_DATA_VALIDATION_PLUGIN";
181
- var _a2;
182
- let DataValidationResourceController = (_a2 = class extends Disposable {
183
- constructor(_resourceManagerService, _univerInstanceService, _dataValidationModel) {
184
- super(), this._resourceManagerService = _resourceManagerService, this._univerInstanceService = _univerInstanceService, this._dataValidationModel = _dataValidationModel, this._initSnapshot();
185
- }
186
- _initSnapshot() {
187
- const toJson = /* @__PURE__ */ __name((unitID) => {
188
- const map = this._dataValidationModel.getUnitRules(unitID), resultMap = {};
189
- return map ? (map.forEach(([key, v]) => {
190
- resultMap[key] = v;
191
- }), JSON.stringify(resultMap)) : "";
192
- }, "toJson"), parseJson = /* @__PURE__ */ __name((json) => {
193
- if (!json)
194
- return {};
195
- try {
196
- return JSON.parse(json);
197
- } catch {
198
- return {};
199
- }
200
- }, "parseJson");
201
- this.disposeWithMe(
202
- this._resourceManagerService.registerPluginResource({
203
- pluginName: DATA_VALIDATION_PLUGIN_NAME,
204
- businesses: [UniverInstanceType.UNIVER_SHEET],
205
- toJson: /* @__PURE__ */ __name((unitID) => toJson(unitID), "toJson"),
206
- parseJson: /* @__PURE__ */ __name((json) => parseJson(json), "parseJson"),
207
- onUnLoad: /* @__PURE__ */ __name((unitID) => {
208
- this._dataValidationModel.deleteUnitRules(unitID);
209
- }, "onUnLoad"),
210
- onLoad: /* @__PURE__ */ __name((unitID, value) => {
211
- Object.keys(value).forEach((subunitId) => {
212
- value[subunitId].forEach((rule) => {
213
- this._dataValidationModel.addRule(unitID, subunitId, rule, "patched");
214
- });
215
- });
216
- }, "onLoad")
217
- })
218
- );
219
- }
220
- }, __name(_a2, "DataValidationResourceController"), _a2);
221
- DataValidationResourceController = __decorateClass$2([
222
- OnLifecycle(LifecycleStages.Ready, DataValidationResourceController),
223
- __decorateParam$2(0, IResourceManagerService),
224
- __decorateParam$2(1, IUniverInstanceService),
225
- __decorateParam$2(2, Inject(DataValidationModel))
226
- ], DataValidationResourceController);
227
- var DataValidatorRegistryScope = /* @__PURE__ */ ((DataValidatorRegistryScope2) => (DataValidatorRegistryScope2.SHEET = "sheet", DataValidatorRegistryScope2))(DataValidatorRegistryScope || {});
228
- const _DataValidatorRegistryService = class _DataValidatorRegistryService {
229
- constructor() {
230
- __publicField(this, "_validatorByScopes", /* @__PURE__ */ new Map());
231
- __publicField(this, "_validatorMap", /* @__PURE__ */ new Map());
232
- __publicField(this, "_validatorsChange$", new BehaviorSubject(void 0));
233
- __publicField(this, "validatorsChange$", this._validatorsChange$.asObservable());
234
- }
235
- _addValidatorToScope(validator, scope) {
236
- this._validatorByScopes.has(scope) || this._validatorByScopes.set(scope, []);
237
- const validators = this._validatorByScopes.get(scope);
238
- if (validators.findIndex((m) => m.id === validator.id) > -1)
239
- throw new Error(`Validator item with the same id ${validator.id} has already been added!`);
240
- validators.push(validator);
241
- }
242
- _removeValidatorFromScope(validator, scope) {
243
- const validators = this._validatorByScopes.get(scope);
244
- if (!validators)
245
- return;
246
- const index = validators.findIndex((v) => v.id === validator.id);
247
- index > -1 && validators.splice(index, 1);
248
- }
249
- register(validator) {
250
- return this._validatorMap.set(validator.id, validator), Array.isArray(validator.scopes) ? validator.scopes.forEach((scope) => {
251
- this._addValidatorToScope(validator, scope);
252
- }) : this._addValidatorToScope(validator, validator.scopes), this._validatorsChange$.next(), toDisposable(() => {
253
- this._validatorMap.delete(validator.id), Array.isArray(validator.scopes) ? validator.scopes.forEach((scope) => {
254
- this._removeValidatorFromScope(validator, scope);
255
- }) : this._removeValidatorFromScope(validator, validator.scopes), this._validatorsChange$.next();
256
- });
257
- }
258
- getValidatorItem(id) {
259
- return this._validatorMap.get(id);
260
- }
261
- getValidatorsByScope(scope) {
262
- return this._validatorByScopes.get(scope);
263
- }
264
- };
265
- __name(_DataValidatorRegistryService, "DataValidatorRegistryService");
266
- let DataValidatorRegistryService = _DataValidatorRegistryService;
267
- const AddDataValidationMutation = {
268
- type: CommandType.MUTATION,
269
- id: "data-validation.mutation.addRule",
270
- handler(accessor, params) {
271
- if (!params)
272
- return !1;
273
- const { unitId, subUnitId, rule, index, source = "command" } = params;
274
- return accessor.get(DataValidationModel).addRule(unitId, subUnitId, rule, source, index), !0;
275
- }
276
- }, RemoveDataValidationMutation = {
277
- type: CommandType.MUTATION,
278
- id: "data-validation.mutation.removeRule",
279
- handler(accessor, params) {
280
- if (!params)
281
- return !1;
282
- const { unitId, subUnitId, ruleId, source = "command" } = params, dataValidationModel = accessor.get(DataValidationModel);
283
- return Array.isArray(ruleId) ? ruleId.forEach((item) => {
284
- dataValidationModel.removeRule(unitId, subUnitId, item, source);
285
- }) : dataValidationModel.removeRule(unitId, subUnitId, ruleId, source), !0;
286
- }
287
- }, UpdateDataValidationMutation = {
288
- type: CommandType.MUTATION,
289
- id: "data-validation.mutation.updateRule",
290
- handler(accessor, params) {
291
- if (!params)
292
- return !1;
293
- const { unitId, subUnitId, ruleId, payload, source = "command" } = params;
294
- return accessor.get(DataValidationModel).updateRule(unitId, subUnitId, ruleId, payload, source), !0;
295
- }
296
- }, AddDataValidationCommand = {
297
- type: CommandType.COMMAND,
298
- id: "data-validation.command.addRule",
299
- async handler(accessor, params) {
300
- if (accessor.get(ILogService).error("[Deprecated]: `AddDataValidationCommand` is deprecated, please use `AddSheetDataValidationCommand` in `@univerjs/sheets-data-validation` instead!"), !params)
301
- return !1;
302
- const { rule, unitId, subUnitId } = params, commandService = accessor.get(ICommandService), undoRedoService = accessor.get(IUndoRedoService), mutationParams = {
303
- ...params,
304
- rule: {
305
- ...params.rule,
306
- ranges: [params.rule.range]
307
- }
308
- }, redoMutations = [{
309
- id: AddDataValidationMutation.id,
310
- params: mutationParams
311
- }], undoMutations = [{
312
- id: RemoveDataValidationMutation.id,
313
- params: {
314
- unitId,
315
- subUnitId,
316
- ruleId: rule.uid
317
- }
318
- }];
319
- return undoRedoService.pushUndoRedo({
320
- unitID: unitId,
321
- redoMutations,
322
- undoMutations
323
- }), await commandService.executeCommand(AddDataValidationMutation.id, mutationParams), !0;
324
- }
325
- }, RemoveDataValidationCommand = {
326
- type: CommandType.COMMAND,
327
- id: "data-validation.command.removeRule",
328
- handler(accessor, params) {
329
- if (accessor.get(ILogService).error("[Deprecated]: `RemoveDataValidationCommand` is deprecated, please use `RemoveSheetDataValidationCommand` in `@univerjs/sheets-data-validation` instead!"), !params)
330
- return !1;
331
- const { unitId, subUnitId, ruleId } = params, commandService = accessor.get(ICommandService), undoRedoService = accessor.get(IUndoRedoService), dataValidationModel = accessor.get(DataValidationModel), redoMutations = [{
332
- id: RemoveDataValidationMutation.id,
333
- params
334
- }], undoMutations = [{
335
- id: AddDataValidationMutation.id,
336
- params: {
337
- unitId,
338
- subUnitId,
339
- rule: {
340
- ...dataValidationModel.getRuleById(unitId, subUnitId, ruleId)
341
- },
342
- index: dataValidationModel.getRuleIndex(unitId, subUnitId, ruleId)
343
- }
344
- }];
345
- return undoRedoService.pushUndoRedo({
346
- undoMutations,
347
- redoMutations,
348
- unitID: params.unitId
349
- }), commandService.executeCommand(RemoveDataValidationMutation.id, params), !0;
350
- }
351
- }, UpdateDataValidationOptionsCommand = {
352
- type: CommandType.COMMAND,
353
- id: "data-validation.command.updateDataValidationSetting",
354
- handler(accessor, params) {
355
- if (accessor.get(ILogService).warn("[Deprecated]: `UpdateDataValidationOptionsCommand` is deprecated, please use `UpdateSheetDataValidationOptionsCommand` in `@univerjs/sheets-data-validation` instead!"), !params)
356
- return !1;
357
- const commandService = accessor.get(ICommandService), redoUndoService = accessor.get(IUndoRedoService), dataValidationModel = accessor.get(DataValidationModel), { unitId, subUnitId, ruleId, options } = params, rule = dataValidationModel.getRuleById(unitId, subUnitId, ruleId);
358
- if (!rule)
359
- return !1;
360
- const mutationParams = {
361
- unitId,
362
- subUnitId,
363
- ruleId,
364
- payload: {
365
- type: UpdateRuleType.OPTIONS,
366
- payload: options
367
- }
368
- }, redoMutations = [{
369
- id: UpdateDataValidationMutation.id,
370
- params: mutationParams
371
- }], undoMutationParams = {
372
- unitId,
373
- subUnitId,
374
- ruleId,
375
- payload: {
376
- type: UpdateRuleType.OPTIONS,
377
- payload: getRuleOptions(rule)
378
- }
379
- }, undoMutations = [{
380
- id: UpdateDataValidationMutation.id,
381
- params: undoMutationParams
382
- }];
383
- return redoUndoService.pushUndoRedo({
384
- unitID: unitId,
385
- redoMutations,
386
- undoMutations
387
- }), commandService.executeCommand(UpdateDataValidationMutation.id, mutationParams), !0;
388
- }
389
- }, UpdateDataValidationSettingCommand = {
390
- type: CommandType.COMMAND,
391
- id: "data-validation.command.updateDataValidationOptions",
392
- handler(accessor, params) {
393
- if (accessor.get(ILogService).error("[Deprecated]: `UpdateDataValidationSettingCommand` is deprecated, please use `UpdateSheetDataValidationSettingCommand` in `@univerjs/sheets-data-validation` instead!"), !params)
394
- return !1;
395
- const commandService = accessor.get(ICommandService), redoUndoService = accessor.get(IUndoRedoService), dataValidationModel = accessor.get(DataValidationModel), dataValidatorRegistryService = accessor.get(DataValidatorRegistryService), { unitId, subUnitId, ruleId, setting } = params, validator = dataValidatorRegistryService.getValidatorItem(setting.type);
396
- if (!validator)
397
- return !1;
398
- const rule = dataValidationModel.getRuleById(unitId, subUnitId, ruleId);
399
- if (!rule)
400
- return !1;
401
- const newRule = { ...rule, ...setting };
402
- if (!validator.validatorFormula(newRule, unitId, subUnitId).success)
403
- return !1;
404
- const mutationParams = {
405
- unitId,
406
- subUnitId,
407
- ruleId,
408
- payload: {
409
- type: UpdateRuleType.SETTING,
410
- payload: {
411
- ...setting,
412
- ...validator.normalizeFormula(newRule, unitId, subUnitId)
413
- }
414
- }
415
- }, redoMutations = [{
416
- id: UpdateDataValidationMutation.id,
417
- params: mutationParams
418
- }], undoMutationParams = {
419
- unitId,
420
- subUnitId,
421
- ruleId,
422
- payload: {
423
- type: UpdateRuleType.SETTING,
424
- payload: getRuleSetting(rule)
425
- }
426
- }, undoMutations = [{
427
- id: UpdateDataValidationMutation.id,
428
- params: undoMutationParams
429
- }];
430
- return redoUndoService.pushUndoRedo({
431
- unitID: unitId,
432
- redoMutations,
433
- undoMutations
434
- }), commandService.executeCommand(UpdateDataValidationMutation.id, mutationParams), !0;
435
- }
436
- }, RemoveAllDataValidationCommand = {
437
- type: CommandType.COMMAND,
438
- id: "data-validation.command.removeAll",
439
- handler(accessor, params) {
440
- if (accessor.get(ILogService).error("[Deprecated]: `RemoveAllDataValidationCommand` is deprecated, please use `RemoveSheetAllDataValidationCommand` in `@univerjs/sheets-data-validation` instead!"), !params)
441
- return !1;
442
- const { unitId, subUnitId } = params, commandService = accessor.get(ICommandService), dataValidationModel = accessor.get(DataValidationModel), undoRedoService = accessor.get(IUndoRedoService), currentRules = [...dataValidationModel.getRules(unitId, subUnitId)], redoParams = {
443
- unitId,
444
- subUnitId,
445
- ruleId: currentRules.map((rule) => rule.uid)
446
- }, redoMutations = [{
447
- id: RemoveDataValidationMutation.id,
448
- params: redoParams
449
- }], undoMutations = [{
450
- id: AddDataValidationMutation.id,
451
- params: {
452
- unitId,
453
- subUnitId,
454
- rule: currentRules
455
- }
456
- }];
457
- return undoRedoService.pushUndoRedo({
458
- redoMutations,
459
- undoMutations,
460
- unitID: unitId
461
- }), commandService.executeCommand(RemoveDataValidationMutation.id, redoParams), !0;
462
- }
463
- }, PLUGIN_CONFIG_KEY = "data-validation.config", defaultPluginConfig = {};
464
- var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
465
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
466
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
467
- return kind && result && __defProp$1(target, key, result), result;
468
- }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1");
469
- const PLUGIN_NAME = "UNIVER_DATA_VALIDATION_PLUGIN";
470
- var _a3;
471
- let UniverDataValidationPlugin = (_a3 = class extends Plugin {
472
- constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
473
- super(), this._config = _config, this._injector = _injector, this._commandService = _commandService, this._configService = _configService;
474
- const { ...rest } = this._config;
475
- this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
476
- }
477
- onStarting() {
478
- [
479
- [DataValidationModel],
480
- [DataValidatorRegistryService],
481
- [DataValidationResourceController]
482
- ].forEach((d) => this._injector.add(d)), [
483
- // command
484
- AddDataValidationCommand,
485
- RemoveAllDataValidationCommand,
486
- UpdateDataValidationOptionsCommand,
487
- UpdateDataValidationSettingCommand,
488
- RemoveDataValidationCommand,
489
- // mutation
490
- AddDataValidationMutation,
491
- UpdateDataValidationMutation,
492
- RemoveDataValidationMutation
493
- ].forEach((command) => {
494
- this._commandService.registerCommand(command);
495
- });
496
- }
497
- }, __name(_a3, "UniverDataValidationPlugin"), __publicField(_a3, "pluginName", PLUGIN_NAME), __publicField(_a3, "type", UniverInstanceType.UNIVER_SHEET), _a3);
498
- UniverDataValidationPlugin = __decorateClass$1([
499
- __decorateParam$1(1, Inject(Injector)),
500
- __decorateParam$1(2, ICommandService),
501
- __decorateParam$1(3, IConfigService)
502
- ], UniverDataValidationPlugin);
503
- DataValidationOperator.BETWEEN + "", DataValidationOperator.EQUAL + "", DataValidationOperator.GREATER_THAN + "", DataValidationOperator.GREATER_THAN_OR_EQUAL + "", DataValidationOperator.LESS_THAN + "", DataValidationOperator.LESS_THAN_OR_EQUAL + "", DataValidationOperator.NOT_BETWEEN + "", DataValidationOperator.NOT_EQUAL + "";
504
- const OperatorTitleMap = {
505
- [DataValidationOperator.BETWEEN]: "dataValidation.ruleName.between",
506
- [DataValidationOperator.EQUAL]: "dataValidation.ruleName.equal",
507
- [DataValidationOperator.GREATER_THAN]: "dataValidation.ruleName.greaterThan",
508
- [DataValidationOperator.GREATER_THAN_OR_EQUAL]: "dataValidation.ruleName.greaterThanOrEqual",
509
- [DataValidationOperator.LESS_THAN]: "dataValidation.ruleName.lessThan",
510
- [DataValidationOperator.LESS_THAN_OR_EQUAL]: "dataValidation.ruleName.lessThanOrEqual",
511
- [DataValidationOperator.NOT_BETWEEN]: "dataValidation.ruleName.notBetween",
512
- [DataValidationOperator.NOT_EQUAL]: "dataValidation.ruleName.notEqual"
513
- }, OperatorErrorTitleMap = {
514
- [DataValidationOperator.BETWEEN]: "dataValidation.errorMsg.between",
515
- [DataValidationOperator.EQUAL]: "dataValidation.errorMsg.equal",
516
- [DataValidationOperator.GREATER_THAN]: "dataValidation.errorMsg.greaterThan",
517
- [DataValidationOperator.GREATER_THAN_OR_EQUAL]: "dataValidation.errorMsg.greaterThanOrEqual",
518
- [DataValidationOperator.LESS_THAN]: "dataValidation.errorMsg.lessThan",
519
- [DataValidationOperator.LESS_THAN_OR_EQUAL]: "dataValidation.errorMsg.lessThanOrEqual",
520
- [DataValidationOperator.NOT_BETWEEN]: "dataValidation.errorMsg.notBetween",
521
- [DataValidationOperator.NOT_EQUAL]: "dataValidation.errorMsg.notEqual"
522
- }, TextLengthErrorTitleMap = {
523
- [DataValidationOperator.BETWEEN]: "dataValidation.textLength.errorMsg.between",
524
- [DataValidationOperator.EQUAL]: "dataValidation.textLength.errorMsg.equal",
525
- [DataValidationOperator.GREATER_THAN]: "dataValidation.textLength.errorMsg.greaterThan",
526
- [DataValidationOperator.GREATER_THAN_OR_EQUAL]: "dataValidation.textLength.errorMsg.greaterThanOrEqual",
527
- [DataValidationOperator.LESS_THAN]: "dataValidation.textLength.errorMsg.lessThan",
528
- [DataValidationOperator.LESS_THAN_OR_EQUAL]: "dataValidation.textLength.errorMsg.lessThanOrEqual",
529
- [DataValidationOperator.NOT_BETWEEN]: "dataValidation.textLength.errorMsg.notBetween",
530
- [DataValidationOperator.NOT_EQUAL]: "dataValidation.textLength.errorMsg.notEqual"
531
- }, TWO_FORMULA_OPERATOR_COUNT = [
532
- DataValidationOperator.BETWEEN,
533
- DataValidationOperator.NOT_BETWEEN
534
- ];
535
- var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
536
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
537
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
538
- return kind && result && __defProp2(target, key, result), result;
539
- }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
540
- const FORMULA1 = "{FORMULA1}", FORMULA2 = "{FORMULA2}", operatorNameMap = {
541
- [DataValidationOperator.BETWEEN]: "dataValidation.operators.between",
542
- [DataValidationOperator.EQUAL]: "dataValidation.operators.equal",
543
- [DataValidationOperator.GREATER_THAN]: "dataValidation.operators.greaterThan",
544
- [DataValidationOperator.GREATER_THAN_OR_EQUAL]: "dataValidation.operators.greaterThanOrEqual",
545
- [DataValidationOperator.LESS_THAN]: "dataValidation.operators.lessThan",
546
- [DataValidationOperator.LESS_THAN_OR_EQUAL]: "dataValidation.operators.lessThanOrEqual",
547
- [DataValidationOperator.NOT_BETWEEN]: "dataValidation.operators.notBetween",
548
- [DataValidationOperator.NOT_EQUAL]: "dataValidation.operators.notEqual"
549
- };
550
- var _a4;
551
- let BaseDataValidator = (_a4 = class {
552
- constructor(localeService, injector) {
553
- __publicField(this, "canvasRender", null);
554
- __publicField(this, "dropdown");
555
- __publicField(this, "optionsInput");
556
- __publicField(this, "skipDefaultFontRender");
557
- this.localeService = localeService, this.injector = injector;
558
- }
559
- get operatorNames() {
560
- return this.operators.map((operator) => this.localeService.t(operatorNameMap[operator]));
561
- }
562
- get titleStr() {
563
- return this.localeService.t(this.title);
564
- }
565
- generateRuleName(rule) {
566
- var _a5, _b;
567
- if (!rule.operator)
568
- return this.titleStr;
569
- const ruleName = this.localeService.t(OperatorTitleMap[rule.operator]).replace(FORMULA1, (_a5 = rule.formula1) != null ? _a5 : "").replace(FORMULA2, (_b = rule.formula2) != null ? _b : "");
570
- return `${this.titleStr} ${ruleName}`;
571
- }
572
- generateRuleErrorMessage(rule) {
573
- var _a5, _b;
574
- return rule.operator ? `${this.localeService.t(OperatorErrorTitleMap[rule.operator]).replace(FORMULA1, (_a5 = rule.formula1) != null ? _a5 : "").replace(FORMULA2, (_b = rule.formula2) != null ? _b : "")}` : this.titleStr;
575
- }
576
- getExtraStyle(rule, value, ctx) {
577
- }
578
- getRuleFinalError(rule) {
579
- return rule.showErrorMessage && rule.error ? rule.error : this.generateRuleErrorMessage(rule);
580
- }
581
- isEmptyCellValue(cellValue) {
582
- return cellValue === "" || cellValue === void 0 || cellValue === null;
583
- }
584
- normalizeFormula(rule, unitId, subUnitId) {
585
- return {
586
- formula1: rule.formula1,
587
- formula2: rule.formula2
588
- };
589
- }
590
- async isValidType(cellInfo, formula, rule) {
591
- return !0;
592
- }
593
- transform(cellInfo, formula, rule) {
594
- return cellInfo;
595
- }
596
- async validatorIsEqual(cellInfo, formula, rule) {
597
- return !0;
598
- }
599
- async validatorIsNotEqual(cellInfo, formula, rule) {
600
- return !0;
601
- }
602
- async validatorIsBetween(cellInfo, formula, rule) {
603
- return !0;
604
- }
605
- async validatorIsNotBetween(cellInfo, formula, rule) {
606
- return !0;
607
- }
608
- async validatorIsGreaterThan(cellInfo, formula, rule) {
609
- return !0;
610
- }
611
- async validatorIsGreaterThanOrEqual(cellInfo, formula, rule) {
612
- return !0;
613
- }
614
- async validatorIsLessThan(cellInfo, formula, rule) {
615
- return !0;
616
- }
617
- async validatorIsLessThanOrEqual(cellInfo, formula, rule) {
618
- return !0;
619
- }
620
- async validator(cellInfo, rule) {
621
- const { value: cellValue, unitId, subUnitId } = cellInfo, isEmpty = this.isEmptyCellValue(cellValue), { allowBlank = !0, operator } = rule;
622
- if (isEmpty)
623
- return allowBlank;
624
- const formulaInfo = await this.parseFormula(rule, unitId, subUnitId);
625
- if (!await this.isValidType(cellInfo, formulaInfo, rule))
626
- return !1;
627
- if (!Tools.isDefine(operator))
628
- return !0;
629
- const transformedCell = this.transform(cellInfo, formulaInfo, rule);
630
- switch (operator) {
631
- case DataValidationOperator.BETWEEN:
632
- return this.validatorIsBetween(transformedCell, formulaInfo, rule);
633
- case DataValidationOperator.EQUAL:
634
- return this.validatorIsEqual(transformedCell, formulaInfo, rule);
635
- case DataValidationOperator.GREATER_THAN:
636
- return this.validatorIsGreaterThan(transformedCell, formulaInfo, rule);
637
- case DataValidationOperator.GREATER_THAN_OR_EQUAL:
638
- return this.validatorIsGreaterThanOrEqual(transformedCell, formulaInfo, rule);
639
- case DataValidationOperator.LESS_THAN:
640
- return this.validatorIsLessThan(transformedCell, formulaInfo, rule);
641
- case DataValidationOperator.LESS_THAN_OR_EQUAL:
642
- return this.validatorIsLessThanOrEqual(transformedCell, formulaInfo, rule);
643
- case DataValidationOperator.NOT_BETWEEN:
644
- return this.validatorIsNotBetween(transformedCell, formulaInfo, rule);
645
- case DataValidationOperator.NOT_EQUAL:
646
- return this.validatorIsNotEqual(transformedCell, formulaInfo, rule);
647
- default:
648
- throw new Error("Unknown operator.");
649
- }
650
- }
651
- }, __name(_a4, "BaseDataValidator"), _a4);
652
- BaseDataValidator = __decorateClass([
653
- __decorateParam(0, Inject(LocaleService)),
654
- __decorateParam(1, Inject(Injector))
655
- ], BaseDataValidator);
656
- export {
657
- AddDataValidationMutation,
658
- BaseDataValidator,
659
- DataValidationModel,
660
- DataValidationResourceController,
661
- DataValidatorRegistryScope,
662
- DataValidatorRegistryService,
663
- RemoveDataValidationMutation,
664
- TWO_FORMULA_OPERATOR_COUNT,
665
- TextLengthErrorTitleMap,
666
- UniverDataValidationPlugin,
667
- UpdateDataValidationMutation,
668
- UpdateRuleType,
669
- getRuleOptions,
670
- getRuleSetting
671
- };
1
+ const _0x2f5f5a=_0x2a3d;(function(_0x32ab34,_0x970be8){const _0x56f961=_0x2a3d,_0x552821=_0x32ab34();while(!![]){try{const _0x5d337b=parseInt(_0x56f961(0x223))/0x1*(-parseInt(_0x56f961(0x1e7))/0x2)+parseInt(_0x56f961(0x25b))/0x3+parseInt(_0x56f961(0x232))/0x4*(parseInt(_0x56f961(0x27a))/0x5)+-parseInt(_0x56f961(0x1e3))/0x6*(-parseInt(_0x56f961(0x1f4))/0x7)+parseInt(_0x56f961(0x20d))/0x8*(-parseInt(_0x56f961(0x1e5))/0x9)+-parseInt(_0x56f961(0x1eb))/0xa*(parseInt(_0x56f961(0x233))/0xb)+-parseInt(_0x56f961(0x1f6))/0xc*(parseInt(_0x56f961(0x20e))/0xd);if(_0x5d337b===_0x970be8)break;else _0x552821['push'](_0x552821['shift']());}catch(_0x31d41a){_0x552821['push'](_0x552821['shift']());}}}(_0x3601,0x274e0));var __defProp=Object[_0x2f5f5a(0x23a)],__defNormalProp=(_0x3cecc1,_0x101f92,_0x5de2b7)=>_0x101f92 in _0x3cecc1?__defProp(_0x3cecc1,_0x101f92,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x5de2b7}):_0x3cecc1[_0x101f92]=_0x5de2b7,__name=(_0x5e474b,_0x3854b1)=>__defProp(_0x5e474b,_0x2f5f5a(0x25a),{'value':_0x3854b1,'configurable':!0x0}),__publicField=(_0x430306,_0x13b9ec,_0x57baa8)=>__defNormalProp(_0x430306,typeof _0x13b9ec!=_0x2f5f5a(0x279)?_0x13b9ec+'':_0x13b9ec,_0x57baa8);import{Disposable,Tools,ILogService,Inject,UniverInstanceType,IResourceManagerService,IUniverInstanceService,toDisposable,CommandType,ICommandService,IUndoRedoService,Plugin,Injector,IConfigService,DataValidationOperator,LocaleService}from'@univerjs/core';import{Subject,debounceTime,BehaviorSubject}from'rxjs';function getRuleSetting(_0x158f82){const _0x351e24=_0x2f5f5a;return{'type':_0x158f82[_0x351e24(0x265)],'operator':_0x158f82[_0x351e24(0x1e8)],'formula1':_0x158f82[_0x351e24(0x262)],'formula2':_0x158f82[_0x351e24(0x23b)],'allowBlank':_0x158f82[_0x351e24(0x259)]};}__name(getRuleSetting,_0x2f5f5a(0x1de));function getRuleOptions(_0x1a62d0){const _0x20a88a=_0x2f5f5a;return{'error':_0x1a62d0[_0x20a88a(0x22d)],'errorStyle':_0x1a62d0['errorStyle'],'errorTitle':_0x1a62d0['errorTitle'],'imeMode':_0x1a62d0['imeMode'],'prompt':_0x1a62d0[_0x20a88a(0x1ed)],'promptTitle':_0x1a62d0[_0x20a88a(0x284)],'showDropDown':_0x1a62d0[_0x20a88a(0x277)],'showErrorMessage':_0x1a62d0['showErrorMessage'],'showInputMessage':_0x1a62d0[_0x20a88a(0x21f)],'renderMode':_0x1a62d0[_0x20a88a(0x1cd)],'bizInfo':_0x1a62d0[_0x20a88a(0x203)]};}__name(getRuleOptions,'getRuleOptions');function _0x2a3d(_0x2a5bf1,_0x400a67){const _0x36019d=_0x3601();return _0x2a3d=function(_0x2a3de2,_0x5bdfcb){_0x2a3de2=_0x2a3de2-0x1be;let _0x335e85=_0x36019d[_0x2a3de2];return _0x335e85;},_0x2a3d(_0x2a5bf1,_0x400a67);}var UpdateRuleType=(_0x1d7359=>(_0x1d7359[_0x1d7359[_0x2f5f5a(0x26c)]=0x0]='SETTING',_0x1d7359[_0x1d7359[_0x2f5f5a(0x1f5)]=0x1]=_0x2f5f5a(0x1f5),_0x1d7359[_0x1d7359['OPTIONS']=0x2]=_0x2f5f5a(0x24c),_0x1d7359))(UpdateRuleType||{}),__defProp$3=Object['defineProperty'],__getOwnPropDesc$3=Object[_0x2f5f5a(0x1fa)],__decorateClass$3=__name((_0x18d99d,_0x2507f4,_0x1caba3,_0x3f641a)=>{const _0x4b192e=_0x2f5f5a;for(var _0x49e7b2=_0x3f641a>0x1?void 0x0:_0x3f641a?__getOwnPropDesc$3(_0x2507f4,_0x1caba3):_0x2507f4,_0x3e83ce=_0x18d99d[_0x4b192e(0x248)]-0x1,_0x1353c1;_0x3e83ce>=0x0;_0x3e83ce--)(_0x1353c1=_0x18d99d[_0x3e83ce])&&(_0x49e7b2=(_0x3f641a?_0x1353c1(_0x2507f4,_0x1caba3,_0x49e7b2):_0x1353c1(_0x49e7b2))||_0x49e7b2);return _0x3f641a&&_0x49e7b2&&__defProp$3(_0x2507f4,_0x1caba3,_0x49e7b2),_0x49e7b2;},_0x2f5f5a(0x1f3)),__decorateParam$3=__name((_0x4aab89,_0xfd1b6c)=>(_0x560fca,_0x4b533f)=>_0xfd1b6c(_0x560fca,_0x4b533f,_0x4aab89),_0x2f5f5a(0x247)),_a;let DataValidationModel=(_a=class extends Disposable{constructor(_0x4b951d){const _0x43bad6=_0x2f5f5a;super(),__publicField(this,_0x43bad6(0x283),new Map()),__publicField(this,'_ruleChange$',new Subject()),__publicField(this,'ruleChange$',this[_0x43bad6(0x1c6)]['asObservable']()),__publicField(this,_0x43bad6(0x219),this[_0x43bad6(0x1c9)][_0x43bad6(0x1c7)](debounceTime(0x14))),(this['_logService']=_0x4b951d,this[_0x43bad6(0x1be)]({'dispose':__name(()=>{const _0x432fbd=_0x43bad6;this[_0x432fbd(0x1c6)][_0x432fbd(0x239)]();},_0x43bad6(0x1dd))}));}['_ensureMap'](_0x33a647,_0x16acb1){const _0x51f828=_0x2f5f5a;this[_0x51f828(0x283)][_0x51f828(0x250)](_0x33a647)||this['_model'][_0x51f828(0x275)](_0x33a647,new Map());const _0x4af787=this[_0x51f828(0x283)]['get'](_0x33a647);if(_0x4af787[_0x51f828(0x250)](_0x16acb1))return _0x4af787[_0x51f828(0x26b)](_0x16acb1);const _0x13f012={'map':new Map(),'list':[]};return _0x4af787[_0x51f828(0x275)](_0x16acb1,_0x13f012),_0x13f012;}['_addSubUnitRule'](_0x139719,_0x266a89,_0x30dc22){const _0x269c92=_0x2f5f5a,{map:_0x40ea13,list:_0x23fc82}=_0x139719,_0x299b5c=(Array[_0x269c92(0x241)](_0x266a89)?_0x266a89:[_0x266a89])[_0x269c92(0x25c)](_0x3e17d7=>!_0x40ea13[_0x269c92(0x250)](_0x3e17d7[_0x269c92(0x212)]));typeof _0x30dc22==_0x269c92(0x1e4)&&_0x30dc22<_0x23fc82[_0x269c92(0x248)]?_0x23fc82[_0x269c92(0x23c)](_0x30dc22,0x0,..._0x299b5c):_0x23fc82[_0x269c92(0x202)](..._0x299b5c),_0x299b5c[_0x269c92(0x204)](_0x3ee7e0=>{const _0x492d88=_0x269c92;_0x40ea13[_0x492d88(0x275)](_0x3ee7e0[_0x492d88(0x212)],_0x3ee7e0);});}[_0x2f5f5a(0x280)](_0x396ba9,_0x544247){const _0x5c30cc=_0x2f5f5a,{map:_0x584f07,list:_0x8a2c7b}=_0x396ba9,_0x2afaf3=_0x8a2c7b[_0x5c30cc(0x1cc)](_0x543390=>_0x543390[_0x5c30cc(0x212)]===_0x544247);_0x2afaf3>-0x1&&(_0x8a2c7b['splice'](_0x2afaf3,0x1),_0x584f07[_0x5c30cc(0x1e1)](_0x544247));}[_0x2f5f5a(0x208)](_0x3d0f07,_0x48440d,_0x4b5b0c){const _0x35cf39=_0x2f5f5a,{map:_0x26294f,list:_0x49bbce}=_0x3d0f07,_0x218a3c=_0x26294f[_0x35cf39(0x26b)](_0x48440d),_0x229308=_0x49bbce['findIndex'](_0x366d7c=>_0x48440d===_0x366d7c['uid']);if(!_0x218a3c)throw new Error('Data\x20validation\x20rule\x20is\x20not\x20found,\x20ruleId:\x20'+_0x48440d+'.');const _0x2723d4={..._0x218a3c};switch(_0x4b5b0c[_0x35cf39(0x265)]){case UpdateRuleType[_0x35cf39(0x1f5)]:{_0x2723d4[_0x35cf39(0x1c8)]=_0x4b5b0c['payload'];break;}case UpdateRuleType[_0x35cf39(0x26c)]:{Object[_0x35cf39(0x26a)](_0x2723d4,getRuleSetting(_0x4b5b0c[_0x35cf39(0x270)]));break;}case UpdateRuleType[_0x35cf39(0x24c)]:{Object[_0x35cf39(0x26a)](_0x2723d4,getRuleOptions(_0x4b5b0c[_0x35cf39(0x270)]));break;}}return _0x49bbce[_0x229308]=_0x2723d4,_0x26294f[_0x35cf39(0x275)](_0x48440d,_0x2723d4),_0x2723d4;}['_addRuleSideEffect'](_0x28c314,_0x14373e,_0x556c69,_0x1079c5){const _0x1ba7b3=_0x2f5f5a;if(!this[_0x1ba7b3(0x20a)](_0x28c314,_0x14373e)['map']['get'](_0x556c69[_0x1ba7b3(0x212)]))return{'rule':_0x556c69,'type':_0x1ba7b3(0x267),'unitId':_0x28c314,'subUnitId':_0x14373e,'source':_0x1079c5};}[_0x2f5f5a(0x21c)](_0x327081,_0x4b61f2,_0x3f5b18,_0x44e99f,_0x47d18e){const _0x198036=_0x2f5f5a;try{const _0xcf9a80=this[_0x198036(0x20a)](_0x327081,_0x4b61f2),_0x42a03b=(Array[_0x198036(0x241)](_0x3f5b18)?_0x3f5b18:[_0x3f5b18])['map'](_0xffc24c=>this['_addRuleSideEffect'](_0x327081,_0x4b61f2,_0xffc24c,_0x44e99f));this[_0x198036(0x1fe)](_0xcf9a80,_0x3f5b18,_0x47d18e),_0x42a03b[_0x198036(0x204)](_0x4d9ae8=>{const _0x5f4c98=_0x198036;_0x4d9ae8&&this[_0x5f4c98(0x1c6)][_0x5f4c98(0x211)](_0x4d9ae8);});}catch(_0x4b78cb){this[_0x198036(0x24d)]['error'](_0x4b78cb);}}['updateRule'](_0x4c45ca,_0x3cd6bb,_0x2091f6,_0x411368,_0x460b09){const _0x4de61d=_0x2f5f5a;try{const _0x2f801f=this[_0x4de61d(0x20a)](_0x4c45ca,_0x3cd6bb),_0x55958d=Tools[_0x4de61d(0x1f0)](_0x2f801f[_0x4de61d(0x236)][_0x4de61d(0x26b)](_0x2091f6));if(!_0x55958d)throw new Error(_0x4de61d(0x27c)+_0x2091f6+'.');const _0x458d9a=this[_0x4de61d(0x208)](_0x2f801f,_0x2091f6,_0x411368);this['_ruleChange$'][_0x4de61d(0x211)]({'rule':_0x458d9a,'type':'update','unitId':_0x4c45ca,'subUnitId':_0x3cd6bb,'source':_0x460b09,'updatePayload':_0x411368,'oldRule':_0x55958d});}catch(_0x10a49b){this['_logService'][_0x4de61d(0x22d)](_0x10a49b);}}[_0x2f5f5a(0x1d5)](_0x5addb1,_0x33d288,_0x20e709,_0x24af88){const _0x14b0ff=_0x2f5f5a;try{const _0x3df67a=this[_0x14b0ff(0x20a)](_0x5addb1,_0x33d288),_0x59d425=_0x3df67a[_0x14b0ff(0x236)][_0x14b0ff(0x26b)](_0x20e709);_0x59d425&&(this['_removeSubUnitRule'](_0x3df67a,_0x20e709),this[_0x14b0ff(0x1c6)][_0x14b0ff(0x211)]({'rule':_0x59d425,'type':_0x14b0ff(0x1d1),'unitId':_0x5addb1,'subUnitId':_0x33d288,'source':_0x24af88}));}catch(_0x5dbad1){this[_0x14b0ff(0x24d)][_0x14b0ff(0x22d)](_0x5dbad1);}}['getRuleById'](_0x32770a,_0x54b8f9,_0x16fd41){const _0x838fae=_0x2f5f5a;return this[_0x838fae(0x20a)](_0x32770a,_0x54b8f9)[_0x838fae(0x236)]['get'](_0x16fd41);}[_0x2f5f5a(0x21e)](_0x5cbe90,_0x8c51dd,_0x31d418){const _0x2c881c=_0x2f5f5a;return this[_0x2c881c(0x20a)](_0x5cbe90,_0x8c51dd)[_0x2c881c(0x237)][_0x2c881c(0x1cc)](_0x542f45=>_0x542f45[_0x2c881c(0x212)]===_0x31d418);}[_0x2f5f5a(0x24a)](_0x38d438,_0x472a12){const _0x239fbb=_0x2f5f5a;return[...this[_0x239fbb(0x20a)](_0x38d438,_0x472a12)[_0x239fbb(0x237)]];}['getUnitRules'](_0x1041bd){const _0x1484c6=_0x2f5f5a,_0x78f728=this[_0x1484c6(0x283)]['get'](_0x1041bd);if(!_0x78f728)return[];const _0x40f8de=[];return _0x78f728[_0x1484c6(0x204)]((_0x3a2dda,_0x1372d4)=>{const _0x2efb81=_0x1484c6;_0x40f8de[_0x2efb81(0x202)]([_0x1372d4,_0x3a2dda[_0x2efb81(0x237)]]);}),_0x40f8de;}[_0x2f5f5a(0x1ce)](_0x39badb){this['_model']['delete'](_0x39badb);}['getSubUnitIds'](_0x1678bb){const _0x2d5362=_0x2f5f5a;var _0x426195,_0x53a8d4;return Array[_0x2d5362(0x1d9)]((_0x53a8d4=(_0x426195=this[_0x2d5362(0x283)][_0x2d5362(0x26b)](_0x1678bb))==null?void 0x0:_0x426195[_0x2d5362(0x224)]())!=null?_0x53a8d4:[]);}[_0x2f5f5a(0x1fb)](){const _0x18f08f=_0x2f5f5a;return Array[_0x18f08f(0x1d9)](this[_0x18f08f(0x283)][_0x18f08f(0x224)]())[_0x18f08f(0x236)](_0x52f1c1=>[_0x52f1c1,this[_0x18f08f(0x264)](_0x52f1c1)]);}},__name(_a,_0x2f5f5a(0x21a)),_a);DataValidationModel=__decorateClass$3([__decorateParam$3(0x0,ILogService)],DataValidationModel);var __defProp$2=Object['defineProperty'],__getOwnPropDesc$2=Object[_0x2f5f5a(0x1fa)],__decorateClass$2=__name((_0x43c286,_0x99277a,_0x103ade,_0x3c8a01)=>{const _0x4ac95b=_0x2f5f5a;for(var _0x303477=_0x3c8a01>0x1?void 0x0:_0x3c8a01?__getOwnPropDesc$2(_0x99277a,_0x103ade):_0x99277a,_0x35353e=_0x43c286[_0x4ac95b(0x248)]-0x1,_0x44b5ac;_0x35353e>=0x0;_0x35353e--)(_0x44b5ac=_0x43c286[_0x35353e])&&(_0x303477=(_0x3c8a01?_0x44b5ac(_0x99277a,_0x103ade,_0x303477):_0x44b5ac(_0x303477))||_0x303477);return _0x3c8a01&&_0x303477&&__defProp$2(_0x99277a,_0x103ade,_0x303477),_0x303477;},_0x2f5f5a(0x263)),__decorateParam$2=__name((_0x1f71ae,_0x1cb38d)=>(_0x1b1717,_0x1474b5)=>_0x1cb38d(_0x1b1717,_0x1474b5,_0x1f71ae),_0x2f5f5a(0x200));const DATA_VALIDATION_PLUGIN_NAME=_0x2f5f5a(0x1c3);var _a2;let DataValidationResourceController=(_a2=class extends Disposable{constructor(_0x545091,_0x31d28c,_0x46b7fa){const _0x2134ad=_0x2f5f5a;super(),this['_resourceManagerService']=_0x545091,this[_0x2134ad(0x231)]=_0x31d28c,this[_0x2134ad(0x276)]=_0x46b7fa,this['_initSnapshot']();}['_initSnapshot'](){const _0x3f5963=_0x2f5f5a,_0x3ae652=__name(_0x5dfb1f=>{const _0x371c0d=_0x2a3d,_0x1f089b=this['_dataValidationModel'][_0x371c0d(0x264)](_0x5dfb1f),_0x27ec24={};return _0x1f089b?(_0x1f089b[_0x371c0d(0x204)](([_0x88ce48,_0x1d5cc6])=>{_0x27ec24[_0x88ce48]=_0x1d5cc6;}),JSON[_0x371c0d(0x26e)](_0x27ec24)):'';},_0x3f5963(0x210)),_0x46d17a=__name(_0x578d3b=>{if(!_0x578d3b)return{};try{return JSON['parse'](_0x578d3b);}catch{return{};}},_0x3f5963(0x254));this[_0x3f5963(0x1be)](this[_0x3f5963(0x245)][_0x3f5963(0x26f)]({'pluginName':DATA_VALIDATION_PLUGIN_NAME,'businesses':[UniverInstanceType[_0x3f5963(0x246)]],'toJson':__name(_0x44950b=>_0x3ae652(_0x44950b),_0x3f5963(0x210)),'parseJson':__name(_0x5680dc=>_0x46d17a(_0x5680dc),_0x3f5963(0x254)),'onUnLoad':__name(_0x2646fc=>{const _0x29cd14=_0x3f5963;this[_0x29cd14(0x276)][_0x29cd14(0x1ce)](_0x2646fc);},'onUnLoad'),'onLoad':__name((_0x392d6f,_0x1b49c9)=>{const _0x34f66b=_0x3f5963;Object[_0x34f66b(0x224)](_0x1b49c9)[_0x34f66b(0x204)](_0x235333=>{const _0x547688=_0x34f66b;_0x1b49c9[_0x235333][_0x547688(0x204)](_0x2fb883=>{const _0x1017bd=_0x547688;this[_0x1017bd(0x276)][_0x1017bd(0x21c)](_0x392d6f,_0x235333,_0x2fb883,_0x1017bd(0x27f));});});},_0x3f5963(0x20c))}));}},__name(_a2,'DataValidationResourceController'),_a2);DataValidationResourceController=__decorateClass$2([__decorateParam$2(0x0,IResourceManagerService),__decorateParam$2(0x1,IUniverInstanceService),__decorateParam$2(0x2,Inject(DataValidationModel))],DataValidationResourceController);var DataValidatorRegistryScope=(_0x3521d9=>(_0x3521d9[_0x2f5f5a(0x220)]=_0x2f5f5a(0x1dc),_0x3521d9))(DataValidatorRegistryScope||{});const _DataValidatorRegistryService=class _DataValidatorRegistryService{constructor(){const _0xd1a4b0=_0x2f5f5a;__publicField(this,_0xd1a4b0(0x1c1),new Map()),__publicField(this,'_validatorMap',new Map()),__publicField(this,_0xd1a4b0(0x1ea),new BehaviorSubject(void 0x0)),__publicField(this,'validatorsChange$',this[_0xd1a4b0(0x1ea)]['asObservable']());}['_addValidatorToScope'](_0x10a938,_0x159b3d){const _0x450d35=_0x2f5f5a;this[_0x450d35(0x1c1)][_0x450d35(0x250)](_0x159b3d)||this[_0x450d35(0x1c1)][_0x450d35(0x275)](_0x159b3d,[]);const _0x21ca94=this[_0x450d35(0x1c1)]['get'](_0x159b3d);if(_0x21ca94['findIndex'](_0x28603d=>_0x28603d['id']===_0x10a938['id'])>-0x1)throw new Error(_0x450d35(0x1f2)+_0x10a938['id']+_0x450d35(0x1bf));_0x21ca94['push'](_0x10a938);}[_0x2f5f5a(0x242)](_0x3c8749,_0x2ee09c){const _0x12d74b=_0x2f5f5a,_0x4ced39=this[_0x12d74b(0x1c1)]['get'](_0x2ee09c);if(!_0x4ced39)return;const _0x46099c=_0x4ced39[_0x12d74b(0x1cc)](_0x44aaea=>_0x44aaea['id']===_0x3c8749['id']);_0x46099c>-0x1&&_0x4ced39[_0x12d74b(0x23c)](_0x46099c,0x1);}['register'](_0x1c5371){const _0x2b5d84=_0x2f5f5a;return this[_0x2b5d84(0x281)]['set'](_0x1c5371['id'],_0x1c5371),Array['isArray'](_0x1c5371['scopes'])?_0x1c5371['scopes'][_0x2b5d84(0x204)](_0x2a51c1=>{const _0x19cb3f=_0x2b5d84;this[_0x19cb3f(0x1c0)](_0x1c5371,_0x2a51c1);}):this['_addValidatorToScope'](_0x1c5371,_0x1c5371['scopes']),this[_0x2b5d84(0x1ea)][_0x2b5d84(0x211)](),toDisposable(()=>{const _0x29f7c8=_0x2b5d84;this[_0x29f7c8(0x281)]['delete'](_0x1c5371['id']),Array[_0x29f7c8(0x241)](_0x1c5371[_0x29f7c8(0x1e0)])?_0x1c5371[_0x29f7c8(0x1e0)][_0x29f7c8(0x204)](_0x5bfa84=>{this['_removeValidatorFromScope'](_0x1c5371,_0x5bfa84);}):this[_0x29f7c8(0x242)](_0x1c5371,_0x1c5371[_0x29f7c8(0x1e0)]),this[_0x29f7c8(0x1ea)][_0x29f7c8(0x211)]();});}[_0x2f5f5a(0x282)](_0x45e671){const _0x589def=_0x2f5f5a;return this['_validatorMap'][_0x589def(0x26b)](_0x45e671);}[_0x2f5f5a(0x1ff)](_0x732a92){const _0x35f04d=_0x2f5f5a;return this['_validatorByScopes'][_0x35f04d(0x26b)](_0x732a92);}};__name(_DataValidatorRegistryService,_0x2f5f5a(0x1d3));let DataValidatorRegistryService=_DataValidatorRegistryService;const AddDataValidationMutation={'type':CommandType[_0x2f5f5a(0x217)],'id':_0x2f5f5a(0x205),'handler'(_0x4f3701,_0x21473d){const _0x1b1c11=_0x2f5f5a;if(!_0x21473d)return!0x1;const {unitId:_0x60acab,subUnitId:_0x37e07a,rule:_0x15700c,index:_0x327a4c,source:source=_0x1b1c11(0x222)}=_0x21473d;return _0x4f3701['get'](DataValidationModel)[_0x1b1c11(0x21c)](_0x60acab,_0x37e07a,_0x15700c,source,_0x327a4c),!0x0;}},RemoveDataValidationMutation={'type':CommandType[_0x2f5f5a(0x217)],'id':_0x2f5f5a(0x1e6),'handler'(_0x13678e,_0x232b46){const _0x14835a=_0x2f5f5a;if(!_0x232b46)return!0x1;const {unitId:_0xf4e7c9,subUnitId:_0x14fba5,ruleId:_0x5ddb98,source:source=_0x14835a(0x222)}=_0x232b46,_0xbe50f5=_0x13678e[_0x14835a(0x26b)](DataValidationModel);return Array[_0x14835a(0x241)](_0x5ddb98)?_0x5ddb98['forEach'](_0x8de58e=>{const _0x55a821=_0x14835a;_0xbe50f5[_0x55a821(0x1d5)](_0xf4e7c9,_0x14fba5,_0x8de58e,source);}):_0xbe50f5['removeRule'](_0xf4e7c9,_0x14fba5,_0x5ddb98,source),!0x0;}},UpdateDataValidationMutation={'type':CommandType['MUTATION'],'id':_0x2f5f5a(0x27d),'handler'(_0x4359c4,_0x13ef27){const _0x352448=_0x2f5f5a;if(!_0x13ef27)return!0x1;const {unitId:_0x53f7e7,subUnitId:_0x599570,ruleId:_0x152abb,payload:_0x28ee77,source:source=_0x352448(0x222)}=_0x13ef27;return _0x4359c4[_0x352448(0x26b)](DataValidationModel)[_0x352448(0x214)](_0x53f7e7,_0x599570,_0x152abb,_0x28ee77,source),!0x0;}},AddDataValidationCommand={'type':CommandType['COMMAND'],'id':'data-validation.command.addRule',async 'handler'(_0x2340f5,_0x362fc7){const _0x16e361=_0x2f5f5a;if(_0x2340f5[_0x16e361(0x26b)](ILogService)[_0x16e361(0x22d)]('[Deprecated]:\x20`AddDataValidationCommand`\x20is\x20deprecated,\x20please\x20use\x20`AddSheetDataValidationCommand`\x20in\x20`@univerjs/sheets-data-validation`\x20instead!'),!_0x362fc7)return!0x1;const {rule:_0x2b2721,unitId:_0x57d9c9,subUnitId:_0x2ac840}=_0x362fc7,_0x3bc2ad=_0x2340f5['get'](ICommandService),_0x3ed272=_0x2340f5[_0x16e361(0x26b)](IUndoRedoService),_0x3cce9a={..._0x362fc7,'rule':{..._0x362fc7[_0x16e361(0x216)],'ranges':[_0x362fc7['rule'][_0x16e361(0x253)]]}},_0x3c0e7f=[{'id':AddDataValidationMutation['id'],'params':_0x3cce9a}],_0x2935d4=[{'id':RemoveDataValidationMutation['id'],'params':{'unitId':_0x57d9c9,'subUnitId':_0x2ac840,'ruleId':_0x2b2721[_0x16e361(0x212)]}}];return _0x3ed272['pushUndoRedo']({'unitID':_0x57d9c9,'redoMutations':_0x3c0e7f,'undoMutations':_0x2935d4}),await _0x3bc2ad[_0x16e361(0x268)](AddDataValidationMutation['id'],_0x3cce9a),!0x0;}},RemoveDataValidationCommand={'type':CommandType['COMMAND'],'id':'data-validation.command.removeRule','handler'(_0x5aad03,_0x4c33d5){const _0x1accb9=_0x2f5f5a;if(_0x5aad03[_0x1accb9(0x26b)](ILogService)[_0x1accb9(0x22d)](_0x1accb9(0x240)),!_0x4c33d5)return!0x1;const {unitId:_0x44d207,subUnitId:_0x23f676,ruleId:_0x2843c2}=_0x4c33d5,_0x403202=_0x5aad03[_0x1accb9(0x26b)](ICommandService),_0x35726e=_0x5aad03[_0x1accb9(0x26b)](IUndoRedoService),_0x5ab1c7=_0x5aad03[_0x1accb9(0x26b)](DataValidationModel),_0x38d464=[{'id':RemoveDataValidationMutation['id'],'params':_0x4c33d5}],_0x2b3aa5=[{'id':AddDataValidationMutation['id'],'params':{'unitId':_0x44d207,'subUnitId':_0x23f676,'rule':{..._0x5ab1c7[_0x1accb9(0x23f)](_0x44d207,_0x23f676,_0x2843c2)},'index':_0x5ab1c7[_0x1accb9(0x21e)](_0x44d207,_0x23f676,_0x2843c2)}}];return _0x35726e['pushUndoRedo']({'undoMutations':_0x2b3aa5,'redoMutations':_0x38d464,'unitID':_0x4c33d5[_0x1accb9(0x1f7)]}),_0x403202[_0x1accb9(0x268)](RemoveDataValidationMutation['id'],_0x4c33d5),!0x0;}},UpdateDataValidationOptionsCommand={'type':CommandType[_0x2f5f5a(0x23e)],'id':_0x2f5f5a(0x221),'handler'(_0x3eadd8,_0x435e63){const _0x3a30b6=_0x2f5f5a;if(_0x3eadd8[_0x3a30b6(0x26b)](ILogService)[_0x3a30b6(0x22b)](_0x3a30b6(0x274)),!_0x435e63)return!0x1;const _0x7ef7d6=_0x3eadd8[_0x3a30b6(0x26b)](ICommandService),_0x3c6c20=_0x3eadd8['get'](IUndoRedoService),_0x1ca1b3=_0x3eadd8[_0x3a30b6(0x26b)](DataValidationModel),{unitId:_0x1b1d83,subUnitId:_0x2bcf57,ruleId:_0x164ee3,options:_0x3dbab1}=_0x435e63,_0x2a56a5=_0x1ca1b3['getRuleById'](_0x1b1d83,_0x2bcf57,_0x164ee3);if(!_0x2a56a5)return!0x1;const _0x231d67={'unitId':_0x1b1d83,'subUnitId':_0x2bcf57,'ruleId':_0x164ee3,'payload':{'type':UpdateRuleType[_0x3a30b6(0x24c)],'payload':_0x3dbab1}},_0x4f8d21=[{'id':UpdateDataValidationMutation['id'],'params':_0x231d67}],_0x13a106={'unitId':_0x1b1d83,'subUnitId':_0x2bcf57,'ruleId':_0x164ee3,'payload':{'type':UpdateRuleType['OPTIONS'],'payload':getRuleOptions(_0x2a56a5)}},_0x40cc01=[{'id':UpdateDataValidationMutation['id'],'params':_0x13a106}];return _0x3c6c20[_0x3a30b6(0x20b)]({'unitID':_0x1b1d83,'redoMutations':_0x4f8d21,'undoMutations':_0x40cc01}),_0x7ef7d6[_0x3a30b6(0x268)](UpdateDataValidationMutation['id'],_0x231d67),!0x0;}},UpdateDataValidationSettingCommand={'type':CommandType[_0x2f5f5a(0x23e)],'id':_0x2f5f5a(0x209),'handler'(_0x52ca34,_0x131c02){const _0x974d72=_0x2f5f5a;if(_0x52ca34['get'](ILogService)['error'](_0x974d72(0x27e)),!_0x131c02)return!0x1;const _0x5cd2c7=_0x52ca34[_0x974d72(0x26b)](ICommandService),_0xa475f=_0x52ca34[_0x974d72(0x26b)](IUndoRedoService),_0x3be7d7=_0x52ca34[_0x974d72(0x26b)](DataValidationModel),_0x8b67b6=_0x52ca34['get'](DataValidatorRegistryService),{unitId:_0x26ba19,subUnitId:_0x195318,ruleId:_0x590cf5,setting:_0x5e5b3}=_0x131c02,_0x9cfec3=_0x8b67b6[_0x974d72(0x282)](_0x5e5b3['type']);if(!_0x9cfec3)return!0x1;const _0x2c4bc4=_0x3be7d7[_0x974d72(0x23f)](_0x26ba19,_0x195318,_0x590cf5);if(!_0x2c4bc4)return!0x1;const _0x169ef0={..._0x2c4bc4,..._0x5e5b3};if(!_0x9cfec3['validatorFormula'](_0x169ef0,_0x26ba19,_0x195318)[_0x974d72(0x288)])return!0x1;const _0x39700c={'unitId':_0x26ba19,'subUnitId':_0x195318,'ruleId':_0x590cf5,'payload':{'type':UpdateRuleType['SETTING'],'payload':{..._0x5e5b3,..._0x9cfec3[_0x974d72(0x234)](_0x169ef0,_0x26ba19,_0x195318)}}},_0x5e0bb6=[{'id':UpdateDataValidationMutation['id'],'params':_0x39700c}],_0x282f8f={'unitId':_0x26ba19,'subUnitId':_0x195318,'ruleId':_0x590cf5,'payload':{'type':UpdateRuleType['SETTING'],'payload':getRuleSetting(_0x2c4bc4)}},_0x267753=[{'id':UpdateDataValidationMutation['id'],'params':_0x282f8f}];return _0xa475f[_0x974d72(0x20b)]({'unitID':_0x26ba19,'redoMutations':_0x5e0bb6,'undoMutations':_0x267753}),_0x5cd2c7[_0x974d72(0x268)](UpdateDataValidationMutation['id'],_0x39700c),!0x0;}},RemoveAllDataValidationCommand={'type':CommandType[_0x2f5f5a(0x23e)],'id':_0x2f5f5a(0x286),'handler'(_0x56ce77,_0x2b3fad){const _0x37d486=_0x2f5f5a;if(_0x56ce77[_0x37d486(0x26b)](ILogService)[_0x37d486(0x22d)](_0x37d486(0x25e)),!_0x2b3fad)return!0x1;const {unitId:_0x1fc51e,subUnitId:_0x5f09c4}=_0x2b3fad,_0x21d71e=_0x56ce77[_0x37d486(0x26b)](ICommandService),_0xb66479=_0x56ce77['get'](DataValidationModel),_0x275426=_0x56ce77[_0x37d486(0x26b)](IUndoRedoService),_0x361eee=[..._0xb66479[_0x37d486(0x24a)](_0x1fc51e,_0x5f09c4)],_0x3b883b={'unitId':_0x1fc51e,'subUnitId':_0x5f09c4,'ruleId':_0x361eee[_0x37d486(0x236)](_0x5ae70c=>_0x5ae70c[_0x37d486(0x212)])},_0x57e775=[{'id':RemoveDataValidationMutation['id'],'params':_0x3b883b}],_0x3c2a95=[{'id':AddDataValidationMutation['id'],'params':{'unitId':_0x1fc51e,'subUnitId':_0x5f09c4,'rule':_0x361eee}}];return _0x275426[_0x37d486(0x20b)]({'redoMutations':_0x57e775,'undoMutations':_0x3c2a95,'unitID':_0x1fc51e}),_0x21d71e[_0x37d486(0x268)](RemoveDataValidationMutation['id'],_0x3b883b),!0x0;}},PLUGIN_CONFIG_KEY=_0x2f5f5a(0x256),defaultPluginConfig={};var __defProp$1=Object[_0x2f5f5a(0x23a)],__getOwnPropDesc$1=Object['getOwnPropertyDescriptor'],__decorateClass$1=__name((_0x18759e,_0x3ad480,_0x3662bf,_0x3c48a4)=>{const _0x2b48b0=_0x2f5f5a;for(var _0x1802da=_0x3c48a4>0x1?void 0x0:_0x3c48a4?__getOwnPropDesc$1(_0x3ad480,_0x3662bf):_0x3ad480,_0x48e83f=_0x18759e[_0x2b48b0(0x248)]-0x1,_0x1e30ae;_0x48e83f>=0x0;_0x48e83f--)(_0x1e30ae=_0x18759e[_0x48e83f])&&(_0x1802da=(_0x3c48a4?_0x1e30ae(_0x3ad480,_0x3662bf,_0x1802da):_0x1e30ae(_0x1802da))||_0x1802da);return _0x3c48a4&&_0x1802da&&__defProp$1(_0x3ad480,_0x3662bf,_0x1802da),_0x1802da;},_0x2f5f5a(0x243)),__decorateParam$1=__name((_0x55de38,_0x9fc17c)=>(_0x4f3226,_0x54346d)=>_0x9fc17c(_0x4f3226,_0x54346d,_0x55de38),_0x2f5f5a(0x1ec));const PLUGIN_NAME='UNIVER_DATA_VALIDATION_PLUGIN';var _a3;function _0x3601(){const _0x4f6695=['__decorateClass','_addSubUnitRule','getValidatorsByScope','__decorateParam$2','pluginName','push','bizInfo','forEach','data-validation.mutation.addRule','onReady','isValidType','_updateSubUnitRule','data-validation.command.updateDataValidationOptions','_ensureMap','pushUndoRedo','onLoad','148344hFcKnW','130HNoNhU','_config','toJson','next','uid','dataValidation.operators.between','updateRule','validatorIsNotEqual','rule','MUTATION','dataValidation.ruleName.notBetween','ruleChangeDebounce$','DataValidationModel','dataValidation.ruleName.lessThanOrEqual','addRule','dataValidation.operators.lessThanOrEqual','getRuleIndex','showInputMessage','SHEET','data-validation.command.updateDataValidationSetting','command','46WqFxQq','keys','operators','getRuleFinalError','onStarting','validatorIsLessThan','validatorIsGreaterThanOrEqual','showErrorMessage','warn','dataValidation.ruleName.notEqual','error','titleStr','skipDefaultFontRender','validatorIsBetween','_univerInstanceService','16iPoOnK','11OBhdQB','normalizeFormula','validatorIsGreaterThan','map','list','dataValidation.operators.lessThan','complete','defineProperty','formula2','splice','LESS_THAN','COMMAND','getRuleById','[Deprecated]:\x20`RemoveDataValidationCommand`\x20is\x20deprecated,\x20please\x20use\x20`RemoveSheetDataValidationCommand`\x20in\x20`@univerjs/sheets-data-validation`\x20instead!','isArray','_removeValidatorFromScope','__decorateClass$1','{FORMULA2}','_resourceManagerService','UNIVER_SHEET','__decorateParam$3','length','dataValidation.ruleName.lessThan','getRules','_commandService','OPTIONS','_logService','dataValidation.errorMsg.lessThan','GREATER_THAN','has','parseFormula','__decorateParam','range','parseJson','formulaInput','data-validation.config','_configService','validatorIsEqual','allowBlank','name','860805AmEsjw','filter','GREATER_THAN_OR_EQUAL','[Deprecated]:\x20`RemoveAllDataValidationCommand`\x20is\x20deprecated,\x20please\x20use\x20`RemoveSheetAllDataValidationCommand`\x20in\x20`@univerjs/sheets-data-validation`\x20instead!','transform','LESS_THAN_OR_EQUAL','dataValidation.ruleName.between','formula1','__decorateClass$2','getUnitRules','type','{FORMULA1}','add','executeCommand','dataValidation.textLength.errorMsg.lessThan','assign','get','SETTING','canvasRender','stringify','registerPluginResource','payload','dataValidation.textLength.errorMsg.greaterThan','operatorNames','dataValidation.operators.notEqual','[Deprecated]:\x20`UpdateDataValidationOptionsCommand`\x20is\x20deprecated,\x20please\x20use\x20`UpdateSheetDataValidationOptionsCommand`\x20in\x20`@univerjs/sheets-data-validation`\x20instead!','set','_dataValidationModel','showDropDown','generateRuleErrorMessage','symbol','34475thbVCj','dataValidation.ruleName.greaterThanOrEqual','Data\x20validation\x20rule\x20is\x20not\x20found,\x20ruleId:\x20','data-validation.mutation.updateRule','[Deprecated]:\x20`UpdateDataValidationSettingCommand`\x20is\x20deprecated,\x20please\x20use\x20`UpdateSheetDataValidationSettingCommand`\x20in\x20`@univerjs/sheets-data-validation`\x20instead!','patched','_removeSubUnitRule','_validatorMap','getValidatorItem','_model','promptTitle','getExtraStyle','data-validation.command.removeAll','_injector','success','dataValidation.textLength.errorMsg.between','disposeWithMe','\x20has\x20already\x20been\x20added!','_addValidatorToScope','_validatorByScopes','NOT_BETWEEN','SHEET_DATA_VALIDATION_PLUGIN','dataValidation.textLength.errorMsg.greaterThanOrEqual','registerCommand','_ruleChange$','pipe','ranges','ruleChange$','dataValidation.textLength.errorMsg.notEqual','dataValidation.textLength.errorMsg.lessThanOrEqual','findIndex','renderMode','deleteUnitRules','dataValidation.ruleName.greaterThan','EQUAL','remove','validatorIsLessThanOrEqual','DataValidatorRegistryService','replace','removeRule','injector','BETWEEN','dataValidation.errorMsg.notBetween','from','dataValidation.operators.notBetween','validatorIsNotBetween','sheet','dispose','getRuleSetting','dataValidation.errorMsg.lessThanOrEqual','scopes','delete','dataValidation.errorMsg.equal','66MojSOb','number','9uOlPDD','data-validation.mutation.removeRule','4762EKaYag','operator','dataValidation.operators.equal','_validatorsChange$','958910ajglgL','__decorateParam$1','prompt','validator','NOT_EQUAL','deepClone','title','Validator\x20item\x20with\x20the\x20same\x20id\x20','__decorateClass$3','72079NOqZmX','RANGE','51396WmozVg','unitId','dataValidation.textLength.errorMsg.equal','localeService','getOwnPropertyDescriptor','getAll','isEmptyCellValue'];_0x3601=function(){return _0x4f6695;};return _0x3601();}let UniverDataValidationPlugin=(_a3=class extends Plugin{constructor(_0x4ac51e=defaultPluginConfig,_0x116f5e,_0x56a088,_0x137be8){const _0x301187=_0x2f5f5a;super(),this[_0x301187(0x20f)]=_0x4ac51e,this[_0x301187(0x287)]=_0x116f5e,this[_0x301187(0x24b)]=_0x56a088,this[_0x301187(0x257)]=_0x137be8;const {..._0xeb15dc}=this[_0x301187(0x20f)];this[_0x301187(0x257)]['setConfig'](PLUGIN_CONFIG_KEY,_0xeb15dc);}[_0x2f5f5a(0x227)](){const _0x45ef09=_0x2f5f5a;[[DataValidationModel],[DataValidatorRegistryService],[DataValidationResourceController]][_0x45ef09(0x204)](_0x4a821f=>this['_injector'][_0x45ef09(0x267)](_0x4a821f)),[AddDataValidationCommand,RemoveAllDataValidationCommand,UpdateDataValidationOptionsCommand,UpdateDataValidationSettingCommand,RemoveDataValidationCommand,AddDataValidationMutation,UpdateDataValidationMutation,RemoveDataValidationMutation][_0x45ef09(0x204)](_0x40346a=>{const _0x4595b9=_0x45ef09;this[_0x4595b9(0x24b)][_0x4595b9(0x1c5)](_0x40346a);});}[_0x2f5f5a(0x206)](){const _0x59075a=_0x2f5f5a;this['_injector'][_0x59075a(0x26b)](DataValidationResourceController);}},__name(_a3,'UniverDataValidationPlugin'),__publicField(_a3,_0x2f5f5a(0x201),PLUGIN_NAME),__publicField(_a3,_0x2f5f5a(0x265),UniverInstanceType[_0x2f5f5a(0x246)]),_a3);UniverDataValidationPlugin=__decorateClass$1([__decorateParam$1(0x1,Inject(Injector)),__decorateParam$1(0x2,ICommandService),__decorateParam$1(0x3,IConfigService)],UniverDataValidationPlugin),(DataValidationOperator[_0x2f5f5a(0x1d7)]+'',DataValidationOperator[_0x2f5f5a(0x1d0)]+'',DataValidationOperator[_0x2f5f5a(0x24f)]+'',DataValidationOperator[_0x2f5f5a(0x25d)]+'',DataValidationOperator[_0x2f5f5a(0x23d)]+'',DataValidationOperator[_0x2f5f5a(0x260)]+'',DataValidationOperator[_0x2f5f5a(0x1c2)]+'',DataValidationOperator[_0x2f5f5a(0x1ef)]+'');const OperatorTitleMap={[DataValidationOperator[_0x2f5f5a(0x1d7)]]:_0x2f5f5a(0x261),[DataValidationOperator[_0x2f5f5a(0x1d0)]]:'dataValidation.ruleName.equal',[DataValidationOperator['GREATER_THAN']]:_0x2f5f5a(0x1cf),[DataValidationOperator[_0x2f5f5a(0x25d)]]:_0x2f5f5a(0x27b),[DataValidationOperator[_0x2f5f5a(0x23d)]]:_0x2f5f5a(0x249),[DataValidationOperator[_0x2f5f5a(0x260)]]:_0x2f5f5a(0x21b),[DataValidationOperator[_0x2f5f5a(0x1c2)]]:_0x2f5f5a(0x218),[DataValidationOperator[_0x2f5f5a(0x1ef)]]:_0x2f5f5a(0x22c)},OperatorErrorTitleMap={[DataValidationOperator[_0x2f5f5a(0x1d7)]]:'dataValidation.errorMsg.between',[DataValidationOperator[_0x2f5f5a(0x1d0)]]:_0x2f5f5a(0x1e2),[DataValidationOperator[_0x2f5f5a(0x24f)]]:'dataValidation.errorMsg.greaterThan',[DataValidationOperator['GREATER_THAN_OR_EQUAL']]:'dataValidation.errorMsg.greaterThanOrEqual',[DataValidationOperator['LESS_THAN']]:_0x2f5f5a(0x24e),[DataValidationOperator[_0x2f5f5a(0x260)]]:_0x2f5f5a(0x1df),[DataValidationOperator[_0x2f5f5a(0x1c2)]]:_0x2f5f5a(0x1d8),[DataValidationOperator[_0x2f5f5a(0x1ef)]]:'dataValidation.errorMsg.notEqual'},TextLengthErrorTitleMap={[DataValidationOperator[_0x2f5f5a(0x1d7)]]:_0x2f5f5a(0x289),[DataValidationOperator[_0x2f5f5a(0x1d0)]]:_0x2f5f5a(0x1f8),[DataValidationOperator['GREATER_THAN']]:_0x2f5f5a(0x271),[DataValidationOperator[_0x2f5f5a(0x25d)]]:_0x2f5f5a(0x1c4),[DataValidationOperator[_0x2f5f5a(0x23d)]]:_0x2f5f5a(0x269),[DataValidationOperator['LESS_THAN_OR_EQUAL']]:_0x2f5f5a(0x1cb),[DataValidationOperator[_0x2f5f5a(0x1c2)]]:'dataValidation.textLength.errorMsg.notBetween',[DataValidationOperator['NOT_EQUAL']]:_0x2f5f5a(0x1ca)},TWO_FORMULA_OPERATOR_COUNT=[DataValidationOperator[_0x2f5f5a(0x1d7)],DataValidationOperator['NOT_BETWEEN']];var __defProp2=Object[_0x2f5f5a(0x23a)],__getOwnPropDesc=Object['getOwnPropertyDescriptor'],__decorateClass=__name((_0x14d2bc,_0xd10d3f,_0x21663f,_0x51cd6f)=>{const _0x2b94d1=_0x2f5f5a;for(var _0x187ac2=_0x51cd6f>0x1?void 0x0:_0x51cd6f?__getOwnPropDesc(_0xd10d3f,_0x21663f):_0xd10d3f,_0x106c14=_0x14d2bc[_0x2b94d1(0x248)]-0x1,_0x1d1ab4;_0x106c14>=0x0;_0x106c14--)(_0x1d1ab4=_0x14d2bc[_0x106c14])&&(_0x187ac2=(_0x51cd6f?_0x1d1ab4(_0xd10d3f,_0x21663f,_0x187ac2):_0x1d1ab4(_0x187ac2))||_0x187ac2);return _0x51cd6f&&_0x187ac2&&__defProp2(_0xd10d3f,_0x21663f,_0x187ac2),_0x187ac2;},_0x2f5f5a(0x1fd)),__decorateParam=__name((_0xd4b39b,_0x40c58e)=>(_0xa5f6f8,_0x1cfa0d)=>_0x40c58e(_0xa5f6f8,_0x1cfa0d,_0xd4b39b),_0x2f5f5a(0x252));const FORMULA1=_0x2f5f5a(0x266),FORMULA2=_0x2f5f5a(0x244),operatorNameMap={[DataValidationOperator['BETWEEN']]:_0x2f5f5a(0x213),[DataValidationOperator[_0x2f5f5a(0x1d0)]]:_0x2f5f5a(0x1e9),[DataValidationOperator[_0x2f5f5a(0x24f)]]:'dataValidation.operators.greaterThan',[DataValidationOperator[_0x2f5f5a(0x25d)]]:'dataValidation.operators.greaterThanOrEqual',[DataValidationOperator[_0x2f5f5a(0x23d)]]:_0x2f5f5a(0x238),[DataValidationOperator[_0x2f5f5a(0x260)]]:_0x2f5f5a(0x21d),[DataValidationOperator[_0x2f5f5a(0x1c2)]]:_0x2f5f5a(0x1da),[DataValidationOperator[_0x2f5f5a(0x1ef)]]:_0x2f5f5a(0x273)};var _a4;let BaseDataValidator=(_a4=class{constructor(_0x365cb9,_0xde621f){const _0x5463ef=_0x2f5f5a;__publicField(this,_0x5463ef(0x255)),__publicField(this,_0x5463ef(0x26d),null),__publicField(this,'dropdown'),__publicField(this,'optionsInput'),__publicField(this,_0x5463ef(0x22f)),(this[_0x5463ef(0x1f9)]=_0x365cb9,this[_0x5463ef(0x1d6)]=_0xde621f);}get[_0x2f5f5a(0x272)](){const _0x59e5e1=_0x2f5f5a;return this[_0x59e5e1(0x225)]['map'](_0x4606a6=>this[_0x59e5e1(0x1f9)]['t'](operatorNameMap[_0x4606a6]));}get['titleStr'](){const _0x2b96cf=_0x2f5f5a;return this[_0x2b96cf(0x1f9)]['t'](this[_0x2b96cf(0x1f1)]);}['generateRuleName'](_0x1f44e0){const _0x177b5b=_0x2f5f5a;var _0x1f925d,_0x28b953;if(!_0x1f44e0['operator'])return this['titleStr'];const _0x4687d5=this[_0x177b5b(0x1f9)]['t'](OperatorTitleMap[_0x1f44e0['operator']])[_0x177b5b(0x1d4)](FORMULA1,(_0x1f925d=_0x1f44e0[_0x177b5b(0x262)])!=null?_0x1f925d:'')[_0x177b5b(0x1d4)](FORMULA2,(_0x28b953=_0x1f44e0['formula2'])!=null?_0x28b953:'');return this[_0x177b5b(0x22e)]+'\x20'+_0x4687d5;}[_0x2f5f5a(0x278)](_0x71714f){const _0x3a1a4a=_0x2f5f5a;var _0x3ee23b,_0x37fe76;return _0x71714f[_0x3a1a4a(0x1e8)]?''+this[_0x3a1a4a(0x1f9)]['t'](OperatorErrorTitleMap[_0x71714f['operator']])['replace'](FORMULA1,(_0x3ee23b=_0x71714f[_0x3a1a4a(0x262)])!=null?_0x3ee23b:'')[_0x3a1a4a(0x1d4)](FORMULA2,(_0x37fe76=_0x71714f[_0x3a1a4a(0x23b)])!=null?_0x37fe76:''):this['titleStr'];}[_0x2f5f5a(0x285)](_0x401daf,_0x1e4987,_0x17b75a){}[_0x2f5f5a(0x226)](_0x206c67){const _0x5bb36e=_0x2f5f5a;return _0x206c67[_0x5bb36e(0x22a)]&&_0x206c67[_0x5bb36e(0x22d)]?_0x206c67[_0x5bb36e(0x22d)]:this[_0x5bb36e(0x278)](_0x206c67);}[_0x2f5f5a(0x1fc)](_0x5ca9bc){return _0x5ca9bc===''||_0x5ca9bc===void 0x0||_0x5ca9bc===null;}['normalizeFormula'](_0x4ba6d7,_0x10fa9e,_0x22fecd){const _0x43fb27=_0x2f5f5a;return{'formula1':_0x4ba6d7[_0x43fb27(0x262)],'formula2':_0x4ba6d7['formula2']};}async[_0x2f5f5a(0x207)](_0x4beae6,_0x158253,_0x1e152b){return!0x0;}[_0x2f5f5a(0x25f)](_0x373fb4,_0x3335f0,_0x54b116){return _0x373fb4;}async[_0x2f5f5a(0x258)](_0x43bb89,_0x245030,_0x5dbcc8){return!0x0;}async['validatorIsNotEqual'](_0x11b85e,_0x895e45,_0x2413e7){return!0x0;}async[_0x2f5f5a(0x230)](_0x31aa27,_0x30eebd,_0x3c9d03){return!0x0;}async[_0x2f5f5a(0x1db)](_0x4693a6,_0x1abb57,_0x4fa0b5){return!0x0;}async[_0x2f5f5a(0x235)](_0x460399,_0x3d3406,_0x22f3ad){return!0x0;}async['validatorIsGreaterThanOrEqual'](_0x329462,_0x340a35,_0x3a76e3){return!0x0;}async[_0x2f5f5a(0x228)](_0x15b7a9,_0x471111,_0x1bad10){return!0x0;}async[_0x2f5f5a(0x1d2)](_0x514208,_0x78d34c,_0x1751f6){return!0x0;}async[_0x2f5f5a(0x1ee)](_0x13f0d8,_0x21bf18){const _0x540e87=_0x2f5f5a,{value:_0x3a84ea,unitId:_0x242dad,subUnitId:_0xd6c635}=_0x13f0d8,_0x22e293=this[_0x540e87(0x1fc)](_0x3a84ea),{allowBlank:allowBlank=!0x0,operator:_0x1beb70}=_0x21bf18;if(_0x22e293)return allowBlank;const _0x143492=await this[_0x540e87(0x251)](_0x21bf18,_0x242dad,_0xd6c635);if(!await this[_0x540e87(0x207)](_0x13f0d8,_0x143492,_0x21bf18))return!0x1;if(!Tools['isDefine'](_0x1beb70))return!0x0;const _0x1693e8=this[_0x540e87(0x25f)](_0x13f0d8,_0x143492,_0x21bf18);switch(_0x1beb70){case DataValidationOperator[_0x540e87(0x1d7)]:return this[_0x540e87(0x230)](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator[_0x540e87(0x1d0)]:return this[_0x540e87(0x258)](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator[_0x540e87(0x24f)]:return this['validatorIsGreaterThan'](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator[_0x540e87(0x25d)]:return this[_0x540e87(0x229)](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator[_0x540e87(0x23d)]:return this[_0x540e87(0x228)](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator[_0x540e87(0x260)]:return this[_0x540e87(0x1d2)](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator['NOT_BETWEEN']:return this['validatorIsNotBetween'](_0x1693e8,_0x143492,_0x21bf18);case DataValidationOperator['NOT_EQUAL']:return this[_0x540e87(0x215)](_0x1693e8,_0x143492,_0x21bf18);default:throw new Error('Unknown\x20operator.');}}},__name(_a4,'BaseDataValidator'),_a4);BaseDataValidator=__decorateClass([__decorateParam(0x0,Inject(LocaleService)),__decorateParam(0x1,Inject(Injector))],BaseDataValidator);export{AddDataValidationMutation,BaseDataValidator,DataValidationModel,DataValidationResourceController,DataValidatorRegistryScope,DataValidatorRegistryService,RemoveDataValidationMutation,TWO_FORMULA_OPERATOR_COUNT,TextLengthErrorTitleMap,UniverDataValidationPlugin,UpdateDataValidationMutation,UpdateRuleType,getRuleOptions,getRuleSetting};