@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/cjs/index.js +1 -1
- package/lib/es/index.js +1 -671
- package/lib/types/plugin.d.ts +2 -1
- package/lib/types/validators/base-data-validator.d.ts +2 -2
- package/lib/umd/index.js +1 -1
- package/package.json +7 -8
- package/LICENSE +0 -176
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};
|