@univerjs/sheets-data-validation 0.23.0 → 0.24.0-insiders.20260527-b1d726f
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/facade.js +3 -66
- package/lib/cjs/index.js +206 -163
- package/lib/cjs/locale/ar-SA.js +139 -0
- package/lib/cjs/locale/ca-ES.js +139 -0
- package/lib/cjs/locale/de-DE.js +139 -0
- package/lib/cjs/locale/en-US.js +154 -0
- package/lib/cjs/locale/es-ES.js +139 -0
- package/lib/cjs/locale/fa-IR.js +139 -0
- package/lib/cjs/locale/fr-FR.js +139 -0
- package/lib/cjs/locale/id-ID.js +139 -0
- package/lib/cjs/locale/it-IT.js +139 -0
- package/lib/cjs/locale/ja-JP.js +139 -0
- package/lib/cjs/locale/ko-KR.js +139 -0
- package/lib/cjs/locale/pl-PL.js +139 -0
- package/lib/cjs/locale/pt-BR.js +139 -0
- package/lib/cjs/locale/ru-RU.js +139 -0
- package/lib/cjs/locale/sk-SK.js +139 -0
- package/lib/cjs/locale/vi-VN.js +139 -0
- package/lib/cjs/locale/zh-CN.js +139 -0
- package/lib/cjs/locale/zh-HK.js +139 -0
- package/lib/cjs/locale/zh-TW.js +139 -0
- package/lib/es/facade.js +4 -67
- package/lib/es/index.js +204 -159
- package/lib/es/locale/ar-SA.js +138 -0
- package/lib/es/locale/ca-ES.js +138 -0
- package/lib/es/locale/de-DE.js +138 -0
- package/lib/es/locale/en-US.js +153 -0
- package/lib/es/locale/es-ES.js +138 -0
- package/lib/es/locale/fa-IR.js +138 -0
- package/lib/es/locale/fr-FR.js +138 -0
- package/lib/es/locale/id-ID.js +138 -0
- package/lib/es/locale/it-IT.js +138 -0
- package/lib/es/locale/ja-JP.js +138 -0
- package/lib/es/locale/ko-KR.js +138 -0
- package/lib/es/locale/pl-PL.js +138 -0
- package/lib/es/locale/pt-BR.js +138 -0
- package/lib/es/locale/ru-RU.js +138 -0
- package/lib/es/locale/sk-SK.js +138 -0
- package/lib/es/locale/vi-VN.js +138 -0
- package/lib/es/locale/zh-CN.js +138 -0
- package/lib/es/locale/zh-HK.js +138 -0
- package/lib/es/locale/zh-TW.js +138 -0
- package/lib/facade.js +4 -67
- package/lib/index.js +204 -159
- package/lib/locale/ar-SA.js +138 -0
- package/lib/locale/ca-ES.js +138 -0
- package/lib/locale/de-DE.js +138 -0
- package/lib/locale/en-US.js +153 -0
- package/lib/locale/es-ES.js +138 -0
- package/lib/locale/fa-IR.js +138 -0
- package/lib/locale/fr-FR.js +138 -0
- package/lib/locale/id-ID.js +138 -0
- package/lib/locale/it-IT.js +138 -0
- package/lib/locale/ja-JP.js +138 -0
- package/lib/locale/ko-KR.js +138 -0
- package/lib/locale/pl-PL.js +138 -0
- package/lib/locale/pt-BR.js +138 -0
- package/lib/locale/ru-RU.js +138 -0
- package/lib/locale/sk-SK.js +138 -0
- package/lib/locale/vi-VN.js +138 -0
- package/lib/locale/zh-CN.js +138 -0
- package/lib/locale/zh-HK.js +138 -0
- package/lib/locale/zh-TW.js +138 -0
- package/lib/types/facade/f-workbook.d.ts +1 -43
- package/lib/types/facade/f-worksheet.d.ts +0 -5
- package/lib/types/index.d.ts +6 -6
- package/lib/types/locale/ar-SA.d.ts +18 -0
- package/lib/types/locale/ca-ES.d.ts +18 -0
- package/lib/types/locale/de-DE.d.ts +18 -0
- package/lib/types/locale/en-US.d.ts +156 -0
- package/lib/types/locale/es-ES.d.ts +18 -0
- package/lib/types/locale/fa-IR.d.ts +18 -0
- package/lib/types/locale/fr-FR.d.ts +18 -0
- package/lib/types/locale/id-ID.d.ts +18 -0
- package/lib/types/locale/it-IT.d.ts +18 -0
- package/lib/types/locale/ja-JP.d.ts +18 -0
- package/lib/types/locale/ko-KR.d.ts +18 -0
- package/lib/types/locale/pl-PL.d.ts +18 -0
- package/lib/types/locale/pt-BR.d.ts +18 -0
- package/lib/types/locale/ru-RU.d.ts +18 -0
- package/lib/types/locale/sk-SK.d.ts +18 -0
- package/lib/types/locale/vi-VN.d.ts +18 -0
- package/lib/types/locale/zh-CN.d.ts +18 -0
- package/lib/types/locale/zh-HK.d.ts +18 -0
- package/lib/types/locale/zh-TW.d.ts +18 -0
- package/lib/types/types/const/operator-text-map.d.ts +2 -1
- package/lib/types/validators/any-validator.d.ts +2 -2
- package/lib/types/validators/base-sheet-validator.d.ts +26 -0
- package/lib/types/validators/checkbox-validator.d.ts +2 -2
- package/lib/types/validators/custom-validator.d.ts +2 -2
- package/lib/types/validators/date-validator.d.ts +2 -2
- package/lib/types/validators/decimal-validator.d.ts +2 -2
- package/lib/types/validators/list-validator.d.ts +2 -2
- package/lib/types/validators/text-length-validator.d.ts +2 -2
- package/lib/types/validators/util.d.ts +0 -2
- package/lib/types/validators/whole-validator.d.ts +2 -2
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ar-SA.js +1 -0
- package/lib/umd/locale/ca-ES.js +1 -0
- package/lib/umd/locale/de-DE.js +1 -0
- package/lib/umd/locale/en-US.js +1 -0
- package/lib/umd/locale/es-ES.js +1 -0
- package/lib/umd/locale/fa-IR.js +1 -0
- package/lib/umd/locale/fr-FR.js +1 -0
- package/lib/umd/locale/id-ID.js +1 -0
- package/lib/umd/locale/it-IT.js +1 -0
- package/lib/umd/locale/ja-JP.js +1 -0
- package/lib/umd/locale/ko-KR.js +1 -0
- package/lib/umd/locale/pl-PL.js +1 -0
- package/lib/umd/locale/pt-BR.js +1 -0
- package/lib/umd/locale/ru-RU.js +1 -0
- package/lib/umd/locale/sk-SK.js +1 -0
- package/lib/umd/locale/vi-VN.js +1 -0
- package/lib/umd/locale/zh-CN.js +1 -0
- package/lib/umd/locale/zh-HK.js +1 -0
- package/lib/umd/locale/zh-TW.js +1 -0
- package/package.json +13 -8
- package/LICENSE +0 -176
- /package/lib/types/services/{dv-validator-service.d.ts → dv-validator.service.d.ts} +0 -0
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets-data-validation`),require(`@univerjs/sheets/facade`),require(`@univerjs/data-validation`),require(`@univerjs/engine-formula`),require(`@univerjs/core/facade`),require(`rxjs`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-data-validation`,`@univerjs/sheets/facade`,`@univerjs/data-validation`,`@univerjs/engine-formula`,`@univerjs/core/facade`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDataValidationFacade={},e.UniverCore,e.UniverSheetsDataValidation,e.UniverSheetsFacade,e.UniverDataValidation,e.UniverEngineFormula,e.UniverCoreFacade,e.rxjs))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=class e{constructor(e){d(this,`_rule`,void 0),this._rule=e==null?{uid:(0,t.generateRandomId)(),ranges:void 0,type:t.DataValidationType.CUSTOM}:e}build(){return new p(this._rule)}copy(){return new e({...this._rule,uid:(0,t.generateRandomId)()})}getAllowInvalid(){return this._rule.errorStyle!==t.DataValidationErrorStyle.STOP}getCriteriaType(){return this._rule.type}getCriteriaValues(){return[this._rule.operator,this._rule.formula1,this._rule.formula2]}getHelpText(){return this._rule.error}requireCheckbox(e,n){return this._rule.type=t.DataValidationType.CHECKBOX,this._rule.formula1=e,this._rule.formula2=n,this}requireDateAfter(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.GREATER_THAN,this}requireDateBefore(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN,this}requireDateBetween(e,n){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=n.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.BETWEEN,this}requireDateEqualTo(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.EQUAL,this}requireDateNotBetween(e,n){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=n.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.NOT_BETWEEN,this}requireDateOnOrAfter(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN_OR_EQUAL,this}requireDateOnOrBefore(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN_OR_EQUAL,this}requireFormulaSatisfied(e){return this._rule.type=t.DataValidationType.CUSTOM,this._rule.formula1=e,this._rule.formula2=void 0,this}requireNumberBetween(e,n,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${n}`,this._rule.operator=t.DataValidationOperator.BETWEEN,this._rule.type=r?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberGreaterThan(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberGreaterThanOrEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN_OR_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberLessThan(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberLessThanOrEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN_OR_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberNotBetween(e,n,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${n}`,this._rule.operator=t.DataValidationOperator.NOT_BETWEEN,this._rule.type=r?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberNotEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.NOT_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireValueInList(e,n,r){return this._rule.type=n?t.DataValidationType.LIST_MULTIPLE:t.DataValidationType.LIST,this._rule.formula1=e.join(`,`),this._rule.formula2=void 0,this._rule.showDropDown=r==null?!0:r,this}requireValueInRange(e,n,r){return this._rule.type=n?t.DataValidationType.LIST_MULTIPLE:t.DataValidationType.LIST,this._rule.formula1=`=${(0,a.serializeRangeToRefString)({unitId:e.getUnitId(),sheetName:e.getSheetName(),range:e.getRange()})}`,this._rule.formula2=void 0,this._rule.showDropDown=r==null?!0:r,this}setAllowInvalid(e){return this._rule.errorStyle=e?t.DataValidationErrorStyle.WARNING:t.DataValidationErrorStyle.STOP,this}setAllowBlank(e){return this._rule.allowBlank=e,this}setOptions(e){return Object.assign(this._rule,e),this}},p=class{constructor(e,t,n){d(this,`rule`,void 0),d(this,`_worksheet`,void 0),d(this,`_injector`,void 0),this._injector=n,this.rule=e,this._worksheet=t}getAllowInvalid(){return this.rule.errorStyle!==t.DataValidationErrorStyle.STOP}getCriteriaType(){return this.rule.type}getCriteriaValues(){return[this.rule.operator,this.rule.formula1,this.rule.formula2]}getHelpText(){return this.rule.error}copy(){return new f(this.rule)}getApplied(){if(!this._worksheet)return!1;let e=this._injector.get(i.DataValidationModel).getRuleById(this._worksheet.getUnitId(),this._worksheet.getSheetId(),this.rule.uid);return!!(e&&e.ranges.length)}getRanges(){if(!this.getApplied())return[];let e=this._injector.get(t.IUniverInstanceService).getUnit(this._worksheet.getUnitId());return this.rule.ranges.map(t=>this._injector.createInstance(r.FRange,e,this._worksheet,t))}getUnitId(){var e;return(e=this._worksheet)==null?void 0:e.getUnitId()}getSheetId(){var e;return(e=this._worksheet)==null?void 0:e.getSheetId()}setCriteria(e,r,i=!0){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationSettingCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,setting:{operator:r[0],formula1:r[1],formula2:r[2],type:this.rule.type,allowBlank:i}}))throw Error(`setCriteria failed`);return this.rule.operator=r[0],this.rule.formula1=r[1],this.rule.formula2=r[2],this.rule.type=e,this.rule.allowBlank=i,this}setOptions(e){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationOptionsCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,options:{...(0,i.getRuleOptions)(this.rule),...e}}))throw Error(`setOptions failed`);return Object.assign(this.rule,e),this}setRanges(e){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationRangeCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,ranges:e.map(e=>e.getRange())}))throw Error(`setRanges failed`);return this.rule.ranges=e.map(e=>e.getRange()),this}delete(){return this.getApplied()?this._injector.get(t.ICommandService).syncExecuteCommand(n.RemoveSheetDataValidationCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid}):!1}},m=class extends r.FRange{setDataValidation(e){if(!e)return this._commandService.syncExecuteCommand(n.ClearRangeDataValidationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this;let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:{...e.rule,ranges:[this._range]}};return this._commandService.syncExecuteCommand(n.AddSheetDataValidationCommand.id,t),this}getDataValidation(){let e=this._injector.get(n.SheetsDataValidationValidatorService).getDataValidation(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]);return e&&new p(e,this._worksheet,this._injector)}getDataValidations(){return this._injector.get(n.SheetsDataValidationValidatorService).getDataValidations(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]).map(e=>new p(e,this._worksheet,this._injector))}async getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorRanges(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range])}async getDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForRange(e,t,[this._range])}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._worksheet,s=o.getName(),c=[];for(let l of i){let i=[];for(let u=l.startRow;u<=l.endRow;u++)for(let d=l.startColumn;d<=l.endColumn;d++)i.push((async()=>{try{if(await a.validatorCell(e,r,u,d)!==t.DataValidationStatus.VALID){let t=this._injector.get(n.SheetDataValidationModel).getRuleByLocation(e,r,u,d);if(t){var i;let e=((i=o.getCell(u,d))==null?void 0:i.v)||null,n=this._createDataValidationError(s,u,d,t,e);c.push(n)}}}catch(e){console.warn(`Failed to validate cell [${u}, ${d}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FRange.extend(m);var h=class extends o.FUniver{static newDataValidation(){return new f}newDataValidation(){return new f}_initialize(e){let r=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidationChanged,()=>e.has(n.SheetDataValidationModel)?e.get(n.SheetDataValidationModel).ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r,oldRule:i,type:a}=e,o=this.getSheetTarget(t,n);if(!o)return;let{workbook:s,worksheet:c}=o,l={origin:e,worksheet:c,workbook:s,changeType:a,oldRule:i,rule:new p(r,c.getSheet(),this._injector)};this.fireEvent(this.Event.SheetDataValidationChanged,l)}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidatorStatusChanged,()=>e.has(n.SheetDataValidationModel)?e.get(n.SheetDataValidationModel).validStatusChange$.subscribe(e=>{let{unitId:t,subUnitId:n,ruleId:r,status:i,row:a,col:o}=e,s=this.getSheetTarget(t,n);if(!s)return;let{workbook:c,worksheet:l}=s,u=l.getDataValidation(r);if(!u)return;let d={workbook:c,worksheet:l,row:a,column:o,rule:u,status:i};this.fireEvent(this.Event.SheetDataValidatorStatusChanged,d)}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationAdd,()=>r.beforeCommandExecuted(e=>{if(e.id===n.AddSheetDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o={worksheet:a,workbook:i,rule:n.rule};if(this.fireEvent(this.Event.BeforeSheetDataValidationAdd,o),o.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationCriteriaUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationSettingCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newCriteria:n.setting};if(this.fireEvent(this.Event.BeforeSheetDataValidationCriteriaUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationRangeUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationRangeCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newRanges:n.ranges};if(this.fireEvent(this.Event.BeforeSheetDataValidationRangeUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationOptionsUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationOptionsCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newOptions:n.options};if(this.fireEvent(this.Event.BeforeSheetDataValidationOptionsUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDelete,()=>r.beforeCommandExecuted(e=>{if(e.id===n.RemoveSheetDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId};if(this.fireEvent(this.Event.BeforeSheetDataValidationDelete,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDeleteAll,()=>r.beforeCommandExecuted(e=>{if(e.id===n.RemoveSheetAllDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o={worksheet:a,workbook:i,rules:a.getDataValidations()};if(this.fireEvent(this.Event.BeforeSheetDataValidationDeleteAll,o),o.cancel)throw new t.CanceledError}})))}};o.FUniver.extend(h);var g=class extends r.FWorkbook{_initialize(){Object.defineProperty(this,`_dataValidationModel`,{get(){return this._injector.get(n.SheetDataValidationModel)}})}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorkbook(this._workbook.getUnitId())}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._dataValidationModel.getSubUnitIds(e),n=[];for(let r of t){let t=await this._collectValidationErrorsForSheet(e,r);n.push(...t)}return n}async _collectValidationErrorsForSheet(e,t){let n=this._dataValidationModel.getRules(e,t);if(!n.length)return[];let r=n.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,r)}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._workbook.getSheetBySheetId(r);if(!o)throw Error(`Cannot find worksheet with sheetId: ${r}`);let s=o.getName(),c=[];for(let n of i){let i=[];for(let l=n.startRow;l<=n.endRow;l++)for(let u=n.startColumn;u<=n.endColumn;u++)i.push((async()=>{try{if(await a.validatorCell(e,r,l,u)!==t.DataValidationStatus.VALID){let t=this._dataValidationModel.getRuleByLocation(e,r,l,u);if(t){var n;let e=((n=o.getCell(l,u))==null?void 0:n.v)||null,r=this._createDataValidationError(s,l,u,t,e);c.push(r)}}}catch(e){console.warn(`Failed to validate cell [${l}, ${u}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}onDataValidationChange(e){return(0,t.toDisposable)(this._dataValidationModel.ruleChange$.pipe((0,s.filter)(e=>e.unitId===this._workbook.getUnitId())).subscribe(e))}onDataValidationStatusChange(e){return(0,t.toDisposable)(this._dataValidationModel.validStatusChange$.pipe((0,s.filter)(e=>e.unitId===this._workbook.getUnitId())).subscribe(e))}onBeforeAddDataValidation(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,r)=>{let i=t.params;if(t.id===n.AddSheetDataValidationCommand.id){if(i.unitId!==this._workbook.getUnitId())return;if(e(i,r)===!1)throw Error(`Command is stopped by the hook onBeforeAddDataValidation`)}}))}onBeforeUpdateDataValidationCriteria(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,r)=>{let i=t.params;if(t.id===n.UpdateSheetDataValidationSettingCommand.id){if(i.unitId!==this._workbook.getUnitId())return;if(e(i,r)===!1)throw Error(`Command is stopped by the hook onBeforeUpdateDataValidationCriteria`)}}))}onBeforeUpdateDataValidationRange(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,r)=>{let i=t.params;if(t.id===n.UpdateSheetDataValidationRangeCommand.id){if(i.unitId!==this._workbook.getUnitId())return;if(e(i,r)===!1)throw Error(`Command is stopped by the hook onBeforeUpdateDataValidationRange`)}}))}onBeforeUpdateDataValidationOptions(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,r)=>{let i=t.params;if(t.id===n.UpdateSheetDataValidationOptionsCommand.id){if(i.unitId!==this._workbook.getUnitId())return;if(e(i,r)===!1)throw Error(`Command is stopped by the hook onBeforeUpdateDataValidationOptions`)}}))}onBeforeDeleteDataValidation(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,r)=>{let i=t.params;if(t.id===n.RemoveSheetDataValidationCommand.id){if(i.unitId!==this._workbook.getUnitId())return;if(e(i,r)===!1)throw Error(`Command is stopped by the hook onBeforeDeleteDataValidation`)}}))}onBeforeDeleteAllDataValidation(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,r)=>{let i=t.params;if(t.id===n.RemoveSheetAllDataValidationCommand.id){if(i.unitId!==this._workbook.getUnitId())return;if(e(i,r)===!1)throw Error(`Command is stopped by the hook onBeforeDeleteAllDataValidation`)}}))}};r.FWorkbook.extend(g);var _=class extends r.FWorksheet{getDataValidations(){return this._injector.get(i.DataValidationModel).getRules(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(e=>new p(e,this._worksheet,this._injector))}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorksheet(this._workbook.getUnitId(),this._worksheet.getSheetId())}getValidatorStatusAsync(){return this.getValidatorStatus()}getDataValidation(e){let t=this._injector.get(i.DataValidationModel).getRuleById(this._workbook.getUnitId(),this._worksheet.getSheetId(),e);return t?new p(t,this._worksheet,this._injector):null}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForSheet(e,t)}async _collectValidationErrorsForSheet(e,t){let n=this._injector.get(i.DataValidationModel).getRules(e,t);if(!n.length)return[];let r=n.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,r)}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._worksheet,s=o.getName(),c=[];for(let l of i){let i=[];for(let u=l.startRow;u<=l.endRow;u++)for(let d=l.startColumn;d<=l.endColumn;d++)i.push((async()=>{try{if(await a.validatorCell(e,r,u,d)!==t.DataValidationStatus.VALID){let t=this._injector.get(n.SheetDataValidationModel).getRuleByLocation(e,r,u,d);if(t){var i;let e=((i=o.getCell(u,d))==null?void 0:i.v)||null,n=this._createDataValidationError(s,u,d,t,e);c.push(n)}}}catch(e){console.warn(`Failed to validate cell [${u}, ${d}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FWorksheet.extend(_);var v=class extends o.FEventName{get SheetDataValidationChanged(){return`SheetDataValidationChanged`}get SheetDataValidatorStatusChanged(){return`SheetDataValidatorStatusChanged`}get BeforeSheetDataValidationAdd(){return`BeforeSheetDataValidationAdd`}get BeforeSheetDataValidationDelete(){return`BeforeSheetDataValidationDelete`}get BeforeSheetDataValidationDeleteAll(){return`BeforeSheetDataValidationDeleteAll`}get BeforeSheetDataValidationCriteriaUpdate(){return`BeforeSheetDataValidationCriteriaUpdate`}get BeforeSheetDataValidationRangeUpdate(){return`BeforeSheetDataValidationRangeUpdate`}get BeforeSheetDataValidationOptionsUpdate(){return`BeforeSheetDataValidationOptionsUpdate`}};o.FEventName.extend(v),e.FDataValidation=p,e.FDataValidationBuilder=f});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets-data-validation`),require(`@univerjs/sheets/facade`),require(`@univerjs/data-validation`),require(`@univerjs/engine-formula`),require(`@univerjs/sheets`),require(`@univerjs/core/facade`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-data-validation`,`@univerjs/sheets/facade`,`@univerjs/data-validation`,`@univerjs/engine-formula`,`@univerjs/sheets`,`@univerjs/core/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDataValidationFacade={},e.UniverCore,e.UniverSheetsDataValidation,e.UniverSheetsFacade,e.UniverDataValidation,e.UniverEngineFormula,e.UniverSheets,e.UniverCoreFacade))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=class e{constructor(e){d(this,`_rule`,void 0),this._rule=e==null?{uid:(0,t.generateRandomId)(),ranges:void 0,type:t.DataValidationType.CUSTOM}:e}build(){return new p(this._rule)}copy(){return new e({...this._rule,uid:(0,t.generateRandomId)()})}getAllowInvalid(){return this._rule.errorStyle!==t.DataValidationErrorStyle.STOP}getCriteriaType(){return this._rule.type}getCriteriaValues(){return[this._rule.operator,this._rule.formula1,this._rule.formula2]}getHelpText(){return this._rule.error}requireCheckbox(e,n){return this._rule.type=t.DataValidationType.CHECKBOX,this._rule.formula1=e,this._rule.formula2=n,this}requireDateAfter(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.GREATER_THAN,this}requireDateBefore(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN,this}requireDateBetween(e,n){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=n.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.BETWEEN,this}requireDateEqualTo(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.EQUAL,this}requireDateNotBetween(e,n){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=n.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.NOT_BETWEEN,this}requireDateOnOrAfter(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN_OR_EQUAL,this}requireDateOnOrBefore(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN_OR_EQUAL,this}requireFormulaSatisfied(e){return this._rule.type=t.DataValidationType.CUSTOM,this._rule.formula1=e,this._rule.formula2=void 0,this}requireNumberBetween(e,n,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${n}`,this._rule.operator=t.DataValidationOperator.BETWEEN,this._rule.type=r?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberGreaterThan(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberGreaterThanOrEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN_OR_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberLessThan(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberLessThanOrEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN_OR_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberNotBetween(e,n,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${n}`,this._rule.operator=t.DataValidationOperator.NOT_BETWEEN,this._rule.type=r?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberNotEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.NOT_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireValueInList(e,n,r){return this._rule.type=n?t.DataValidationType.LIST_MULTIPLE:t.DataValidationType.LIST,this._rule.formula1=(0,o.serializeListOptions)(e),this._rule.formula2=void 0,this._rule.showDropDown=r==null?!0:r,this}requireValueInRange(e,n,r){return this._rule.type=n?t.DataValidationType.LIST_MULTIPLE:t.DataValidationType.LIST,this._rule.formula1=`=${(0,a.serializeRangeToRefString)({unitId:e.getUnitId(),sheetName:e.getSheetName(),range:e.getRange()})}`,this._rule.formula2=void 0,this._rule.showDropDown=r==null?!0:r,this}setAllowInvalid(e){return this._rule.errorStyle=e?t.DataValidationErrorStyle.WARNING:t.DataValidationErrorStyle.STOP,this}setAllowBlank(e){return this._rule.allowBlank=e,this}setOptions(e){return Object.assign(this._rule,e),this}},p=class{constructor(e,t,n){d(this,`rule`,void 0),d(this,`_worksheet`,void 0),d(this,`_injector`,void 0),this._injector=n,this.rule=e,this._worksheet=t}getAllowInvalid(){return this.rule.errorStyle!==t.DataValidationErrorStyle.STOP}getCriteriaType(){return this.rule.type}getCriteriaValues(){return[this.rule.operator,this.rule.formula1,this.rule.formula2]}getHelpText(){return this.rule.error}copy(){return new f(this.rule)}getApplied(){if(!this._worksheet)return!1;let e=this._injector.get(i.DataValidationModel).getRuleById(this._worksheet.getUnitId(),this._worksheet.getSheetId(),this.rule.uid);return!!(e&&e.ranges.length)}getRanges(){if(!this.getApplied())return[];let e=this._injector.get(t.IUniverInstanceService).getUnit(this._worksheet.getUnitId());return this.rule.ranges.map(t=>this._injector.createInstance(r.FRange,e,this._worksheet,t))}getUnitId(){var e;return(e=this._worksheet)==null?void 0:e.getUnitId()}getSheetId(){var e;return(e=this._worksheet)==null?void 0:e.getSheetId()}setCriteria(e,r,i=!0){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationSettingCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,setting:{operator:r[0],formula1:r[1],formula2:r[2],type:this.rule.type,allowBlank:i}}))throw Error(`setCriteria failed`);return this.rule.operator=r[0],this.rule.formula1=r[1],this.rule.formula2=r[2],this.rule.type=e,this.rule.allowBlank=i,this}setOptions(e){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationOptionsCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,options:{...(0,i.getRuleOptions)(this.rule),...e}}))throw Error(`setOptions failed`);return Object.assign(this.rule,e),this}setRanges(e){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationRangeCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,ranges:e.map(e=>e.getRange())}))throw Error(`setRanges failed`);return this.rule.ranges=e.map(e=>e.getRange()),this}delete(){return this.getApplied()?this._injector.get(t.ICommandService).syncExecuteCommand(n.RemoveSheetDataValidationCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid}):!1}},m=class extends r.FRange{setDataValidation(e){if(!e)return this._commandService.syncExecuteCommand(n.ClearRangeDataValidationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this;let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:{...e.rule,ranges:[this._range]}};return this._commandService.syncExecuteCommand(n.AddSheetDataValidationCommand.id,t),this}getDataValidation(){let e=this._injector.get(n.SheetsDataValidationValidatorService).getDataValidation(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]);return e&&new p(e,this._worksheet,this._injector)}getDataValidations(){return this._injector.get(n.SheetsDataValidationValidatorService).getDataValidations(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]).map(e=>new p(e,this._worksheet,this._injector))}async getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorRanges(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range])}async getDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForRange(e,t,[this._range])}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._worksheet,s=o.getName(),c=[];for(let l of i){let i=[];for(let u=l.startRow;u<=l.endRow;u++)for(let d=l.startColumn;d<=l.endColumn;d++)i.push((async()=>{try{if(await a.validatorCell(e,r,u,d)!==t.DataValidationStatus.VALID){let t=this._injector.get(n.SheetDataValidationModel).getRuleByLocation(e,r,u,d);if(t){var i;let e=((i=o.getCell(u,d))==null?void 0:i.v)||null,n=this._createDataValidationError(s,u,d,t,e);c.push(n)}}}catch(e){console.warn(`Failed to validate cell [${u}, ${d}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FRange.extend(m);var h=class extends s.FUniver{static newDataValidation(){return new f}newDataValidation(){return new f}_initialize(e){let r=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidationChanged,()=>e.has(n.SheetDataValidationModel)?e.get(n.SheetDataValidationModel).ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r,oldRule:i,type:a}=e,o=this.getSheetTarget(t,n);if(!o)return;let{workbook:s,worksheet:c}=o,l={origin:e,worksheet:c,workbook:s,changeType:a,oldRule:i,rule:new p(r,c.getSheet(),this._injector)};this.fireEvent(this.Event.SheetDataValidationChanged,l)}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidatorStatusChanged,()=>e.has(n.SheetDataValidationModel)?e.get(n.SheetDataValidationModel).validStatusChange$.subscribe(e=>{let{unitId:t,subUnitId:n,ruleId:r,status:i,row:a,col:o}=e,s=this.getSheetTarget(t,n);if(!s)return;let{workbook:c,worksheet:l}=s,u=l.getDataValidation(r);if(!u)return;let d={workbook:c,worksheet:l,row:a,column:o,rule:u,status:i};this.fireEvent(this.Event.SheetDataValidatorStatusChanged,d)}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationAdd,()=>r.beforeCommandExecuted(e=>{if(e.id===n.AddSheetDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o={worksheet:a,workbook:i,rule:n.rule};if(this.fireEvent(this.Event.BeforeSheetDataValidationAdd,o),o.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationCriteriaUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationSettingCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newCriteria:n.setting};if(this.fireEvent(this.Event.BeforeSheetDataValidationCriteriaUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationRangeUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationRangeCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newRanges:n.ranges};if(this.fireEvent(this.Event.BeforeSheetDataValidationRangeUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationOptionsUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationOptionsCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newOptions:n.options};if(this.fireEvent(this.Event.BeforeSheetDataValidationOptionsUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDelete,()=>r.beforeCommandExecuted(e=>{if(e.id===n.RemoveSheetDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId};if(this.fireEvent(this.Event.BeforeSheetDataValidationDelete,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDeleteAll,()=>r.beforeCommandExecuted(e=>{if(e.id===n.RemoveSheetAllDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o={worksheet:a,workbook:i,rules:a.getDataValidations()};if(this.fireEvent(this.Event.BeforeSheetDataValidationDeleteAll,o),o.cancel)throw new t.CanceledError}})))}};s.FUniver.extend(h);var g=class extends r.FWorkbook{_initialize(){Object.defineProperty(this,`_dataValidationModel`,{get(){return this._injector.get(n.SheetDataValidationModel)}})}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorkbook(this._workbook.getUnitId())}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._dataValidationModel.getSubUnitIds(e),n=[];for(let r of t){let t=await this._collectValidationErrorsForSheet(e,r);n.push(...t)}return n}async _collectValidationErrorsForSheet(e,t){let n=this._dataValidationModel.getRules(e,t);if(!n.length)return[];let r=n.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,r)}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._workbook.getSheetBySheetId(r);if(!o)throw Error(`Cannot find worksheet with sheetId: ${r}`);let s=o.getName(),c=[];for(let n of i){let i=[];for(let l=n.startRow;l<=n.endRow;l++)for(let u=n.startColumn;u<=n.endColumn;u++)i.push((async()=>{try{if(await a.validatorCell(e,r,l,u)!==t.DataValidationStatus.VALID){let t=this._dataValidationModel.getRuleByLocation(e,r,l,u);if(t){var n;let e=((n=o.getCell(l,u))==null?void 0:n.v)||null,r=this._createDataValidationError(s,l,u,t,e);c.push(r)}}}catch(e){console.warn(`Failed to validate cell [${l}, ${u}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FWorkbook.extend(g);var _=class extends r.FWorksheet{getDataValidations(){return this._injector.get(i.DataValidationModel).getRules(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(e=>new p(e,this._worksheet,this._injector))}getValidatorStatusAsync(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorksheet(this._workbook.getUnitId(),this._worksheet.getSheetId())}getDataValidation(e){let t=this._injector.get(i.DataValidationModel).getRuleById(this._workbook.getUnitId(),this._worksheet.getSheetId(),e);return t?new p(t,this._worksheet,this._injector):null}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForSheet(e,t)}async _collectValidationErrorsForSheet(e,t){let n=this._injector.get(i.DataValidationModel).getRules(e,t);if(!n.length)return[];let r=n.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,r)}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._worksheet,s=o.getName(),c=[];for(let l of i){let i=[];for(let u=l.startRow;u<=l.endRow;u++)for(let d=l.startColumn;d<=l.endColumn;d++)i.push((async()=>{try{if(await a.validatorCell(e,r,u,d)!==t.DataValidationStatus.VALID){let t=this._injector.get(n.SheetDataValidationModel).getRuleByLocation(e,r,u,d);if(t){var i;let e=((i=o.getCell(u,d))==null?void 0:i.v)||null,n=this._createDataValidationError(s,u,d,t,e);c.push(n)}}}catch(e){console.warn(`Failed to validate cell [${u}, ${d}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FWorksheet.extend(_);var v=class extends s.FEventName{get SheetDataValidationChanged(){return`SheetDataValidationChanged`}get SheetDataValidatorStatusChanged(){return`SheetDataValidatorStatusChanged`}get BeforeSheetDataValidationAdd(){return`BeforeSheetDataValidationAdd`}get BeforeSheetDataValidationDelete(){return`BeforeSheetDataValidationDelete`}get BeforeSheetDataValidationDeleteAll(){return`BeforeSheetDataValidationDeleteAll`}get BeforeSheetDataValidationCriteriaUpdate(){return`BeforeSheetDataValidationCriteriaUpdate`}get BeforeSheetDataValidationRangeUpdate(){return`BeforeSheetDataValidationRangeUpdate`}get BeforeSheetDataValidationOptionsUpdate(){return`BeforeSheetDataValidationOptionsUpdate`}};s.FEventName.extend(v),e.FDataValidation=p,e.FDataValidationBuilder=f});
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/data-validation`),require(`@univerjs/engine-formula`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/protocol`),require(`@univerjs/sheets-formula`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/data-validation`,`@univerjs/engine-formula`,`@univerjs/sheets`,`rxjs`,`@univerjs/protocol`,`@univerjs/sheets-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDataValidation={},e.UniverCore,e.UniverDataValidation,e.UniverEngineFormula,e.UniverSheets,e.rxjs,e.UniverProtocol,e.UniverSheetsFormula))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){return function(n,r){t(n,r,e)}}function p(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let m=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._univerInstanceService=t,this._sheetDataValidationModel=n,d(this,`_cacheMatrix`,new Map),d(this,`_dirtyRanges$`,new a.Subject),d(this,`dirtyRanges$`,this._dirtyRanges$.asObservable()),this._initDirtyRanges(),this._initSheetRemove()}_initDirtyRanges(){this.disposeWithMe(this._commandService.onCommandExecuted((e,n)=>{if(e.id===i.SetRangeValuesMutation.id&&!(n!=null&&n.onlyLocal)){let{cellValue:n,unitId:r,subUnitId:i}=e.params;if(n){let e=new t.ObjectMatrix(n).getDataRange();if(e.endRow===-1)return;let a=this._sheetDataValidationModel.getRules(r,i).map(e=>e.ranges).flat().map(n=>(0,t.getIntersectRange)(n,e)).filter(Boolean);a.length&&this.markRangeDirty(r,i,a,!0)}}}))}_initSheetRemove(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.RemoveSheetMutation.id){var t;let{unitId:n,subUnitId:r}=e.params;(t=this._cacheMatrix.get(n))==null||t.delete(r)}})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{e.type===t.UniverInstanceType.UNIVER_SHEET&&this._cacheMatrix.delete(e.getUnitId())}))}_ensureCache(e,n){let r=this._cacheMatrix.get(e);r||(r=new Map,this._cacheMatrix.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}ensureCache(e,t){return this._ensureCache(e,t)}addRule(e,t,n){this.markRangeDirty(e,t,n.ranges)}removeRule(e,t,n){this._deleteRange(e,t,n.ranges)}markRangeDirty(e,n,r,i){let a=this._ensureCache(e,n);r.forEach(e=>{t.Range.foreach(e,(e,t)=>{a.getValue(e,t)!==void 0&&a.setValue(e,t,void 0)})}),this._dirtyRanges$.next({unitId:e,subUnitId:n,ranges:r,isSetRange:i})}_deleteRange(e,n,r){let i=this._ensureCache(e,n);r.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.realDeleteValue(e,t)})}),this._dirtyRanges$.next({unitId:e,subUnitId:n,ranges:r})}getValue(e,t,n,r){return this._ensureCache(e,t).getValue(n,r)}};m=p([f(0,(0,t.Inject)(t.ICommandService)),f(1,(0,t.Inject)(t.IUniverInstanceService)),f(2,(0,t.Inject)(n.DataValidationModel))],m);function h(e){var t;return e==null||(t=e[0])==null||(t=t[0])==null?void 0:t.v}function g(e){var t;return e==null||(t=e[0])==null?void 0:t[0]}function _(e){return!r.ERROR_TYPE_SET.has(e)}function v(e,t){var n;let r=t.getValidatorItem(e);return(n=r==null?void 0:r.offsetFormulaByRange)==null?!1:n}let y=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._instanceSrv=e,this._registerOtherFormulaService=t,this._dataValidationModel=n,this._dataValidationCacheService=r,this._validatorRegistryService=i,d(this,`_ruleFormulaMap`,new Map),d(this,`_ruleFormulaMap2`,new Map),this._initFormulaResultHandler(),this._initDirtyRanges()}dispose(){super.dispose(),this._ruleFormulaMap.clear(),this._ruleFormulaMap2.clear()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let n in e){let r=e[n];if(this._instanceSrv.getUnitType(n)===t.UniverInstanceType.UNIVER_SHEET)for(let e in r){let t=r[e],{ruleFormulaMap:i}=this._ensureMaps(n,e);t.forEach(t=>{var r,a;let o=i.get((r=t.extra)==null?void 0:r.ruleId),s=this._dataValidationModel.getRuleById(n,e,(a=t.extra)==null?void 0:a.ruleId);s&&o&&this._dataValidationCacheService.markRangeDirty(n,e,s.ranges)})}}}))}_ensureMaps(e,t){let n=this._ruleFormulaMap.get(e),r=this._ruleFormulaMap2.get(e);n||(n=new Map,this._ruleFormulaMap.set(e,n)),r||(r=new Map,this._ruleFormulaMap2.set(e,r));let i=n.get(t);i||(i=new Map,n.set(t,i));let a=r.get(t);return a||(a=new Map,r.set(t,a)),{ruleFormulaMap:i,ruleFormulaMap2:a}}_registerFormula(e,t,n,i,a){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,i,a,{ruleId:n},r.OtherFormulaBizType.DATA_VALIDATION_CUSTOM,n)}_handleDirtyRanges(e,n,r){this._dataValidationModel.getRules(e,n).forEach(i=>{let a=i.ranges;t.Rectangle.doAnyRangesIntersect(a,r)&&this.makeRuleDirty(e,n,i.uid)})}_initDirtyRanges(){this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.subscribe(e=>{e.isSetRange&&this._handleDirtyRanges(e.unitId,e.subUnitId,e.ranges)}))}deleteByRuleId(e,t,n){let{ruleFormulaMap:r,ruleFormulaMap2:i}=this._ensureMaps(e,t),a=this._dataValidationModel.getRuleById(e,t,n),o=r.get(n);if(!a||!o)return;let s=r.get(n);s&&(r.delete(n),this._registerOtherFormulaService.deleteFormula(e,t,[s.formulaId]));let c=i.get(n);c&&(i.delete(n),this._registerOtherFormulaService.deleteFormula(e,t,[c.formulaId]))}_addFormulaByRange(e,n,r,i,a,o){let{ruleFormulaMap:s,ruleFormulaMap2:c}=this._ensureMaps(e,n),l=o[0].startRow,u=o[0].startColumn;if(i&&(0,t.isFormulaString)(i)){let t=this._registerFormula(e,n,r,i,o);s.set(r,{formula:i,originCol:u,originRow:l,formulaId:t})}if(a&&(0,t.isFormulaString)(a)){let t=this._registerFormula(e,n,r,a,o);c.set(r,{formula:a,originCol:u,originRow:l,formulaId:t})}}addRule(e,t,n){if(v(n.type,this._validatorRegistryService)){let{ranges:r,formula1:i,formula2:a,uid:o}=n;this._addFormulaByRange(e,t,o,i,a,r)}}async getCellFormulaValue(e,t,n,r,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return Promise.resolve(void 0);let c=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}async getCellFormula2Value(e,t,n,r,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return Promise.resolve(void 0);let c=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getCellFormulaValueSync(e,t,n,r,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return;let c=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getCellFormula2ValueSync(e,t,n,r,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return;let c=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getRuleFormulaInfo(e,t,n){let{ruleFormulaMap:r}=this._ensureMaps(e,t);return r.get(n)}makeRuleDirty(e,t,n){var r,i;let a=(r=this._ruleFormulaMap.get(e))==null||(r=r.get(t))==null?void 0:r.get(n),o=(i=this._ruleFormulaMap2.get(e))==null||(i=i.get(t))==null?void 0:i.get(n);a&&this._registerOtherFormulaService.markFormulaDirty(e,t,a.formulaId),o&&this._registerOtherFormulaService.markFormulaDirty(e,t,o.formulaId)}};y=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(r.RegisterOtherFormulaService)),f(2,(0,t.Inject)(n.DataValidationModel)),f(3,(0,t.Inject)(m)),f(4,(0,t.Inject)(n.DataValidatorRegistryService))],y);function b(e){return(0,t.getOriginCellValue)(e)}function ee(e){var t;return String((t=b(e))==null?``:t)}function te(e){return e.filter(Boolean).join(`,`)}function x(e){return e.split(`,`).filter(Boolean)}function ne(e){let t=b(e);return t==null?``:t.toString()}function S(e,n,r){let{formula1:i,formula2:a}=n,o=n.ranges[0].startRow,s=n.ranges[0].startColumn,c=r.row-o,l=r.col-s;return{transformedFormula1:(0,t.isFormulaString)(i)?e.moveFormulaRefOffset(i,l,c,!0):i,transformedFormula2:(0,t.isFormulaString)(a)?e.moveFormulaRefOffset(a,l,c,!0):a}}let C=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._dataValidationModel=t,d(this,`_cache`,new Map),this._initRuleChangeListener()}_initRuleChangeListener(){this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{(e.type===`remove`||e.type===`update`)&&this.markRuleDirty(e.unitId,e.subUnitId,e.rule.uid)}))}getOrCompute(e,t,n){let r=this.getCache(e,t,n.uid);if(r)return r;let i=this._injector.get(w).getRuleFormulaResultSync(e,t,n.uid);return this.computeAndCache(e,t,n,i)}_ensureCache(e,t){let n=this._cache.get(e);n||(n=new Map,this._cache.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}getCache(e,t,n){var r;return(r=this._cache.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}setCache(e,t,n,r){this._ensureCache(e,t).set(n,r)}markRuleDirty(e,t,n){var r;(r=this._cache.get(e))==null||(r=r.get(t))==null||r.delete(n)}clear(){this._cache.clear()}computeAndCache(e,n,r,i){var a;let{formula1:o=``,formula2:s=``}=r,c=(0,t.isFormulaString)(o)?this._getRuleFormulaResultSet(i==null||(a=i[0])==null||(a=a.result)==null||(a=a[0])==null?void 0:a[0]):x(o),l=s.split(`,`),u=c.map((e,t)=>({label:e,color:l[t]||``})),d={};for(let e of u)e.color&&(d[e.label]=e.color);let f={list:c,listWithColor:u,colorMap:d,set:new Set(c)};return this.setCache(e,n,r.uid,f),f}_getRuleFormulaResultSet(e){if(!e)return[];let n=new Set;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a)for(let e=0,i=a.length;e<i;e++){let i=a[e],o=b(i);if(o!=null){var r;if(typeof o!=`string`&&typeof(i==null?void 0:i.s)==`object`&&!((r=i.s)==null||(r=r.n)==null)&&r.pattern){n.add(t.numfmt.format(i.s.n.pattern,o,{throws:!1}));continue}let e=typeof o==`string`?o:String(o);_(e)&&n.add(e)}}}return[...n]}};C=p([f(0,(0,t.Inject)(t.Injector)),f(1,(0,t.Inject)(n.DataValidationModel))],C);let w=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._instanceService=e,this._registerOtherFormulaService=t,this._dataValidationCacheService=n,this._dataValidationModel=r,this._validatorRegistryService=i,this._listCacheService=a,d(this,`_formulaRuleMap`,new Map),this._initFormulaResultHandler()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let n in e){let r=e[n];if(this._instanceService.getUnitType(n)===t.UniverInstanceType.UNIVER_SHEET)for(let e in r){let t=r[e],i=this._ensureRuleFormulaMap(n,e);t.forEach(t=>{var r;let a=(r=t.extra)==null?void 0:r.ruleId;if(a&&i.get(a)){let t=this._dataValidationModel.getRuleById(n,e,a);t&&(this._listCacheService.markRuleDirty(n,e,a),this._dataValidationCacheService.markRangeDirty(n,e,t.ranges))}})}}}))}_ensureRuleFormulaMap(e,t){let n=this._formulaRuleMap.get(e);n||(n=new Map,this._formulaRuleMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_registerSingleFormula(e,t,n,i){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,n,[{startColumn:0,endColumn:0,startRow:0,endRow:0}],{ruleId:i},r.OtherFormulaBizType.DATA_VALIDATION,i)}addRule(e,n,r){if(!v(r.type,this._validatorRegistryService)&&r.type!==t.DataValidationType.CHECKBOX){let{formula1:i,formula2:a,uid:o}=r,s=(0,t.isFormulaString)(i),c=(0,t.isFormulaString)(a);if(!s&&!c)return;let l=this._ensureRuleFormulaMap(e,n),u=[void 0,void 0];s&&(u[0]={id:this._registerSingleFormula(e,n,i,o),text:i}),c&&(u[1]={id:this._registerSingleFormula(e,n,a,o),text:a}),l.set(o,u)}}removeRule(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(!r)return;let[i,a]=r,o=[i==null?void 0:i.id,a==null?void 0:a.id].filter(Boolean);o.length&&this._registerOtherFormulaService.deleteFormula(e,t,o)}getRuleFormulaResult(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(!r)return Promise.resolve(null);let i=async n=>n&&this._registerOtherFormulaService.getFormulaValue(e,t,n.id);return Promise.all([i(r[0]),i(r[1])])}getRuleFormulaResultSync(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(r)return r.map(n=>{if(n)return this._registerOtherFormulaService.getFormulaValueSync(e,t,n.id)})}getRuleFormulaInfo(e,t,n){return this._ensureRuleFormulaMap(e,t).get(n)}};w=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(r.RegisterOtherFormulaService)),f(2,(0,t.Inject)(m)),f(3,(0,t.Inject)(n.DataValidationModel)),f(4,(0,t.Inject)(n.DataValidatorRegistryService)),f(5,(0,t.Inject)(C))],w);var re=class e{constructor(e,n,r,i,a=!1){this._unitId=n,this._subUnitId=r,this._univerInstanceService=i,this._disableTree=a,d(this,`_map`,void 0),d(this,`_tree`,new t.RBush),d(this,`_dirty`,!0),d(this,`_buildTree`,()=>{if(!this._dirty||this._disableTree)return;this._tree.clear();let e=[];this._map.forEach((t,n)=>{t.forEach(t=>{e.push({minX:t.startRow,maxX:t.endRow,minY:t.startColumn,maxY:t.endColumn,ruleId:n})})}),this._tree.load(e),this._dirty=!1}),d(this,`_debonceBuildTree`,(0,t.debounce)(this._buildTree,0)),this._map=e,this._buildTree()}get _worksheet(){var e;return(e=this._univerInstanceService.getUnit(this._unitId,t.UniverInstanceType.UNIVER_SHEET))==null?void 0:e.getSheetBySheetId(this._subUnitId)}_addRule(e,n){if(!this._worksheet)return;let r=t.Rectangle.mergeRanges(n.map(e=>t.Range.transformRange(e,this._worksheet)));this._map.forEach((e,n)=>{let i=t.Rectangle.subtractMulti(e,r);i.length===0?this._map.delete(n):this._map.set(n,i)}),this._dirty=!0,this._map.set(e,r),this._debonceBuildTree()}addRule(e){this._addRule(e.uid,e.ranges)}removeRange(e){if(!this._worksheet)return;let n=e.map(e=>t.Range.transformRange(e,this._worksheet));this._map.forEach((e,r)=>{let i=t.Rectangle.subtractMulti(e,n);i.length===0?this._map.delete(r):this._map.set(r,i)}),this._dirty=!0,this._debonceBuildTree()}_removeRule(e){this._map.delete(e),this._dirty=!0,this._debonceBuildTree()}removeRule(e){this._removeRule(e.uid)}updateRange(e,t){this._removeRule(e),this._addRule(e,t)}addRangeRules(e){e.forEach(({id:e,ranges:n})=>{if(!n.length)return;let r=this._map.get(e);r?(this._map.set(e,t.Rectangle.mergeRanges([...r,...n])),r=this._map.get(e)):(r=n,this._map.set(e,r)),this._map.forEach((r,i)=>{if(i===e)return;let a=t.Rectangle.subtractMulti(r,n);a.length===0?this._map.delete(i):this._map.set(i,a)})}),this._dirty=!0,this._debonceBuildTree()}diff(e){let n=[],r=0;return e.forEach((e,i)=>{var a;let o=(a=this._map.get(e.uid))==null?[]:a,s=e.ranges;o.length!==0&&(o.length!==s.length||o.some((e,n)=>!t.Rectangle.equals(e,s[n])))&&n.push({type:`update`,ruleId:e.uid,oldRanges:s,newRanges:t.Rectangle.sort(o),rule:e}),o.length===0&&(n.push({type:`delete`,rule:e,index:i-r}),r++)}),n}diffWithAddition(e,n){let r=[],i=0;return e.forEach((e,n)=>{var a;let o=(a=this._map.get(e.uid))==null?[]:a,s=e.ranges;o.length!==0&&(o.length!==s.length||o.some((e,n)=>!t.Rectangle.equals(e,s[n])))&&r.push({type:`update`,ruleId:e.uid,oldRanges:s,newRanges:t.Rectangle.sort(o),rule:e}),o.length===0&&(r.push({type:`delete`,rule:e,index:n-i}),i++)}),Array.from(n).forEach(e=>{var n;let i=(n=this._map.get(e.uid))==null?[]:n;r.push({type:`add`,rule:{...e,ranges:t.Rectangle.sort(i)}})}),r}clone(){return new e(new Map(t.Tools.deepClone(Array.from(this._map.entries()))),this._unitId,this._subUnitId,this._univerInstanceService,!0)}getValue(e,t){this._dirty&&this._buildTree();let n=this._tree.search({minX:e,maxX:e,minY:t,maxY:t});return n.length>0?n[0].ruleId:void 0}};let T=class extends t.Disposable{constructor(e,t,n,r,i,o,s){super(),this._dataValidationModel=e,this._univerInstanceService=t,this._dataValidatorRegistryService=n,this._dataValidationCacheService=r,this._dataValidationFormulaService=i,this._dataValidationCustomFormulaService=o,this._commandService=s,d(this,`_ruleMatrixMap`,new Map),d(this,`_validStatusChange$`,new a.Subject),d(this,`_ruleChange$`,new a.Subject),d(this,`ruleChange$`,this._ruleChange$.asObservable()),d(this,`validStatusChange$`,this._validStatusChange$.asObservable()),this._initRuleUpdateListener(),this.disposeWithMe(()=>{this._ruleChange$.complete(),this._validStatusChange$.complete()}),this._initUniverInstanceListener()}_initUniverInstanceListener(){this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{this._ruleMatrixMap.delete(e.getUnitId())})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.RemoveSheetMutation.id){let{unitId:t,subUnitId:n}=e.params,r=this._ruleMatrixMap.get(t);r&&r.delete(n)}}))}_initRuleUpdateListener(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this._addRule(t,e,n),this._ruleChange$.next({type:`add`,unitId:t,subUnitId:e,rule:n,source:`patched`});this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{switch(e.type){case`add`:this._addRule(e.unitId,e.subUnitId,e.rule);break;case`update`:this._updateRule(e.unitId,e.subUnitId,e.rule.uid,e.oldRule,e.updatePayload);break;case`remove`:this._removeRule(e.unitId,e.subUnitId,e.rule);break}this._ruleChange$.next(e)}))}_ensureRuleMatrix(e,t){let n=this._ruleMatrixMap.get(e);n||(n=new Map,this._ruleMatrixMap.set(e,n));let r=n.get(t);return r||(r=new re(new Map,e,t,this._univerInstanceService),n.set(t,r)),r}_addRuleSideEffect(e,t,n){this._ensureRuleMatrix(e,t).addRule(n),this._dataValidationCacheService.addRule(e,t,n),this._dataValidationFormulaService.addRule(e,t,n),this._dataValidationCustomFormulaService.addRule(e,t,n)}_addRule(e,t,n){(Array.isArray(n)?n:[n]).forEach(n=>{this._addRuleSideEffect(e,t,n)})}_updateRule(e,t,r,i,a){let o=this._ensureRuleMatrix(e,t),s={...i,...a.payload};a.type===n.UpdateRuleType.RANGE?o.updateRange(r,a.payload):a.type===n.UpdateRuleType.ALL&&o.updateRange(r,a.payload.ranges),this._dataValidationCacheService.removeRule(e,t,i),this._dataValidationCacheService.addRule(e,t,s),this._dataValidationFormulaService.removeRule(e,t,i.uid),this._dataValidationFormulaService.addRule(e,t,s),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,r),this._dataValidationCustomFormulaService.addRule(e,t,s)}_removeRule(e,t,n){this._ensureRuleMatrix(e,t).removeRule(n),this._dataValidationCacheService.removeRule(e,t,n),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,n.uid)}getValidator(e){return this._dataValidatorRegistryService.getValidatorItem(e)}getRuleIdByLocation(e,t,n,r){return this._ensureRuleMatrix(e,t).getValue(n,r)}getRuleByLocation(e,t,n,r){let i=this.getRuleIdByLocation(e,t,n,r);if(i)return this._dataValidationModel.getRuleById(e,t,i)}validator(e,n,r){let{col:i,row:a,unitId:o,subUnitId:s,worksheet:c}=n,l=(t,n)=>{r&&r(t,n),n&&this._validStatusChange$.next({unitId:o,subUnitId:s,ruleId:e.uid,status:t,row:a,col:i})},u=c.getCellValueOnly(a,i),d=this.getValidator(e.type),f=c.getCellRaw(a,i),p=b(f);if(d){let r=this._dataValidationCacheService.ensureCache(o,s),c=r.getValue(a,i);return c==null?(r.setValue(a,i,t.DataValidationStatus.VALIDATING),d.validator({value:p,unitId:o,subUnitId:s,row:a,column:i,worksheet:n.worksheet,workbook:n.workbook,interceptValue:b(u),t:f==null?void 0:f.t},e).then(e=>{let n=e?t.DataValidationStatus.VALID:t.DataValidationStatus.INVALID,o=r.getValue(a,i);n===t.DataValidationStatus.VALID?r.realDeleteValue(a,i):r.setValue(a,i,n),l(n,c!==o)}),t.DataValidationStatus.VALIDATING):(l(c==null?t.DataValidationStatus.VALID:c,!1),c==null?t.DataValidationStatus.VALID:c)}else return l(t.DataValidationStatus.VALID,!1),t.DataValidationStatus.VALID}getRuleObjectMatrix(e,t){return this._ensureRuleMatrix(e,t)}getRuleById(e,t,n){return this._dataValidationModel.getRuleById(e,t,n)}getRuleIndex(e,t,n){return this._dataValidationModel.getRuleIndex(e,t,n)}getRules(e,t){return[...this._dataValidationModel.getRules(e,t)]}getUnitRules(e){return this._dataValidationModel.getUnitRules(e)}deleteUnitRules(e){return this._dataValidationModel.deleteUnitRules(e)}getSubUnitIds(e){return this._dataValidationModel.getSubUnitIds(e)}getAll(){return this._dataValidationModel.getAll()}};T=p([f(0,(0,t.Inject)(n.DataValidationModel)),f(1,t.IUniverInstanceService),f(2,(0,t.Inject)(n.DataValidatorRegistryService)),f(3,(0,t.Inject)(m)),f(4,(0,t.Inject)(w)),f(5,(0,t.Inject)(y)),f(6,t.ICommandService)],T);function ie(e,n){return t.Tools.isBlank(e)?n.t(`dataValidation.validFail.value`):(0,t.isFormulaString)(e)?n.t(`dataValidation.validFail.primitive`):``}let E=e=>t.Tools.isDefine(e)&&String(e).toLowerCase()===`true`?`1`:String(e).toLowerCase()===`false`?`0`:e;var D=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.CHECKBOX),d(this,`title`,`dataValidation.checkbox.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,41),d(this,`offsetFormulaByRange`,!1),d(this,`_formulaService`,this.injector.get(w)),d(this,`skipDefaultFontRender`,(e,t,n)=>{let{unitId:r,subUnitId:i}=n,{formula1:a,formula2:o}=this.parseFormulaSync(e,r,i),s=`${t==null?``:t}`;return!s||s===`${a}`||s===`${o}`})}validatorFormula(e,n,r){let{formula1:i,formula2:a}=e,o=i===a;if(t.Tools.isBlank(i)&&t.Tools.isBlank(a))return{success:!0};if(o)return{success:!1,formula1:this.localeService.t(`dataValidation.validFail.checkboxEqual`),formula2:this.localeService.t(`dataValidation.validFail.checkboxEqual`)};let s=ie(i,this.localeService),c=ie(a,this.localeService);return{success:!s&&!c,formula1:s,formula2:c}}async parseFormula(e,n,r){var i,a;let{formula1:o=1,formula2:s=0}=e,c=await this._formulaService.getRuleFormulaResult(n,r,e.uid),l=(0,t.isFormulaString)(o)?h(c==null||(i=c[0])==null||(i=i.result)==null?void 0:i[0][0]):o,u=(0,t.isFormulaString)(s)?h(c==null||(a=c[1])==null||(a=a.result)==null?void 0:a[0][0]):s,d=_(String(l))&&_(String(u));return{formula1:E(l),formula2:E(u),originFormula1:l,originFormula2:u,isFormulaValid:d}}getExtraStyle(e,n){return{tb:t.WrapStrategy.CLIP}}parseFormulaSync(e,n,r){var i,a;let{formula1:o=1,formula2:s=0}=e,c=this._formulaService.getRuleFormulaResultSync(n,r,e.uid),l=(0,t.isFormulaString)(o)?h(c==null||(i=c[0])==null||(i=i.result)==null?void 0:i[0][0]):o,u=(0,t.isFormulaString)(s)?h(c==null||(a=c[1])==null||(a=a.result)==null?void 0:a[0][0]):s,d=_(String(l))&&_(String(u));return{formula1:E(l),formula2:E(u),originFormula1:l,originFormula2:u,isFormulaValid:d}}async isValidType(e,n,r){let{value:i,unitId:a,subUnitId:o}=e,{formula1:s,formula2:c,originFormula1:l,originFormula2:u}=await this.parseFormula(r,a,o);return!t.Tools.isDefine(s)||!t.Tools.isDefine(c)?!0:t.Tools.isDefine(i)&&(String(i)===String(s)||String(i)===String(c)||String(i)===String(l==null?``:l)||String(i)===String(u==null?``:u))}generateRuleErrorMessage(e){return this.localeService.t(`dataValidation.checkbox.error`)}generateRuleName(e){return this.titleStr}};let ae={[t.DataValidationOperator.BETWEEN]:`dataValidation.date.operators.between`,[t.DataValidationOperator.EQUAL]:`dataValidation.date.operators.equal`,[t.DataValidationOperator.GREATER_THAN]:`dataValidation.date.operators.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`dataValidation.date.operators.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`dataValidation.date.operators.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`dataValidation.date.operators.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`dataValidation.date.operators.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`dataValidation.date.operators.notEqual`};t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL;let O={[t.DataValidationOperator.BETWEEN]:`dataValidation.date.ruleName.between`,[t.DataValidationOperator.EQUAL]:`dataValidation.date.ruleName.equal`,[t.DataValidationOperator.GREATER_THAN]:`dataValidation.date.ruleName.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`dataValidation.date.ruleName.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`dataValidation.date.ruleName.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`dataValidation.date.ruleName.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`dataValidation.date.ruleName.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`dataValidation.date.ruleName.notEqual`,NONE:`dataValidation.date.ruleName.legal`},oe={[t.DataValidationOperator.BETWEEN]:`dataValidation.date.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`dataValidation.date.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`dataValidation.date.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`dataValidation.date.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`dataValidation.date.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`dataValidation.date.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`dataValidation.date.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`dataValidation.date.errorMsg.notEqual`,NONE:`dataValidation.date.errorMsg.legal`},k=[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.NOT_BETWEEN],A=`{FORMULA1}`,j=`{FORMULA2}`,M=e=>{var n,r;if(e==null||typeof e==`boolean`)return;if(typeof e==`number`||!Number.isNaN(+e))return+e;let i=(n=t.numfmt.parseDate(e))==null?void 0:n.v;return t.Tools.isDefine(i)?i:(r=t.numfmt.parseDate((0,t.dateKit)(e).format(`YYYY-MM-DD HH:mm:ss`)))==null?void 0:r.v};var N=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.DATE),d(this,`title`,`dataValidation.date.title`),d(this,`order`,40),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`]),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder))}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:M((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:M((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}async isValidType(e){let{interceptValue:n,value:r}=e;return typeof r==`number`&&typeof n==`string`||typeof n==`string`?!!t.numfmt.parseDate(n):!1}_validatorSingleFormula(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)||!!(e&&t.numfmt.parseDate(e)))}validatorFormula(e,t,n){let r=e.operator;if(!r)return{success:!0};let i=this._validatorSingleFormula(e.formula1),a=this.localeService.t(`dataValidation.validFail.date`);if(k.includes(r)){let t=this._validatorSingleFormula(e.formula2);return{success:i&&t,formula1:i?void 0:a,formula2:t?void 0:a}}return{success:i,formula1:i?void 0:a}}normalizeFormula(e,n,r){let{formula1:i,formula2:a,bizInfo:o}=e,s=e=>{if(!e)return e;let n;if(!Number.isNaN(+e))n=t.numfmt.dateFromSerial(+e);else{var r;let i=(r=t.numfmt.parseDate(e))==null?void 0:r.v;if(i==null)return``;n=t.numfmt.dateFromSerial(i)}return(0,t.dateKit)(`${n[0]}/${n[1]}/${n[2]} ${n[3]}:${n[4]}:${n[5]}`).format(o!=null&&o.showTime?`YYYY-MM-DD HH:mm:ss`:`YYYY-MM-DD`)};return{formula1:(0,t.isFormulaString)(i)?i:s(`${i}`),formula2:(0,t.isFormulaString)(a)?a:s(`${a}`)}}transform(e,t,n){let{value:r}=e;return{...e,value:M(r)}}get operatorNames(){return this.operators.map(e=>this.localeService.t(ae[e]))}generateRuleName(e){var t,n;if(!e.operator)return this.localeService.t(O.NONE);let r=this.localeService.t(O[e.operator]).replace(A,(t=e.formula1)==null?``:t).replace(j,(n=e.formula2)==null?``:n);return`${this.titleStr} ${r}`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:n,transformedFormula2:r}=S(this._lexerTreeBuilder,e,t);return`${this.localeService.t(oe[e.operator]).replace(A,n==null?``:n).replace(j,r==null?``:r)}`}};t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL,t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL;let P={[t.DataValidationOperator.BETWEEN]:`dataValidation.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`dataValidation.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`dataValidation.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`dataValidation.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`dataValidation.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`dataValidation.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`dataValidation.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`dataValidation.errorMsg.notEqual`,NONE:`dataValidation.errorMsg.legal`};function F(e){return+e}var se=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`id`,t.DataValidationType.DECIMAL),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`title`,`dataValidation.decimal.title`),d(this,`order`,20),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`])}_isFormulaOrNumber(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e))}async isValidType(e,t,n){let{value:r}=e;return!Number.isNaN(F(r))}transform(e,t,n){let{value:r}=e;return{...e,value:F(r)}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:this._parseNumber((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:this._parseNumber((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!0};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrNumber(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrNumber(e.formula2),s=k.includes(i),c=this.localeService.t(`dataValidation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:a?``:c}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(P.NONE).replace(`{TYPE}`,this.titleStr);let{transformedFormula1:n,transformedFormula2:r}=S(this._lexerTreeBuilder,e,t);return`${this.localeService.t(P[e.operator]).replace(A,n==null?``:n).replace(j,r==null?``:r)}`}};function ce(e){if(!e)return[];let n=new Set;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a)for(let e=0,i=a.length;e<i;e++){let i=a[e],o=b(i);if(o!=null){var r;if(typeof o!=`string`&&typeof(i==null?void 0:i.s)==`object`&&!((r=i.s)==null||(r=r.n)==null)&&r.pattern){n.add(t.numfmt.format(i.s.n.pattern,o,{throws:!1}));continue}let e=typeof o==`string`?o:String(o);_(e)&&n.add(e)}}}return[...n]}let le=[`if`,`indirect`,`choose`,`offset`];function ue(e,n){if(!(0,t.isFormulaString)(e)||(0,r.isReferenceString)(e.slice(1)))return!0;let i=n.sequenceNodesBuilder(e);return i&&i.some(e=>typeof e==`object`&&e.nodeType===r.sequenceNodeType.FUNCTION&&le.indexOf(e.token.toLowerCase())>-1)}function de(e,n){let{formula1:i=``,ranges:a}=e;if((0,r.isReferenceString)(i.slice(1))){let e=(0,r.deserializeRangeWithSheet)(i.slice(1));if((!e.sheetName||e.sheetName===n)&&a.some(n=>t.Rectangle.intersects(n,e.range)))return!0}return!1}var I=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`formulaService`,this.injector.get(w)),d(this,`_lexer`,this.injector.get(r.LexerTreeBuilder)),d(this,`_univerInstanceService`,this.injector.get(t.IUniverInstanceService)),d(this,`_listCacheService`,this.injector.get(C)),d(this,`order`,50),d(this,`offsetFormulaByRange`,!1),d(this,`id`,t.DataValidationType.LIST),d(this,`title`,`dataValidation.list.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`skipDefaultFontRender`,e=>e.renderMode!==t.DataValidationRenderMode.TEXT)}validatorFormula(e,n,r){var i,a;let o=!t.Tools.isBlank(e.formula1),s=ue((i=e.formula1)==null?``:i,this._lexer),c=(a=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_SHEET))==null||(a=a.getSheetBySheetId(r))==null?void 0:a.getName(),l=de(e,c==null?``:c);return{success:!!(o&&s&&!l),formula1:o?s?l?this.localeService.t(`dataValidation.validFail.listIntersects`):void 0:this.localeService.t(`dataValidation.validFail.listInvalid`):this.localeService.t(`dataValidation.validFail.list`)}}getExtraStyle(e,n,{style:r}){var i;let a=(i=r.tb===t.WrapStrategy.OVERFLOW?t.WrapStrategy.CLIP:r.tb)==null?t.WrapStrategy.WRAP:i;if(e.type===t.DataValidationType.LIST&&(e.renderMode===t.DataValidationRenderMode.ARROW||e.renderMode===t.DataValidationRenderMode.TEXT)){let t=this.getListWithColorMap(e)[`${n==null?``:n}`];if(t)return{bg:{rgb:t},tb:a}}return{tb:a}}parseCellValue(e){return x(e.toString())}async parseFormula(e,t,n){var r;let i=await this.formulaService.getRuleFormulaResult(t,n,e.uid),a=h(i==null||(r=i[0])==null||(r=r.result)==null?void 0:r[0][0]);return{formula1:void 0,formula2:void 0,isFormulaValid:_(String(a))}}async isValidType(e,n,r){let{value:i,unitId:a,subUnitId:o}=e,{formula1:s=``}=r,c=(0,t.isFormulaString)(s)?this._listCacheService.getOrCompute(a,o,r).list:x(s);return this.parseCellValue(i).every(e=>c.includes(e))}generateRuleName(){return this.localeService.t(`dataValidation.list.name`)}generateRuleErrorMessage(){return this.localeService.t(`dataValidation.list.error`)}_getUnitAndSubUnit(e,n){var r,i;let a=(r=e?this._univerInstanceService.getUniverSheetInstance(e):void 0)==null?this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET):r;if(!a)return null;let o=(i=n?a.getSheetBySheetId(n):void 0)==null?a.getActiveSheet():i;return o?{unitId:a.getUnitId(),subUnitId:o.getSheetId()}:null}getList(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return[];let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).list}async getListAsync(e,n,r){var i;let{formula1:a=``}=e,o=this._getUnitAndSubUnit(n,r);if(!o)return[];let{unitId:s,subUnitId:c}=o,l=await this.formulaService.getRuleFormulaResult(s,c,e.uid);return(0,t.isFormulaString)(a)?ce(l==null||(i=l[0])==null||(i=i.result)==null?void 0:i[0][0]):x(a)}getListWithColor(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return[];let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).listWithColor}getListWithColorMap(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return{};let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).colorMap}},fe=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.TEXT_LENGTH),d(this,`title`,`dataValidation.textLength.title`),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`order`,30),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`]),d(this,`_customFormulaService`,this.injector.get(y))}_isFormulaOrInt(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!1};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),s=k.includes(i),c=this.localeService.t(`dataValidation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:c}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:this._parseNumber((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:this._parseNumber((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}transform(e,t,n){return{...e,value:e.value.toString().length}}async isValidType(e,t,n){let{value:r}=e;return typeof r==`string`||typeof r==`number`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:r,transformedFormula2:i}=S(this._lexerTreeBuilder,e,t);return`${this.localeService.t(n.TextLengthErrorTitleMap[e.operator]).replace(A,r==null?``:r).replace(j,i==null?``:i)}`}};function L(e){var n,r;return e?e.p?!((n=(r=e.p.body)==null?void 0:r.dataStream)==null?``:n).slice(0,-2).trim():t.Tools.isBlank(e.v):!0}function R(e,a,o,s,c=`command`,l=!0){let u=s.get(r.LexerTreeBuilder),d=s.get(n.DataValidatorRegistryService),f=[],p=[],m=s.get(T),h=(0,i.getSheetCommandTarget)(s.get(t.IUniverInstanceService),{unitId:e,subUnitId:a});if(!h)return{redoMutations:f,undoMutations:p};let{worksheet:g}=h,_=new t.ObjectMatrix,y=!1;function b(e,n){l&&e.forEach(e=>{t.Range.foreach(e,(e,t)=>{let r=g.getCellRaw(e,t),i=ee(r);(L(r)||i===n)&&!(r!=null&&r.p)&&(y=!0,_.setValue(e,t,{v:n,p:null}))})})}if(o.forEach(r=>{switch(r.type){case`delete`:f.push({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.rule.uid,source:c}}),p.unshift({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:a,rule:r.rule,index:r.index,source:c}});break;case`update`:{if(v(r.rule.type,d)){let i=r.oldRanges[0].startRow,o=r.oldRanges[0].startColumn,s=r.newRanges[0].startRow,l=r.newRanges[0].startColumn,d=s-i,m=l-o,h=(0,t.isFormulaString)(r.rule.formula1)?u.moveFormulaRefOffset(r.rule.formula1,m,d):r.rule.formula1,g=(0,t.isFormulaString)(r.rule.formula2)?u.moveFormulaRefOffset(r.rule.formula2,m,d):r.rule.formula2;h!==r.rule.formula1||g!==r.rule.formula2||!(0,t.isRangesEqual)(r.newRanges,r.oldRanges)?(f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.ALL,payload:{formula1:h,formula2:g,ranges:r.newRanges}}}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.ALL,payload:{formula1:r.rule.formula1,formula2:r.rule.formula2,ranges:r.oldRanges}}}})):(f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.newRanges},source:c}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.oldRanges},source:c}}))}else f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.newRanges},source:c}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.oldRanges},source:c}});let i=m.getRuleById(e,a,r.ruleId);if(i&&i.type===t.DataValidationType.CHECKBOX){let n=m.getValidator(t.DataValidationType.CHECKBOX).parseFormulaSync(i,e,a);b(r.newRanges,n.formula2)}break}case`add`:if(f.push({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:a,rule:r.rule,source:c}}),p.unshift({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.rule.uid,source:c}}),r.rule.type===t.DataValidationType.CHECKBOX){let n=m.getValidator(t.DataValidationType.CHECKBOX).parseFormulaSync(r.rule,e,a);b(r.rule.ranges,n.originFormula2)}break;default:break}}),y){let t={id:i.SetRangeValuesMutation.id,params:{unitId:e,subUnitId:a,cellValue:_.getData()}},n={id:i.SetRangeValuesMutation.id,params:(0,i.SetRangeValuesUndoMutationFactory)(s,t.params)};f.push(t),p.push(n)}return{redoMutations:f,undoMutations:p}}let z={type:t.CommandType.COMMAND,id:`sheet.command.updateDataValidationRuleRange`,handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:i,ranges:a,ruleId:o}=n,s=e.get(T),c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService);if(!s.getRuleById(r,i,o))return!1;let u=s.getRuleObjectMatrix(r,i).clone();u.updateRange(o,a);let{redoMutations:d,undoMutations:f}=R(r,i,u.diff(s.getRules(r,i)),e);return l.pushUndoRedo({undoMutations:f,redoMutations:d,unitID:r}),(0,t.sequenceExecute)(d,c),!0}},B={type:t.CommandType.COMMAND,id:`sheet.command.addDataValidation`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a,rule:o}=r,s=e.get(T),c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService),u=s.getRuleObjectMatrix(i,a).clone();u.addRule(o);let d=u.diff(s.getRules(i,a)),f=s.getValidator(o.type),p={unitId:i,subUnitId:a,rule:{...o,...f==null?void 0:f.normalizeFormula(o,i,a)}},{redoMutations:m,undoMutations:h}=R(i,a,d,e);return m.push({id:n.AddDataValidationMutation.id,params:p}),h.unshift({id:n.RemoveDataValidationMutation.id,params:{unitId:i,subUnitId:a,ruleId:o.uid}}),l.pushUndoRedo({unitID:i,redoMutations:m,undoMutations:h}),(0,t.sequenceExecute)(m,c),!0}},V={type:t.CommandType.COMMAND,id:`sheets.command.update-data-validation-setting`,handler(e,r){if(!r)return!1;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(T),c=e.get(n.DataValidatorRegistryService),{unitId:l,subUnitId:u,ruleId:d,setting:f}=r,p=c.getValidatorItem(f.type);if(!p)return!1;let m=s.getRuleById(l,u,d);if(!m)return!1;let h={...m,...f};if(!p.validatorFormula(h,l,u).success)return!1;let g={unitId:l,subUnitId:u,ruleId:d,payload:{type:n.UpdateRuleType.SETTING,payload:{...f,...p.normalizeFormula(h,l,u)}}},_=[{id:n.UpdateDataValidationMutation.id,params:g}],v={unitId:l,subUnitId:u,ruleId:d,payload:{type:n.UpdateRuleType.SETTING,payload:(0,n.getRuleSetting)(m)}},y=[{id:n.UpdateDataValidationMutation.id,params:v}];if(f.type===t.DataValidationType.CHECKBOX){let n=m.ranges,r=(0,i.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:l,subUnitId:u});if(r){let a=new t.ObjectMatrix,{worksheet:o}=r,{formula2:s=0,formula1:c=1}=m,{formula2:d=0,formula1:p=1}=f,h=!1;if(n.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=o.getCellRaw(e,t),r=ee(n);(L(n)||r===String(s))&&!(n!=null&&n.p)?(a.setValue(e,t,{v:d,p:null}),h=!0):r===String(c)&&!(n!=null&&n.p)&&(a.setValue(e,t,{v:p,p:null}),h=!0)})}),h){let t={id:i.SetRangeValuesMutation.id,params:{unitId:l,subUnitId:u,cellValue:a.getData()}},n={id:i.SetRangeValuesMutation.id,params:(0,i.SetRangeValuesUndoMutationFactory)(e,t.params)};_.push(t),y.push(n)}}}return(0,t.sequenceExecute)(_,a).result?(o.pushUndoRedo({unitID:l,redoMutations:_,undoMutations:y}),!0):!1}},H={type:t.CommandType.COMMAND,id:`sheets.command.update-data-validation-options`,handler(e,r){if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(T),{unitId:s,subUnitId:c,ruleId:l,options:u}=r,d=o.getRuleById(s,c,l);if(!d)return!1;let f={unitId:s,subUnitId:c,ruleId:l,payload:{type:n.UpdateRuleType.OPTIONS,payload:u}},p=[{id:n.UpdateDataValidationMutation.id,params:f}],m={unitId:s,subUnitId:c,ruleId:l,payload:{type:n.UpdateRuleType.OPTIONS,payload:(0,n.getRuleOptions)(d)}},h=[{id:n.UpdateDataValidationMutation.id,params:m}];return a.pushUndoRedo({unitID:s,redoMutations:p,undoMutations:h}),i.executeCommand(n.UpdateDataValidationMutation.id,f),!0}},U={type:t.CommandType.COMMAND,id:`sheets.command.clear-range-data-validation`,handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:a,ranges:o}=n,s=e.get(t.ICommandService),c=(0,i.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:r,subUnitId:a}),l=e.get(T);if(!c)return!1;let u=e.get(t.IUndoRedoService),d=l.getRuleObjectMatrix(r,a).clone();d.removeRange(o);let{redoMutations:f,undoMutations:p}=R(r,a,d.diff(l.getRules(r,a)),e);return u.pushUndoRedo({unitID:r,redoMutations:f,undoMutations:p}),(0,t.sequenceExecute)(f,s).result}},W={type:t.CommandType.COMMAND,id:`sheet.command.remove-all-data-validation`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a}=r,o=e.get(t.ICommandService),s=e.get(T),c=e.get(t.IUndoRedoService),l=[...s.getRules(i,a)],u={unitId:i,subUnitId:a,ruleId:l.map(e=>e.uid)},d=[{id:n.RemoveDataValidationMutation.id,params:u}],f=[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:l}}];return c.pushUndoRedo({redoMutations:d,undoMutations:f,unitID:i}),o.executeCommand(n.RemoveDataValidationMutation.id,u),!0}},pe=(e,t)=>{let r=e.get(T),{unitId:i,subUnitId:a,ruleId:o,source:s}=t;if(Array.isArray(o)){let e=o.map(e=>r.getRuleById(i,a,e)).filter(Boolean);return[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:e,source:s}}]}return[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:{...r.getRuleById(i,a,o)},index:r.getRuleIndex(i,a,o)}}]},me={type:t.CommandType.COMMAND,id:`sheet.command.remove-data-validation-rule`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a,ruleId:o}=r,s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(T),u=[{id:n.RemoveDataValidationMutation.id,params:r}],d=[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:{...l.getRuleById(i,a,o)},index:l.getRuleIndex(i,a,o)}}];return c.pushUndoRedo({undoMutations:d,redoMutations:u,unitID:r.unitId}),s.executeCommand(n.RemoveDataValidationMutation.id,r),!0}},G=`SHEET_DATA_VALIDATION_PLUGIN`,K=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._permissionService=t,this._lexerTreeBuilder=n}getFormulaRefCheck(e){let n=this._lexerTreeBuilder.sequenceNodesBuilder(e);if(!n)return!0;for(let e=0;e<n.length;e++){let s=n[e];if(typeof s==`string`)continue;let{token:c}=s,l=(0,r.deserializeRangeWithSheetWithCache)(c),u=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),d=u.getActiveSheet(),f=u.getUnitId();if(l.sheetName){if(d=u.getSheetBySheetName(l.sheetName),!d)return!1;let e=d==null?void 0:d.getSheetId();if(!this._permissionService.getPermissionPoint(new i.WorksheetViewPermission(f,e).id))return!1}if(!d)return!1;let{startRow:p,endRow:m,startColumn:h,endColumn:g}=l.range;for(let e=p;e<=m;e++)for(let t=h;t<=g;t++){var a;let n=(a=d.getCell(e,t))==null||(a=a.selectionProtection)==null?void 0:a[0];if((n==null?void 0:n[o.UnitAction.View])===!1)return!1}}return!0}};K=p([f(0,t.IUniverInstanceService),f(1,t.IPermissionService),f(2,(0,t.Inject)(r.LexerTreeBuilder))],K);var he=`@univerjs/sheets-data-validation`,ge=`0.23.0`;let q=`sheets-data-validation.config`;Symbol(q);let _e={},J=class extends t.Disposable{constructor(e,t,n){super(),this._dataValidationModel=e,this._formulaRefRangeService=t,this._validatorRegistryService=n,d(this,`_disposableMap`,new Map),d(this,`registerRule`,(e,t,n)=>{v(n.type,this._validatorRegistryService)&&this.register(e,t,n)}),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}register(e,r,i){let a=i.ranges,o=i.formula1,s=i.formula2,c=this._formulaRefRangeService.registerRangeFormula(e,r,a,[o==null?``:o,s==null?``:s],c=>{if(c.length===0)return{undos:[{id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:r,rule:i,source:`patched`}}],redos:[{id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,source:`patched`}}]};let l=[],u=[],d=c[0];l.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,payload:{type:n.UpdateRuleType.ALL,payload:{ranges:d.ranges,formula1:d.formulas[0],formula2:d.formulas[1]}},source:`patched`}}),u.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,payload:{type:n.UpdateRuleType.ALL,payload:{ranges:a,formula1:o,formula2:s}},source:`patched`}});for(let a=1;a<c.length;a++){let o=c[a],s=(0,t.generateRandomId)();l.push({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:r,rule:{...i,uid:s,formula1:o.formulas[0],formula2:o.formulas[1],ranges:o.ranges},source:`patched`}}),u.push({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:s,source:`patched`}})}return{undos:u,redos:l}}),l=this._getIdWithUnitId(e,r,i.uid);this._disposableMap.set(l,c)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.registerRule(t,e,n);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case`remove`:{let e=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));e&&e.dispose();break}case`update`:{let r=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));i&&i.dispose(),this.registerRule(e.unitId,e.subUnitId,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};J=p([f(0,(0,t.Inject)(T)),f(1,(0,t.Inject)(s.FormulaRefRangeService)),f(2,(0,t.Inject)(n.DataValidatorRegistryService))],J);let Y=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._dataValidationModel=e,this._injector=t,this._refRangeService=n,this._dataValidationFormulaService=r,this._formulaRefRangeService=i,this._validatorRegistryService=a,d(this,`_disposableMap`,new Map),d(this,`registerRule`,(e,t,n)=>{v(n.type,this._validatorRegistryService)||(this.register(e,t,n),this.registerFormula(e,t,n))}),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}registerFormula(e,t,r){var i;let a=r.uid,o=this._getIdWithUnitId(e,t,a),s=(i=this._disposableMap.get(o))==null?new Set:i,c=(i,o)=>{let s=this._dataValidationModel.getRuleById(e,t,a);if(!s)return{redos:[],undos:[]};let c=s[i];if(!c||c===o)return{redos:[],undos:[]};let l={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:n.UpdateRuleType.SETTING,payload:{type:s.type,formula1:s.formula1,formula2:s.formula2,[i]:o}},source:`patched`},u={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:n.UpdateRuleType.SETTING,payload:{type:s.type,formula1:s.formula1,formula2:s.formula2}},source:`patched`};return{redos:[{id:n.UpdateDataValidationMutation.id,params:l}],undos:[{id:n.UpdateDataValidationMutation.id,params:u}]}},l=this._dataValidationFormulaService.getRuleFormulaInfo(e,t,a);if(l){let[n,r]=l;if(n){let r=this._formulaRefRangeService.registerFormula(e,t,n.text,e=>c(`formula1`,e));s.add(()=>r.dispose())}if(r){let n=this._formulaRefRangeService.registerFormula(e,t,r.text,e=>c(`formula2`,e));s.add(()=>n.dispose())}}}register(e,r,a){var o;let s=o=>{let s=[...a.ranges],c=s.map(e=>(0,i.handleCommonDefaultRangeChangeWithEffectRefCommands)(e,o)).filter(e=>!!e).flat();if((0,t.isRangesEqual)(c,s))return{redos:[],undos:[]};if(c.length){let t={unitId:e,subUnitId:r,ruleId:a.uid,payload:{type:n.UpdateRuleType.RANGE,payload:c},source:`patched`};return{redos:[{id:n.UpdateDataValidationMutation.id,params:t}],undos:[{id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:a.uid,payload:{type:n.UpdateRuleType.RANGE,payload:s},source:`patched`}}]}}else{let t={unitId:e,subUnitId:r,ruleId:a.uid};return{redos:[{id:n.RemoveDataValidationMutation.id,params:t}],undos:pe(this._injector,t)}}},c=[];a.ranges.forEach(t=>{let n=this._refRangeService.registerRefRange(t,s,e,r);c.push(()=>n.dispose())});let l=this._getIdWithUnitId(e,r,a.uid),u=(o=this._disposableMap.get(l))==null?new Set:o;u.add(()=>c.forEach(e=>e())),this._disposableMap.set(l,u)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.registerRule(t,e,n);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case`remove`:{let e=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));e&&e.forEach(e=>e());break}case`update`:{let r=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));i&&i.forEach(e=>e()),this.registerRule(e.unitId,e.subUnitId,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.forEach(e=>e())}),this._disposableMap.clear()}))}};Y=p([f(0,(0,t.Inject)(T)),f(1,(0,t.Inject)(t.Injector)),f(2,(0,t.Inject)(i.RefRangeService)),f(3,(0,t.Inject)(w)),f(4,(0,t.Inject)(s.FormulaRefRangeService)),f(5,(0,t.Inject)(n.DataValidatorRegistryService))],Y);let X=class extends t.Disposable{constructor(e,t,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._sheetDataValidationModel=n,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===i.RemoveSheetCommand.id){var r;let i=e.params,a=i.unitId||this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=this._univerInstanceService.getUniverSheetInstance(a);if(!o)return{redos:[],undos:[]};let s=i.subUnitId||((r=o.getActiveSheet())==null?void 0:r.getSheetId());if(!s)return{redos:[],undos:[]};let c=this._sheetDataValidationModel.getRules(a,s);if(c.length===0)return{redos:[],undos:[]};let l={unitId:a,subUnitId:s,ruleId:c.map(e=>e.uid),source:`patched`},u={unitId:a,subUnitId:s,rule:[...c],source:`patched`};return{redos:[{id:n.RemoveDataValidationMutation.id,params:l}],undos:[{id:n.AddDataValidationMutation.id,params:u}]}}else if(e.id===i.CopySheetCommand.id){let{unitId:r,subUnitId:i,targetSubUnitId:a}=e.params;if(!r||!i||!a)return{redos:[],undos:[]};let o=this._sheetDataValidationModel.getRules(r,i);if(o.length===0)return{redos:[],undos:[]};let s=o.map(e=>({...e,uid:(0,t.generateRandomId)(6)}));return{redos:[{id:n.AddDataValidationMutation.id,params:{unitId:r,subUnitId:a,rule:s,source:`patched`}}],undos:[{id:n.RemoveDataValidationMutation.id,params:{unitId:r,subUnitId:a,ruleId:s.map(e=>e.uid),source:`patched`}}]}}return{redos:[],undos:[]}}}))}};X=p([f(0,(0,t.Inject)(i.SheetInterceptorService)),f(1,(0,t.Inject)(t.IUniverInstanceService)),f(2,(0,t.Inject)(T))],X);var ve=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.ANY),d(this,`title`,`dataValidation.any.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,0),d(this,`offsetFormulaByRange`,!1)}async parseFormula(e,t,n){return{formula1:e.formula1,formula2:e.formula2,isFormulaValid:!0}}validatorFormula(e,t,n){return{success:!0}}async isValidType(e,t,n){return!0}generateRuleErrorMessage(e){return this.localeService.t(`dataValidation.any.error`)}},ye=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.CUSTOM),d(this,`title`,`dataValidation.custom.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,60),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder))}validatorFormula(e,n,i){var a;let o=(0,t.isFormulaString)(e.formula1),s=(a=e.formula1)==null?``:a,c=this._lexerTreeBuilder.checkIfAddBracket(s)===0&&s.startsWith(r.operatorToken.EQUALS);return{success:o&&c,formula1:o&&c?``:this.localeService.t(`dataValidation.validFail.formula`)}}async parseFormula(e,t,n){return{formula1:void 0,formula2:void 0,isFormulaValid:!0}}async isValidType(e,n,r){let{column:i,row:a,unitId:o,subUnitId:s}=e,c=await this._customFormulaService.getCellFormulaValue(o,s,r.uid,a,i),l=c==null?void 0:c.v;return _(String(l))&&t.Tools.isDefine(l)&&l!==``?c.t===t.CellValueType.BOOLEAN?!!l:typeof l==`boolean`?l:typeof l==`number`?!!l:typeof l==`string`?_(l):!!l:!1}generateRuleErrorMessage(e){return this.localeService.t(`dataValidation.custom.error`)}generateRuleName(e){var t;return this.localeService.t(`dataValidation.custom.ruleName`).replace(`{FORMULA1}`,(t=e.formula1)==null?``:t)}},be=class extends I{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.LIST_MULTIPLE),d(this,`title`,`dataValidation.listMultiple.title`),d(this,`offsetFormulaByRange`,!1),d(this,`skipDefaultFontRender`,()=>!0)}},xe=class extends n.BaseDataValidator{constructor(...e){super(...e),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`id`,t.DataValidationType.WHOLE),d(this,`title`,`dataValidation.whole.title`),d(this,`order`,10),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`])}_isFormulaOrInt(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}async isValidType(e,t,n){let{value:r}=e,i=F(r);return!Number.isNaN(i)&&Number.isInteger(i)}transform(e,t,n){let{value:r}=e;return{...e,value:F(r)}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=(0,t.isFormulaString)(c)?o==null?void 0:o.v:c,d=(0,t.isFormulaString)(l)?s==null?void 0:s.v:l,f=_(`${u}`)&&_(`${d}`);return{formula1:this._parseNumber(u),formula2:this._parseNumber(d),isFormulaValid:f}}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!0};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),s=k.includes(i),c=this.localeService.t(`dataValidation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:c}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(P.NONE).replace(`{TYPE}`,this.titleStr);let{transformedFormula1:n,transformedFormula2:r}=S(this._lexerTreeBuilder,e,t);return`${this.localeService.t(P[e.operator]).replace(A,n==null?``:n).replace(j,r==null?``:r)}`}};let Z=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._dataValidatorRegistryService=t,this._injector=n,this._selectionManagerService=r,this._sheetInterceptorService=i,this._sheetDataValidationModel=a,this._init()}_init(){this._registerValidators(),this._initCommandInterceptor()}_registerValidators(){[ve,se,xe,fe,N,D,I,be,ye].forEach(e=>{let n=this._injector.createInstance(e);this.disposeWithMe(this._dataValidatorRegistryService.register(n)),this.disposeWithMe((0,t.toDisposable)(()=>this._injector.delete(e)))})}_initCommandInterceptor(){this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===i.ClearSelectionAllCommand.id){var n;let e=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),r=e.getUnitId(),i=e.getActiveSheet();if(!i)throw Error(`No active sheet found`);let a=i.getSheetId(),o=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),s=this._sheetDataValidationModel.getRuleObjectMatrix(r,a).clone();o&&s.removeRange(o);let{redoMutations:c,undoMutations:l}=R(r,a,s.diff(this._sheetDataValidationModel.getRules(r,a)),this._injector,`patched`);return{undos:l,redos:c}}return{undos:[],redos:[]}}})}};Z=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(n.DataValidatorRegistryService)),f(2,(0,t.Inject)(t.Injector)),f(3,(0,t.Inject)(i.SheetsSelectionsService)),f(4,(0,t.Inject)(i.SheetInterceptorService)),f(5,(0,t.Inject)(T))],Z);let Q=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetDataValidationModel=t,this._dataValidationCacheService=n,this._lifecycleService=r,this._initRecalculate()}_initRecalculate(){let e=e=>{if(e.length===0)return;let n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getActiveSheet(),i={};e.flat().forEach(e=>{i[e.unitId]||(i[e.unitId]={}),i[e.unitId][e.subUnitId]||(i[e.unitId][e.subUnitId]=[]);let n=this._univerInstanceService.getUnit(e.unitId,t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getSheetBySheetId(e.subUnitId);r&&i[e.unitId][e.subUnitId].push(...e.ranges.map(e=>t.Range.transformRange(e,r)))}),Object.entries(i).forEach(([e,t])=>{Object.entries(t).forEach(([t,i])=>{(n==null?void 0:n.getUnitId())===e&&(r==null?void 0:r.getSheetId())===t?this.validatorRanges(e,t,i):requestIdleCallback(()=>{this.validatorRanges(e,t,i)})})})};this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe((0,a.bufferWhen)(()=>this._lifecycleService.lifecycle$.pipe((0,a.skip)(1),(0,a.filter)(e=>e===t.LifecycleStages.Rendered)))).subscribe(e)),this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe((0,a.filter)(()=>this._lifecycleService.stage>=t.LifecycleStages.Rendered),(0,t.bufferDebounceTime)(20)).subscribe(e))}async _validatorByCell(e,n,r,i){let a=e.getUnitId(),o=n.getSheetId();if(!t.Tools.isDefine(r)||!t.Tools.isDefine(i))throw Error(`row or col is not defined, row: ${r}, col: ${i}`);let s=r,c=i,l=n.getMergedCell(r,i);l&&(s=l.startRow,c=l.startColumn);let u=this._sheetDataValidationModel.getRuleByLocation(a,o,s,c);return u?new Promise(t=>{this._sheetDataValidationModel.validator(u,{unitId:a,subUnitId:o,row:s,col:c,worksheet:n,workbook:e},e=>{t(e)})}):t.DataValidationStatus.VALID}async validatorCell(e,n,r,i){let a=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!a)throw Error(`cannot find current workbook, unitId: ${e}`);let o=a.getSheetBySheetId(n);if(!o)throw Error(`cannot find current worksheet, sheetId: ${n}`);return this._validatorByCell(a,o,r,i)}async validatorRanges(e,n,r){if(!r.length)return Promise.resolve([]);let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!i)throw Error(`cannot find current workbook, unitId: ${e}`);let a=i.getSheetBySheetId(n);if(!a)throw Error(`cannot find current worksheet, sheetId: ${n}`);let o=this._sheetDataValidationModel.getRules(e,n).map(e=>e.ranges).flat(),s=r.map(e=>o.map(n=>(0,t.getIntersectRange)(e,n))).flat().filter(Boolean),c=[],l=await Promise.all(s.map((e,t)=>{let n=[];for(let r=e.startRow;r<=e.endRow;r++)for(let o=e.startColumn;o<=e.endColumn;o++){n.push(this._validatorByCell(i,a,r,o));let e=a.getMergedCell(r,o);e&&c.push({resultRowIndex:t,resultColIndex:n.length-1,row:e.startRow,col:e.startColumn})}return Promise.all(n)}));return c.length&&c.forEach(({resultRowIndex:r,resultColIndex:i,row:a,col:o})=>{if(l[r][i]===t.DataValidationStatus.VALIDATING){var s;l[r][i]=(s=this._dataValidationCacheService.getValue(e,n,a,o))==null?t.DataValidationStatus.VALID:s}}),l}async validatorWorksheet(e,n){let r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!r)throw Error(`cannot find current workbook, unitId: ${e}`);let i=r.getSheetBySheetId(n);if(!i)throw Error(`cannot find current worksheet, sheetId: ${n}`);let a=this._sheetDataValidationModel.getRules(e,n);return await Promise.all(a.map(e=>Promise.all(e.ranges.map(e=>{let n=[];return t.Range.foreach(e,(e,t)=>{n.push(this._validatorByCell(r,i,e,t))}),Promise.all(n)})))),this._dataValidationCacheService.ensureCache(e,n)}async validatorWorkbook(e){let t=this._sheetDataValidationModel.getSubUnitIds(e),n=await Promise.all(t.map(t=>this.validatorWorksheet(e,t))),r={};return n.forEach((e,n)=>{r[t[n]]=e}),r}getDataValidations(e,n,r){let i=this._sheetDataValidationModel.getRuleObjectMatrix(e,n),a=new Set;return r.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=i.getValue(e,t);n&&a.add(n)})}),Array.from(a).map(t=>this._sheetDataValidationModel.getRuleById(e,n,t)).filter(Boolean)}getDataValidation(e,t,n){return this.getDataValidations(e,t,n)[0]}};Q=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(T)),f(2,(0,t.Inject)(m)),f(3,(0,t.Inject)(t.LifecycleService))],Q);let $=class extends t.Plugin{constructor(e=_e,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},_e,this._config);this._configService.setConfig(q,a)}onStarting(){[[m],[C],[w],[y],[Q],[T],[Z],[K],[X],[Y],[J]].forEach(e=>{this._injector.add(e)}),[B,z,V,H,me,W,U].forEach(e=>{this._commandService.registerCommand(e)}),this._injector.get(m),this._injector.get(Q),this._injector.get(Z),this._injector.get(J),this._injector.get(Y)}onReady(){this._injector.get(X)}onRendered(){this._injector.get(K)}};d($,`pluginName`,G),d($,`packageName`,he),d($,`version`,ge),d($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=p([(0,t.DependentOn)(s.UniverSheetsFormulaPlugin,n.UniverDataValidationPlugin),f(1,(0,t.Inject)(t.Injector)),f(2,t.ICommandService),f(3,t.IConfigService)],$);function Se(e){let n=e.get(i.SheetsSelectionsService).getCurrentSelections().map(e=>e.range);return{uid:(0,t.generateRandomId)(6),type:t.DataValidationType.DECIMAL,operator:t.DataValidationOperator.EQUAL,formula1:`100`,ranges:n==null?[{startColumn:0,endColumn:0,startRow:0,endRow:0}]:n}}e.AddSheetDataValidationCommand=B,e.BASE_FORMULA_INPUT_NAME=`data-validation.formula-input`,e.CHECKBOX_FORMULA_1=1,e.CHECKBOX_FORMULA_2=0,e.CHECKBOX_FORMULA_INPUT_NAME=`data-validation.checkbox-formula-input`,e.CUSTOM_FORMULA_INPUT_NAME=`data-validation.custom-formula-input`,e.CheckboxValidator=D,e.ClearRangeDataValidationCommand=U,e.DATA_VALIDATION_PLUGIN_NAME=G,Object.defineProperty(e,`DataValidationCacheService`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(e,`DataValidationCustomFormulaService`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(e,`DataValidationFormulaController`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(e,`DataValidationFormulaService`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(e,`DataValidationListCacheService`,{enumerable:!0,get:function(){return C}}),e.DateValidator=N,e.LIST_FORMULA_INPUT_NAME=`data-validation.list-formula-input`,e.ListMultipleValidator=be,e.ListValidator=I,e.RemoveSheetAllDataValidationCommand=W,e.RemoveSheetDataValidationCommand=me,Object.defineProperty(e,`SheetDataValidationModel`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(e,`SheetsDataValidationValidatorService`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,`UniverSheetsDataValidationPlugin`,{enumerable:!0,get:function(){return $}}),e.UpdateSheetDataValidationOptionsCommand=H,e.UpdateSheetDataValidationRangeCommand=z,e.UpdateSheetDataValidationSettingCommand=V,e.createDefaultNewRule=Se,e.deserializeListOptions=x,e.getCellValueNumber=F,e.getCellValueOrigin=b,e.getDataValidationCellValue=ne,e.getDataValidationDiffMutations=R,e.getFormulaCellData=g,e.getFormulaResult=h,e.getTransformedFormula=S,e.isLegalFormulaResult=_,e.serializeListOptions=te,e.transformCheckboxValue=E});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/data-validation`),require(`@univerjs/engine-formula`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/protocol`),require(`@univerjs/sheets-formula`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/data-validation`,`@univerjs/engine-formula`,`@univerjs/sheets`,`rxjs`,`@univerjs/protocol`,`@univerjs/sheets-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDataValidation={},e.UniverCore,e.UniverDataValidation,e.UniverEngineFormula,e.UniverSheets,e.rxjs,e.UniverProtocol,e.UniverSheetsFormula))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){return function(n,r){t(n,r,e)}}function p(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let m=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._univerInstanceService=t,this._sheetDataValidationModel=n,d(this,`_cacheMatrix`,new Map),d(this,`_dirtyRanges$`,new a.Subject),d(this,`dirtyRanges$`,this._dirtyRanges$.asObservable()),this._initDirtyRanges(),this._initSheetRemove()}_initDirtyRanges(){this.disposeWithMe(this._commandService.onCommandExecuted((e,n)=>{if(e.id===i.SetRangeValuesMutation.id&&!(n!=null&&n.onlyLocal)){let{cellValue:n,unitId:r,subUnitId:i}=e.params;if(n){let e=new t.ObjectMatrix(n).getDataRange();if(e.endRow===-1)return;let a=this._sheetDataValidationModel.getRules(r,i),o=[];for(let e of a)o.push(...e.ranges);let s=[];for(let n of o){let r=(0,t.getIntersectRange)(n,e);r&&s.push(r)}s.length&&this.markRangeDirty(r,i,s,!0)}}}))}_initSheetRemove(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.RemoveSheetMutation.id){var t;let{unitId:n,subUnitId:r}=e.params;(t=this._cacheMatrix.get(n))==null||t.delete(r)}})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{e.type===t.UniverInstanceType.UNIVER_SHEET&&this._cacheMatrix.delete(e.getUnitId())}))}_ensureCache(e,n){let r=this._cacheMatrix.get(e);r||(r=new Map,this._cacheMatrix.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}ensureCache(e,t){return this._ensureCache(e,t)}addRule(e,t,n){this.markRangeDirty(e,t,n.ranges)}removeRule(e,t,n){this._deleteRange(e,t,n.ranges)}markRangeDirty(e,n,r,i){let a=this._ensureCache(e,n);r.forEach(e=>{t.Range.foreach(e,(e,t)=>{a.getValue(e,t)!==void 0&&a.setValue(e,t,void 0)})}),this._dirtyRanges$.next({unitId:e,subUnitId:n,ranges:r,isSetRange:i})}_deleteRange(e,n,r){let i=this._ensureCache(e,n);r.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.realDeleteValue(e,t)})}),this._dirtyRanges$.next({unitId:e,subUnitId:n,ranges:r})}getValue(e,t,n,r){return this._ensureCache(e,t).getValue(n,r)}};m=p([f(0,(0,t.Inject)(t.ICommandService)),f(1,(0,t.Inject)(t.IUniverInstanceService)),f(2,(0,t.Inject)(n.DataValidationModel))],m);function h(e){var t;return e==null||(t=e[0])==null||(t=t[0])==null?void 0:t.v}function g(e){var t;return e==null||(t=e[0])==null?void 0:t[0]}function _(e){return!r.ERROR_TYPE_SET.has(e)}function v(e,t){var n;let r=t.getValidatorItem(e);return(n=r==null?void 0:r.offsetFormulaByRange)==null?!1:n}let y=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._instanceSrv=e,this._registerOtherFormulaService=t,this._dataValidationModel=n,this._dataValidationCacheService=r,this._validatorRegistryService=i,d(this,`_ruleFormulaMap`,new Map),d(this,`_ruleFormulaMap2`,new Map),this._initFormulaResultHandler(),this._initDirtyRanges()}dispose(){super.dispose(),this._ruleFormulaMap.clear(),this._ruleFormulaMap2.clear()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let n in e){let r=e[n];if(this._instanceSrv.getUnitType(n)===t.UniverInstanceType.UNIVER_SHEET)for(let e in r){let t=r[e],{ruleFormulaMap:i}=this._ensureMaps(n,e);t.forEach(t=>{var r,a;let o=i.get((r=t.extra)==null?void 0:r.ruleId),s=this._dataValidationModel.getRuleById(n,e,(a=t.extra)==null?void 0:a.ruleId);s&&o&&this._dataValidationCacheService.markRangeDirty(n,e,s.ranges)})}}}))}_ensureMaps(e,t){let n=this._ruleFormulaMap.get(e),r=this._ruleFormulaMap2.get(e);n||(n=new Map,this._ruleFormulaMap.set(e,n)),r||(r=new Map,this._ruleFormulaMap2.set(e,r));let i=n.get(t);i||(i=new Map,n.set(t,i));let a=r.get(t);return a||(a=new Map,r.set(t,a)),{ruleFormulaMap:i,ruleFormulaMap2:a}}_registerFormula(e,t,n,i,a){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,i,a,{ruleId:n},r.OtherFormulaBizType.DATA_VALIDATION_CUSTOM,n)}_handleDirtyRanges(e,n,r){this._dataValidationModel.getRules(e,n).forEach(i=>{let a=i.ranges;t.Rectangle.doAnyRangesIntersect(a,r)&&this.makeRuleDirty(e,n,i.uid)})}_initDirtyRanges(){this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.subscribe(e=>{e.isSetRange&&this._handleDirtyRanges(e.unitId,e.subUnitId,e.ranges)}))}deleteByRuleId(e,t,n){let{ruleFormulaMap:r,ruleFormulaMap2:i}=this._ensureMaps(e,t),a=this._dataValidationModel.getRuleById(e,t,n),o=r.get(n);if(!a||!o)return;let s=r.get(n);s&&(r.delete(n),this._registerOtherFormulaService.deleteFormula(e,t,[s.formulaId]));let c=i.get(n);c&&(i.delete(n),this._registerOtherFormulaService.deleteFormula(e,t,[c.formulaId]))}_addFormulaByRange(e,n,r,i,a,o){let{ruleFormulaMap:s,ruleFormulaMap2:c}=this._ensureMaps(e,n),l=o[0].startRow,u=o[0].startColumn;if(i&&(0,t.isFormulaString)(i)){let t=this._registerFormula(e,n,r,i,o);s.set(r,{formula:i,originCol:u,originRow:l,formulaId:t})}if(a&&(0,t.isFormulaString)(a)){let t=this._registerFormula(e,n,r,a,o);c.set(r,{formula:a,originCol:u,originRow:l,formulaId:t})}}addRule(e,t,n){if(v(n.type,this._validatorRegistryService)){let{ranges:r,formula1:i,formula2:a,uid:o}=n;this._addFormulaByRange(e,t,o,i,a,r)}}async getCellFormulaValue(e,t,n,r,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return Promise.resolve(void 0);let c=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}async getCellFormula2Value(e,t,n,r,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return Promise.resolve(void 0);let c=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getCellFormulaValueSync(e,t,n,r,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return;let c=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getCellFormula2ValueSync(e,t,n,r,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return;let c=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getRuleFormulaInfo(e,t,n){let{ruleFormulaMap:r}=this._ensureMaps(e,t);return r.get(n)}makeRuleDirty(e,t,n){var r,i;let a=(r=this._ruleFormulaMap.get(e))==null||(r=r.get(t))==null?void 0:r.get(n),o=(i=this._ruleFormulaMap2.get(e))==null||(i=i.get(t))==null?void 0:i.get(n);a&&this._registerOtherFormulaService.markFormulaDirty(e,t,a.formulaId),o&&this._registerOtherFormulaService.markFormulaDirty(e,t,o.formulaId)}};y=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(r.RegisterOtherFormulaService)),f(2,(0,t.Inject)(n.DataValidationModel)),f(3,(0,t.Inject)(m)),f(4,(0,t.Inject)(n.DataValidatorRegistryService))],y);function b(e){return(0,t.getOriginCellValue)(e)}function ee(e){var t;return String((t=b(e))==null?``:t)}let x=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._dataValidationModel=t,d(this,`_cache`,new Map),this._initRuleChangeListener()}_initRuleChangeListener(){this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{(e.type===`remove`||e.type===`update`)&&this.markRuleDirty(e.unitId,e.subUnitId,e.rule.uid)}))}getOrCompute(e,t,n){let r=this.getCache(e,t,n.uid);if(r)return r;let i=this._injector.get(S).getRuleFormulaResultSync(e,t,n.uid);return this.computeAndCache(e,t,n,i)}_ensureCache(e,t){let n=this._cache.get(e);n||(n=new Map,this._cache.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}getCache(e,t,n){var r;return(r=this._cache.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}setCache(e,t,n,r){this._ensureCache(e,t).set(n,r)}markRuleDirty(e,t,n){var r;(r=this._cache.get(e))==null||(r=r.get(t))==null||r.delete(n)}clear(){this._cache.clear()}computeAndCache(e,n,r,a){var o;let{formula1:s=``,formula2:c=``}=r,l=(0,t.isFormulaString)(s)?this._getRuleFormulaResultSet(a==null||(o=a[0])==null||(o=o.result)==null||(o=o[0])==null?void 0:o[0]):(0,i.deserializeListOptions)(s),u=c.split(`,`),d=l.map((e,t)=>({label:e,color:u[t]||``})),f={};for(let e of d)e.color&&(f[e.label]=e.color);let p={list:l,listWithColor:d,colorMap:f,set:new Set(l)};return this.setCache(e,n,r.uid,p),p}_getRuleFormulaResultSet(e){if(!e)return[];let n=new Set;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a)for(let e=0,i=a.length;e<i;e++){let i=a[e],o=b(i);if(o!=null){var r;if(typeof o!=`string`&&typeof(i==null?void 0:i.s)==`object`&&!((r=i.s)==null||(r=r.n)==null)&&r.pattern){n.add(t.numfmt.format(i.s.n.pattern,o,{throws:!1}));continue}let e=typeof o==`string`?o:String(o);_(e)&&n.add(e)}}}return[...n]}};x=p([f(0,(0,t.Inject)(t.Injector)),f(1,(0,t.Inject)(n.DataValidationModel))],x);let S=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._instanceService=e,this._registerOtherFormulaService=t,this._dataValidationCacheService=n,this._dataValidationModel=r,this._validatorRegistryService=i,this._listCacheService=a,d(this,`_formulaRuleMap`,new Map),this._initFormulaResultHandler()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let n in e){let r=e[n];if(this._instanceService.getUnitType(n)===t.UniverInstanceType.UNIVER_SHEET)for(let e in r){let t=r[e],i=this._ensureRuleFormulaMap(n,e);t.forEach(t=>{var r;let a=(r=t.extra)==null?void 0:r.ruleId;if(a&&i.get(a)){let t=this._dataValidationModel.getRuleById(n,e,a);t&&(this._listCacheService.markRuleDirty(n,e,a),this._dataValidationCacheService.markRangeDirty(n,e,t.ranges))}})}}}))}_ensureRuleFormulaMap(e,t){let n=this._formulaRuleMap.get(e);n||(n=new Map,this._formulaRuleMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_registerSingleFormula(e,t,n,i){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,n,[{startColumn:0,endColumn:0,startRow:0,endRow:0}],{ruleId:i},r.OtherFormulaBizType.DATA_VALIDATION,i)}addRule(e,n,r){if(!v(r.type,this._validatorRegistryService)&&r.type!==t.DataValidationType.CHECKBOX){let{formula1:i,formula2:a,uid:o}=r,s=(0,t.isFormulaString)(i),c=(0,t.isFormulaString)(a);if(!s&&!c)return;let l=this._ensureRuleFormulaMap(e,n),u=[void 0,void 0];s&&(u[0]={id:this._registerSingleFormula(e,n,i,o),text:i}),c&&(u[1]={id:this._registerSingleFormula(e,n,a,o),text:a}),l.set(o,u)}}removeRule(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(!r)return;let[i,a]=r,o=[i==null?void 0:i.id,a==null?void 0:a.id].filter(Boolean);o.length&&this._registerOtherFormulaService.deleteFormula(e,t,o)}getRuleFormulaResult(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(!r)return Promise.resolve(null);let i=async n=>n&&this._registerOtherFormulaService.getFormulaValue(e,t,n.id);return Promise.all([i(r[0]),i(r[1])])}getRuleFormulaResultSync(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(r)return r.map(n=>{if(n)return this._registerOtherFormulaService.getFormulaValueSync(e,t,n.id)})}getRuleFormulaInfo(e,t,n){return this._ensureRuleFormulaMap(e,t).get(n)}};S=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(r.RegisterOtherFormulaService)),f(2,(0,t.Inject)(m)),f(3,(0,t.Inject)(n.DataValidationModel)),f(4,(0,t.Inject)(n.DataValidatorRegistryService)),f(5,(0,t.Inject)(x))],S);var te=class e{constructor(e,n,r,i,a=!1){this._unitId=n,this._subUnitId=r,this._univerInstanceService=i,this._disableTree=a,d(this,`_map`,void 0),d(this,`_tree`,new t.RBush),d(this,`_dirty`,!0),d(this,`_buildTree`,()=>{if(!this._dirty||this._disableTree)return;this._tree.clear();let e=[];this._map.forEach((t,n)=>{t.forEach(t=>{e.push({minX:t.startRow,maxX:t.endRow,minY:t.startColumn,maxY:t.endColumn,ruleId:n})})}),this._tree.load(e),this._dirty=!1}),d(this,`_debonceBuildTree`,(0,t.debounce)(this._buildTree,0)),this._map=e,this._buildTree()}get _worksheet(){var e;return(e=this._univerInstanceService.getUnit(this._unitId,t.UniverInstanceType.UNIVER_SHEET))==null?void 0:e.getSheetBySheetId(this._subUnitId)}_addRule(e,n){if(!this._worksheet)return;let r=t.Rectangle.mergeRanges(n.map(e=>t.Range.transformRange(e,this._worksheet)));this._map.forEach((e,n)=>{let i=t.Rectangle.subtractMulti(e,r);i.length===0?this._map.delete(n):this._map.set(n,i)}),this._dirty=!0,this._map.set(e,r),this._debonceBuildTree()}addRule(e){this._addRule(e.uid,e.ranges)}removeRange(e){if(!this._worksheet)return;let n=e.map(e=>t.Range.transformRange(e,this._worksheet));this._map.forEach((e,r)=>{let i=t.Rectangle.subtractMulti(e,n);i.length===0?this._map.delete(r):this._map.set(r,i)}),this._dirty=!0,this._debonceBuildTree()}_removeRule(e){this._map.delete(e),this._dirty=!0,this._debonceBuildTree()}removeRule(e){this._removeRule(e.uid)}updateRange(e,t){this._removeRule(e),this._addRule(e,t)}addRangeRules(e){e.forEach(({id:e,ranges:n})=>{if(!n.length)return;let r=this._map.get(e);r?(this._map.set(e,t.Rectangle.mergeRanges([...r,...n])),r=this._map.get(e)):(r=n,this._map.set(e,r)),this._map.forEach((r,i)=>{if(i===e)return;let a=t.Rectangle.subtractMulti(r,n);a.length===0?this._map.delete(i):this._map.set(i,a)})}),this._dirty=!0,this._debonceBuildTree()}diff(e){let n=[],r=0;return e.forEach((e,i)=>{var a;let o=(a=this._map.get(e.uid))==null?[]:a,s=e.ranges;o.length!==0&&(o.length!==s.length||o.some((e,n)=>!t.Rectangle.equals(e,s[n])))&&n.push({type:`update`,ruleId:e.uid,oldRanges:s,newRanges:t.Rectangle.sort(o),rule:e}),o.length===0&&(n.push({type:`delete`,rule:e,index:i-r}),r++)}),n}diffWithAddition(e,n){let r=[],i=0;return e.forEach((e,n)=>{var a;let o=(a=this._map.get(e.uid))==null?[]:a,s=e.ranges;o.length!==0&&(o.length!==s.length||o.some((e,n)=>!t.Rectangle.equals(e,s[n])))&&r.push({type:`update`,ruleId:e.uid,oldRanges:s,newRanges:t.Rectangle.sort(o),rule:e}),o.length===0&&(r.push({type:`delete`,rule:e,index:n-i}),i++)}),Array.from(n).forEach(e=>{var n;let i=(n=this._map.get(e.uid))==null?[]:n;r.push({type:`add`,rule:{...e,ranges:t.Rectangle.sort(i)}})}),r}clone(){return new e(new Map(t.Tools.deepClone(Array.from(this._map.entries()))),this._unitId,this._subUnitId,this._univerInstanceService,!0)}getValue(e,t){this._dirty&&this._buildTree();let n=this._tree.search({minX:e,maxX:e,minY:t,maxY:t});return n.length>0?n[0].ruleId:void 0}};let C=class extends t.Disposable{constructor(e,t,n,r,i,o,s){super(),this._dataValidationModel=e,this._univerInstanceService=t,this._dataValidatorRegistryService=n,this._dataValidationCacheService=r,this._dataValidationFormulaService=i,this._dataValidationCustomFormulaService=o,this._commandService=s,d(this,`_ruleMatrixMap`,new Map),d(this,`_validStatusChange$`,new a.Subject),d(this,`_ruleChange$`,new a.Subject),d(this,`ruleChange$`,this._ruleChange$.asObservable()),d(this,`validStatusChange$`,this._validStatusChange$.asObservable()),this._initRuleUpdateListener(),this.disposeWithMe(()=>{this._ruleChange$.complete(),this._validStatusChange$.complete()}),this._initUniverInstanceListener()}_initUniverInstanceListener(){this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{this._ruleMatrixMap.delete(e.getUnitId())})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.RemoveSheetMutation.id){let{unitId:t,subUnitId:n}=e.params,r=this._ruleMatrixMap.get(t);r&&r.delete(n)}}))}_initRuleUpdateListener(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this._addRule(t,e,n),this._ruleChange$.next({type:`add`,unitId:t,subUnitId:e,rule:n,source:`patched`});this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{switch(e.type){case`add`:this._addRule(e.unitId,e.subUnitId,e.rule);break;case`update`:this._updateRule(e.unitId,e.subUnitId,e.rule.uid,e.oldRule,e.updatePayload);break;case`remove`:this._removeRule(e.unitId,e.subUnitId,e.rule);break}this._ruleChange$.next(e)}))}_ensureRuleMatrix(e,t){let n=this._ruleMatrixMap.get(e);n||(n=new Map,this._ruleMatrixMap.set(e,n));let r=n.get(t);return r||(r=new te(new Map,e,t,this._univerInstanceService),n.set(t,r)),r}_addRuleSideEffect(e,t,n){this._ensureRuleMatrix(e,t).addRule(n),this._dataValidationCacheService.addRule(e,t,n),this._dataValidationFormulaService.addRule(e,t,n),this._dataValidationCustomFormulaService.addRule(e,t,n)}_addRule(e,t,n){(Array.isArray(n)?n:[n]).forEach(n=>{this._addRuleSideEffect(e,t,n)})}_updateRule(e,t,r,i,a){let o=this._ensureRuleMatrix(e,t),s={...i,...a.payload};a.type===n.UpdateRuleType.RANGE?o.updateRange(r,a.payload):a.type===n.UpdateRuleType.ALL&&o.updateRange(r,a.payload.ranges),this._dataValidationCacheService.removeRule(e,t,i),this._dataValidationCacheService.addRule(e,t,s),this._dataValidationFormulaService.removeRule(e,t,i.uid),this._dataValidationFormulaService.addRule(e,t,s),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,r),this._dataValidationCustomFormulaService.addRule(e,t,s)}_removeRule(e,t,n){this._ensureRuleMatrix(e,t).removeRule(n),this._dataValidationCacheService.removeRule(e,t,n),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,n.uid)}getValidator(e){return this._dataValidatorRegistryService.getValidatorItem(e)}getRuleIdByLocation(e,t,n,r){return this._ensureRuleMatrix(e,t).getValue(n,r)}getRuleByLocation(e,t,n,r){let i=this.getRuleIdByLocation(e,t,n,r);if(i)return this._dataValidationModel.getRuleById(e,t,i)}validator(e,n,r){let{col:i,row:a,unitId:o,subUnitId:s,worksheet:c}=n,l=(t,n)=>{r&&r(t,n),n&&this._validStatusChange$.next({unitId:o,subUnitId:s,ruleId:e.uid,status:t,row:a,col:i})},u=c.getCellValueOnly(a,i),d=this.getValidator(e.type),f=c.getCellRaw(a,i),p=b(f);if(d){let r=this._dataValidationCacheService.ensureCache(o,s),c=r.getValue(a,i);return c==null?(r.setValue(a,i,t.DataValidationStatus.VALIDATING),d.validator({value:p,unitId:o,subUnitId:s,row:a,column:i,worksheet:n.worksheet,workbook:n.workbook,interceptValue:b(u),t:f==null?void 0:f.t},e).then(e=>{let n=e?t.DataValidationStatus.VALID:t.DataValidationStatus.INVALID,o=r.getValue(a,i);n===t.DataValidationStatus.VALID?r.realDeleteValue(a,i):r.setValue(a,i,n),l(n,c!==o)}),t.DataValidationStatus.VALIDATING):(l(c==null?t.DataValidationStatus.VALID:c,!1),c==null?t.DataValidationStatus.VALID:c)}else return l(t.DataValidationStatus.VALID,!1),t.DataValidationStatus.VALID}getRuleObjectMatrix(e,t){return this._ensureRuleMatrix(e,t)}getRuleById(e,t,n){return this._dataValidationModel.getRuleById(e,t,n)}getRuleIndex(e,t,n){return this._dataValidationModel.getRuleIndex(e,t,n)}getRules(e,t){return[...this._dataValidationModel.getRules(e,t)]}getUnitRules(e){return this._dataValidationModel.getUnitRules(e)}deleteUnitRules(e){return this._dataValidationModel.deleteUnitRules(e)}getSubUnitIds(e){return this._dataValidationModel.getSubUnitIds(e)}getAll(){return this._dataValidationModel.getAll()}};C=p([f(0,(0,t.Inject)(n.DataValidationModel)),f(1,t.IUniverInstanceService),f(2,(0,t.Inject)(n.DataValidatorRegistryService)),f(3,(0,t.Inject)(m)),f(4,(0,t.Inject)(S)),f(5,(0,t.Inject)(y)),f(6,t.ICommandService)],C);let ne={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.operators.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.operators.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.operators.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.operators.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.operators.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.operators.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.operators.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.operators.notEqual`},w={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.ruleName.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.ruleName.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.ruleName.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.ruleName.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.ruleName.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.ruleName.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.ruleName.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.ruleName.notEqual`,NONE:`sheets-data-validation.ruleName.legal`},T={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.errorMsg.notEqual`,NONE:`sheets-data-validation.errorMsg.legal`},re={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.textLength.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.textLength.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.textLength.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.textLength.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.textLength.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.textLength.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.textLength.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.textLength.errorMsg.notEqual`},E=`{FORMULA1}`,ie=`{FORMULA2}`,D=`{TYPE}`;var O=class extends n.BaseDataValidator{get operatorNames(){return this.operators.map(e=>this.localeService.t(ne[e]))}generateRuleName(e){var t,n;if(!e.operator)return this.localeService.t(w.NONE).replace(D,this.titleStr);let r=this.localeService.t(w[e.operator]).replace(E,(t=e.formula1)==null?``:t).replace(ie,(n=e.formula2)==null?``:n);return`${this.titleStr} ${r}`}generateRuleErrorMessage(e,t){var n,r;return e.operator?`${this.localeService.t(T[e.operator]).replace(E,(n=e.formula1)==null?``:n).replace(ie,(r=e.formula2)==null?``:r)}`:this.localeService.t(T.NONE).replace(D,this.titleStr)}};function ae(e,n){return t.Tools.isBlank(e)?n.t(`sheets-data-validation.validFail.value`):(0,t.isFormulaString)(e)?n.t(`sheets-data-validation.validFail.primitive`):``}let k=e=>t.Tools.isDefine(e)&&String(e).toLowerCase()===`true`?`1`:String(e).toLowerCase()===`false`?`0`:e;var oe=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.CHECKBOX),d(this,`title`,`sheets-data-validation.checkbox.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,41),d(this,`offsetFormulaByRange`,!1),d(this,`_formulaService`,this.injector.get(S)),d(this,`skipDefaultFontRender`,(e,t,n)=>{let{unitId:r,subUnitId:i}=n,{formula1:a,formula2:o}=this.parseFormulaSync(e,r,i),s=`${t==null?``:t}`;return!s||s===`${a}`||s===`${o}`})}validatorFormula(e,n,r){let{formula1:i,formula2:a}=e,o=i===a;if(t.Tools.isBlank(i)&&t.Tools.isBlank(a))return{success:!0};if(o)return{success:!1,formula1:this.localeService.t(`sheets-data-validation.validFail.checkboxEqual`),formula2:this.localeService.t(`sheets-data-validation.validFail.checkboxEqual`)};let s=ae(i,this.localeService),c=ae(a,this.localeService);return{success:!s&&!c,formula1:s,formula2:c}}async parseFormula(e,n,r){var i,a;let{formula1:o=1,formula2:s=0}=e,c=await this._formulaService.getRuleFormulaResult(n,r,e.uid),l=(0,t.isFormulaString)(o)?h(c==null||(i=c[0])==null||(i=i.result)==null?void 0:i[0][0]):o,u=(0,t.isFormulaString)(s)?h(c==null||(a=c[1])==null||(a=a.result)==null?void 0:a[0][0]):s,d=_(String(l))&&_(String(u));return{formula1:k(l),formula2:k(u),originFormula1:l,originFormula2:u,isFormulaValid:d}}getExtraStyle(e,n){return{tb:t.WrapStrategy.CLIP}}parseFormulaSync(e,n,r){var i,a;let{formula1:o=1,formula2:s=0}=e,c=this._formulaService.getRuleFormulaResultSync(n,r,e.uid),l=(0,t.isFormulaString)(o)?h(c==null||(i=c[0])==null||(i=i.result)==null?void 0:i[0][0]):o,u=(0,t.isFormulaString)(s)?h(c==null||(a=c[1])==null||(a=a.result)==null?void 0:a[0][0]):s,d=_(String(l))&&_(String(u));return{formula1:k(l),formula2:k(u),originFormula1:l,originFormula2:u,isFormulaValid:d}}async isValidType(e,n,r){let{value:i,unitId:a,subUnitId:o}=e,{formula1:s,formula2:c,originFormula1:l,originFormula2:u}=await this.parseFormula(r,a,o);return!t.Tools.isDefine(s)||!t.Tools.isDefine(c)?!0:t.Tools.isDefine(i)&&(String(i)===String(s)||String(i)===String(c)||String(i)===String(l==null?``:l)||String(i)===String(u==null?``:u))}generateRuleErrorMessage(e){return this.localeService.t(`sheets-data-validation.checkbox.error`)}generateRuleName(e){return this.titleStr}};let se={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.date.operators.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.date.operators.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.date.operators.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.date.operators.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.date.operators.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.date.operators.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.date.operators.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.date.operators.notEqual`};t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL;let ce={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.date.ruleName.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.date.ruleName.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.date.ruleName.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.date.ruleName.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.date.ruleName.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.date.ruleName.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.date.ruleName.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.date.ruleName.notEqual`,NONE:`sheets-data-validation.date.ruleName.legal`},le={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.date.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.date.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.date.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.date.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.date.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.date.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.date.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.date.errorMsg.notEqual`,NONE:`sheets-data-validation.date.errorMsg.legal`},A=[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.NOT_BETWEEN],j=`{FORMULA1}`,M=`{FORMULA2}`;function ue(e){let t=b(e);return t==null?``:t.toString()}function N(e,n,r){let{formula1:i,formula2:a}=n,o=n.ranges[0].startRow,s=n.ranges[0].startColumn,c=r.row-o,l=r.col-s;return{transformedFormula1:(0,t.isFormulaString)(i)?e.moveFormulaRefOffset(i,l,c,!0):i,transformedFormula2:(0,t.isFormulaString)(a)?e.moveFormulaRefOffset(a,l,c,!0):a}}let P=e=>{var n,r;if(e==null||typeof e==`boolean`)return;if(typeof e==`number`||!Number.isNaN(+e))return+e;let i=(n=t.numfmt.parseDate(e))==null?void 0:n.v;return t.Tools.isDefine(i)?i:(r=t.numfmt.parseDate((0,t.dateKit)(e).format(`YYYY-MM-DD HH:mm:ss`)))==null?void 0:r.v};var de=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.DATE),d(this,`title`,`sheets-data-validation.date.title`),d(this,`order`,40),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`]),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder))}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:P((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:P((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}async isValidType(e){let{interceptValue:n,value:r}=e;return typeof r==`number`&&typeof n==`string`||typeof n==`string`?!!t.numfmt.parseDate(n):!1}_validatorSingleFormula(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)||!!(e&&t.numfmt.parseDate(e)))}validatorFormula(e,t,n){let r=e.operator;if(!r)return{success:!0};let i=this._validatorSingleFormula(e.formula1),a=this.localeService.t(`sheets-data-validation.validFail.date`);if(A.includes(r)){let t=this._validatorSingleFormula(e.formula2);return{success:i&&t,formula1:i?void 0:a,formula2:t?void 0:a}}return{success:i,formula1:i?void 0:a}}normalizeFormula(e,n,r){let{formula1:i,formula2:a,bizInfo:o}=e,s=e=>{if(!e)return e;let n;if(!Number.isNaN(+e))n=t.numfmt.dateFromSerial(+e);else{var r;let i=(r=t.numfmt.parseDate(e))==null?void 0:r.v;if(i==null)return``;n=t.numfmt.dateFromSerial(i)}return(0,t.dateKit)(`${n[0]}/${n[1]}/${n[2]} ${n[3]}:${n[4]}:${n[5]}`).format(o!=null&&o.showTime?`YYYY-MM-DD HH:mm:ss`:`YYYY-MM-DD`)};return{formula1:(0,t.isFormulaString)(i)?i:s(`${i}`),formula2:(0,t.isFormulaString)(a)?a:s(`${a}`)}}transform(e,t,n){let{value:r}=e;return{...e,value:P(r)}}get operatorNames(){return this.operators.map(e=>this.localeService.t(se[e]))}generateRuleName(e){var t,n;if(!e.operator)return this.localeService.t(ce.NONE);let r=this.localeService.t(ce[e.operator]).replace(j,(t=e.formula1)==null?``:t).replace(M,(n=e.formula2)==null?``:n);return`${this.titleStr} ${r}`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(le[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};function F(e){return+e}var fe=class extends O{constructor(...e){super(...e),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`id`,t.DataValidationType.DECIMAL),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`title`,`sheets-data-validation.decimal.title`),d(this,`order`,20),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`])}_isFormulaOrNumber(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e))}async isValidType(e,t,n){let{value:r}=e;return!Number.isNaN(F(r))}transform(e,t,n){let{value:r}=e;return{...e,value:F(r)}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:this._parseNumber((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:this._parseNumber((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!0};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrNumber(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrNumber(e.formula2),s=A.includes(i),c=this.localeService.t(`sheets-data-validation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:a?``:c}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(T.NONE).replace(`{TYPE}`,this.titleStr);let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(T[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};function pe(e){if(!e)return[];let n=new Set;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a)for(let e=0,i=a.length;e<i;e++){let i=a[e],o=b(i);if(o!=null){var r;if(typeof o!=`string`&&typeof(i==null?void 0:i.s)==`object`&&!((r=i.s)==null||(r=r.n)==null)&&r.pattern){n.add(t.numfmt.format(i.s.n.pattern,o,{throws:!1}));continue}let e=typeof o==`string`?o:String(o);_(e)&&n.add(e)}}}return[...n]}let me=[`if`,`indirect`,`choose`,`offset`];function he(e,n){if(!(0,t.isFormulaString)(e)||(0,r.isReferenceString)(e.slice(1)))return!0;let i=n.sequenceNodesBuilder(e);return i&&i.some(e=>typeof e==`object`&&e.nodeType===r.sequenceNodeType.FUNCTION&&me.indexOf(e.token.toLowerCase())>-1)}function ge(e,n){let{formula1:i=``,ranges:a}=e;if((0,r.isReferenceString)(i.slice(1))){let e=(0,r.deserializeRangeWithSheet)(i.slice(1));if((!e.sheetName||e.sheetName===n)&&a.some(n=>t.Rectangle.intersects(n,e.range)))return!0}return!1}var I=class extends O{constructor(...e){super(...e),d(this,`formulaService`,this.injector.get(S)),d(this,`_lexer`,this.injector.get(r.LexerTreeBuilder)),d(this,`_univerInstanceService`,this.injector.get(t.IUniverInstanceService)),d(this,`_listCacheService`,this.injector.get(x)),d(this,`order`,50),d(this,`offsetFormulaByRange`,!1),d(this,`id`,t.DataValidationType.LIST),d(this,`title`,`sheets-data-validation.list.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`skipDefaultFontRender`,e=>e.renderMode!==t.DataValidationRenderMode.TEXT)}validatorFormula(e,n,r){var i,a;let o=!t.Tools.isBlank(e.formula1),s=he((i=e.formula1)==null?``:i,this._lexer),c=(a=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_SHEET))==null||(a=a.getSheetBySheetId(r))==null?void 0:a.getName(),l=ge(e,c==null?``:c);return{success:!!(o&&s&&!l),formula1:o?s?l?this.localeService.t(`sheets-data-validation.validFail.listIntersects`):void 0:this.localeService.t(`sheets-data-validation.validFail.listInvalid`):this.localeService.t(`sheets-data-validation.validFail.list`)}}getExtraStyle(e,n,{style:r}){var i;let a=(i=r.tb===t.WrapStrategy.OVERFLOW?t.WrapStrategy.CLIP:r.tb)==null?t.WrapStrategy.WRAP:i;if(e.type===t.DataValidationType.LIST&&(e.renderMode===t.DataValidationRenderMode.ARROW||e.renderMode===t.DataValidationRenderMode.TEXT)){let t=this.getListWithColorMap(e)[`${n==null?``:n}`];if(t)return{bg:{rgb:t},tb:a}}return{tb:a}}parseCellValue(e){return(0,i.deserializeListOptions)(e.toString())}async parseFormula(e,t,n){var r;let i=await this.formulaService.getRuleFormulaResult(t,n,e.uid),a=h(i==null||(r=i[0])==null||(r=r.result)==null?void 0:r[0][0]);return{formula1:void 0,formula2:void 0,isFormulaValid:_(String(a))}}async isValidType(e,n,r){let{value:a,unitId:o,subUnitId:s}=e,{formula1:c=``}=r,l=(0,t.isFormulaString)(c)?this._listCacheService.getOrCompute(o,s,r).list:(0,i.deserializeListOptions)(c);return this.parseCellValue(a).every(e=>l.includes(e))}generateRuleName(){return this.localeService.t(`sheets-data-validation.list.name`)}generateRuleErrorMessage(){return this.localeService.t(`sheets-data-validation.list.error`)}_getUnitAndSubUnit(e,n){var r,i;let a=(r=e?this._univerInstanceService.getUniverSheetInstance(e):void 0)==null?this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET):r;if(!a)return null;let o=(i=n?a.getSheetBySheetId(n):void 0)==null?a.getActiveSheet():i;return o?{unitId:a.getUnitId(),subUnitId:o.getSheetId()}:null}getList(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return[];let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).list}async getListAsync(e,n,r){var a;let{formula1:o=``}=e,s=this._getUnitAndSubUnit(n,r);if(!s)return[];let{unitId:c,subUnitId:l}=s,u=await this.formulaService.getRuleFormulaResult(c,l,e.uid);return(0,t.isFormulaString)(o)?pe(u==null||(a=u[0])==null||(a=a.result)==null?void 0:a[0][0]):(0,i.deserializeListOptions)(o)}getListWithColor(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return[];let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).listWithColor}getListWithColorMap(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return{};let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).colorMap}},_e=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.TEXT_LENGTH),d(this,`title`,`sheets-data-validation.textLength.title`),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`order`,30),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`]),d(this,`_customFormulaService`,this.injector.get(y))}_isFormulaOrInt(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!1};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),s=A.includes(i),c=this.localeService.t(`sheets-data-validation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:c}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:this._parseNumber((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:this._parseNumber((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}transform(e,t,n){return{...e,value:e.value.toString().length}}async isValidType(e,t,n){let{value:r}=e;return typeof r==`string`||typeof r==`number`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(re[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};function L(e){var n,r;return e?e.p?!((n=(r=e.p.body)==null?void 0:r.dataStream)==null?``:n).slice(0,-2).trim():t.Tools.isBlank(e.v):!0}function R(e,a,o,s,c=`command`,l=!0){let u=s.get(r.LexerTreeBuilder),d=s.get(n.DataValidatorRegistryService),f=[],p=[],m=s.get(C),h=(0,i.getSheetCommandTarget)(s.get(t.IUniverInstanceService),{unitId:e,subUnitId:a});if(!h)return{redoMutations:f,undoMutations:p};let{worksheet:g}=h,_=new t.ObjectMatrix,y=!1;function b(e,n){l&&e.forEach(e=>{t.Range.foreach(e,(e,t)=>{let r=g.getCellRaw(e,t),i=ee(r);(L(r)||i===n)&&!(r!=null&&r.p)&&(y=!0,_.setValue(e,t,{v:n,p:null}))})})}if(o.forEach(r=>{switch(r.type){case`delete`:f.push({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.rule.uid,source:c}}),p.unshift({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:a,rule:r.rule,index:r.index,source:c}});break;case`update`:{if(v(r.rule.type,d)){let i=r.oldRanges[0].startRow,o=r.oldRanges[0].startColumn,s=r.newRanges[0].startRow,l=r.newRanges[0].startColumn,d=s-i,m=l-o,h=(0,t.isFormulaString)(r.rule.formula1)?u.moveFormulaRefOffset(r.rule.formula1,m,d):r.rule.formula1,g=(0,t.isFormulaString)(r.rule.formula2)?u.moveFormulaRefOffset(r.rule.formula2,m,d):r.rule.formula2;h!==r.rule.formula1||g!==r.rule.formula2||!(0,t.isRangesEqual)(r.newRanges,r.oldRanges)?(f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.ALL,payload:{formula1:h,formula2:g,ranges:r.newRanges}}}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.ALL,payload:{formula1:r.rule.formula1,formula2:r.rule.formula2,ranges:r.oldRanges}}}})):(f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.newRanges},source:c}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.oldRanges},source:c}}))}else f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.newRanges},source:c}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.oldRanges},source:c}});let i=m.getRuleById(e,a,r.ruleId);if(i&&i.type===t.DataValidationType.CHECKBOX){let n=m.getValidator(t.DataValidationType.CHECKBOX).parseFormulaSync(i,e,a);b(r.newRanges,n.formula2)}break}case`add`:if(f.push({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:a,rule:r.rule,source:c}}),p.unshift({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.rule.uid,source:c}}),r.rule.type===t.DataValidationType.CHECKBOX){let n=m.getValidator(t.DataValidationType.CHECKBOX).parseFormulaSync(r.rule,e,a);b(r.rule.ranges,n.originFormula2)}break;default:break}}),y){let t={id:i.SetRangeValuesMutation.id,params:{unitId:e,subUnitId:a,cellValue:_.getData()}},n={id:i.SetRangeValuesMutation.id,params:(0,i.SetRangeValuesUndoMutationFactory)(s,t.params)};f.push(t),p.push(n)}return{redoMutations:f,undoMutations:p}}let z={type:t.CommandType.COMMAND,id:`sheet.command.updateDataValidationRuleRange`,handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:i,ranges:a,ruleId:o}=n,s=e.get(C),c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService);if(!s.getRuleById(r,i,o))return!1;let u=s.getRuleObjectMatrix(r,i).clone();u.updateRange(o,a);let{redoMutations:d,undoMutations:f}=R(r,i,u.diff(s.getRules(r,i)),e);return l.pushUndoRedo({undoMutations:f,redoMutations:d,unitID:r}),(0,t.sequenceExecute)(d,c),!0}},B={type:t.CommandType.COMMAND,id:`sheet.command.addDataValidation`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a,rule:o}=r,s=e.get(C),c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService),u=s.getRuleObjectMatrix(i,a).clone();u.addRule(o);let d=u.diff(s.getRules(i,a)),f=s.getValidator(o.type),p={unitId:i,subUnitId:a,rule:{...o,...f==null?void 0:f.normalizeFormula(o,i,a)}},{redoMutations:m,undoMutations:h}=R(i,a,d,e);return m.push({id:n.AddDataValidationMutation.id,params:p}),h.unshift({id:n.RemoveDataValidationMutation.id,params:{unitId:i,subUnitId:a,ruleId:o.uid}}),l.pushUndoRedo({unitID:i,redoMutations:m,undoMutations:h}),(0,t.sequenceExecute)(m,c),!0}},V={type:t.CommandType.COMMAND,id:`sheets.command.update-data-validation-setting`,handler(e,r){if(!r)return!1;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(C),c=e.get(n.DataValidatorRegistryService),{unitId:l,subUnitId:u,ruleId:d,setting:f}=r,p=c.getValidatorItem(f.type);if(!p)return!1;let m=s.getRuleById(l,u,d);if(!m)return!1;let h={...m,...f};if(!p.validatorFormula(h,l,u).success)return!1;let g={unitId:l,subUnitId:u,ruleId:d,payload:{type:n.UpdateRuleType.SETTING,payload:{...f,...p.normalizeFormula(h,l,u)}}},_=[{id:n.UpdateDataValidationMutation.id,params:g}],v={unitId:l,subUnitId:u,ruleId:d,payload:{type:n.UpdateRuleType.SETTING,payload:(0,n.getRuleSetting)(m)}},y=[{id:n.UpdateDataValidationMutation.id,params:v}];if(f.type===t.DataValidationType.CHECKBOX){let n=m.ranges,r=(0,i.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:l,subUnitId:u});if(r){let a=new t.ObjectMatrix,{worksheet:o}=r,{formula2:s=0,formula1:c=1}=m,{formula2:d=0,formula1:p=1}=f,h=!1;if(n.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=o.getCellRaw(e,t),r=ee(n);(L(n)||r===String(s))&&!(n!=null&&n.p)?(a.setValue(e,t,{v:d,p:null}),h=!0):r===String(c)&&!(n!=null&&n.p)&&(a.setValue(e,t,{v:p,p:null}),h=!0)})}),h){let t={id:i.SetRangeValuesMutation.id,params:{unitId:l,subUnitId:u,cellValue:a.getData()}},n={id:i.SetRangeValuesMutation.id,params:(0,i.SetRangeValuesUndoMutationFactory)(e,t.params)};_.push(t),y.push(n)}}}return(0,t.sequenceExecute)(_,a).result?(o.pushUndoRedo({unitID:l,redoMutations:_,undoMutations:y}),!0):!1}},H={type:t.CommandType.COMMAND,id:`sheets.command.update-data-validation-options`,handler(e,r){if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(C),{unitId:s,subUnitId:c,ruleId:l,options:u}=r,d=o.getRuleById(s,c,l);if(!d)return!1;let f={unitId:s,subUnitId:c,ruleId:l,payload:{type:n.UpdateRuleType.OPTIONS,payload:u}},p=[{id:n.UpdateDataValidationMutation.id,params:f}],m={unitId:s,subUnitId:c,ruleId:l,payload:{type:n.UpdateRuleType.OPTIONS,payload:(0,n.getRuleOptions)(d)}},h=[{id:n.UpdateDataValidationMutation.id,params:m}];return a.pushUndoRedo({unitID:s,redoMutations:p,undoMutations:h}),i.executeCommand(n.UpdateDataValidationMutation.id,f),!0}},U={type:t.CommandType.COMMAND,id:`sheets.command.clear-range-data-validation`,handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:a,ranges:o}=n,s=e.get(t.ICommandService),c=(0,i.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:r,subUnitId:a}),l=e.get(C);if(!c)return!1;let u=e.get(t.IUndoRedoService),d=l.getRuleObjectMatrix(r,a).clone();d.removeRange(o);let{redoMutations:f,undoMutations:p}=R(r,a,d.diff(l.getRules(r,a)),e);return u.pushUndoRedo({unitID:r,redoMutations:f,undoMutations:p}),(0,t.sequenceExecute)(f,s).result}},W={type:t.CommandType.COMMAND,id:`sheet.command.remove-all-data-validation`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a}=r,o=e.get(t.ICommandService),s=e.get(C),c=e.get(t.IUndoRedoService),l=[...s.getRules(i,a)],u={unitId:i,subUnitId:a,ruleId:l.map(e=>e.uid)},d=[{id:n.RemoveDataValidationMutation.id,params:u}],f=[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:l}}];return c.pushUndoRedo({redoMutations:d,undoMutations:f,unitID:i}),o.executeCommand(n.RemoveDataValidationMutation.id,u),!0}},ve=(e,t)=>{let r=e.get(C),{unitId:i,subUnitId:a,ruleId:o,source:s}=t;if(Array.isArray(o)){let e=o.map(e=>r.getRuleById(i,a,e)).filter(Boolean);return[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:e,source:s}}]}return[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:{...r.getRuleById(i,a,o)},index:r.getRuleIndex(i,a,o)}}]},G={type:t.CommandType.COMMAND,id:`sheet.command.remove-data-validation-rule`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a,ruleId:o}=r,s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(C),u=[{id:n.RemoveDataValidationMutation.id,params:r}],d=[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:{...l.getRuleById(i,a,o)},index:l.getRuleIndex(i,a,o)}}];return c.pushUndoRedo({undoMutations:d,redoMutations:u,unitID:r.unitId}),s.executeCommand(n.RemoveDataValidationMutation.id,r),!0}},K=`SHEET_DATA_VALIDATION_PLUGIN`,q=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._permissionService=t,this._lexerTreeBuilder=n}getFormulaRefCheck(e){let n=this._lexerTreeBuilder.sequenceNodesBuilder(e);if(!n)return!0;for(let e=0;e<n.length;e++){let s=n[e];if(typeof s==`string`)continue;let{token:c}=s,l=(0,r.deserializeRangeWithSheetWithCache)(c),u=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u.getActiveSheet(),f=u.getUnitId();if(l.sheetName){if(d=u.getSheetBySheetName(l.sheetName),!d)return!1;let e=d==null?void 0:d.getSheetId();if(!this._permissionService.getPermissionPoint(new i.WorksheetViewPermission(f,e).id))return!1}if(!d)return!1;let{startRow:p,endRow:m,startColumn:h,endColumn:g}=l.range;for(let e=p;e<=m;e++)for(let t=h;t<=g;t++){var a;let n=(a=d.getCell(e,t))==null||(a=a.selectionProtection)==null?void 0:a[0];if((n==null?void 0:n[o.UnitAction.View])===!1)return!1}}return!0}};q=p([f(0,t.IUniverInstanceService),f(1,t.IPermissionService),f(2,(0,t.Inject)(r.LexerTreeBuilder))],q);var ye=`@univerjs/sheets-data-validation`,be=`0.24.0-insiders.20260527-b1d726f`;let xe=`sheets-data-validation.config`;Symbol(xe);let Se={},J=class extends t.Disposable{constructor(e,t,n){super(),this._dataValidationModel=e,this._formulaRefRangeService=t,this._validatorRegistryService=n,d(this,`_disposableMap`,new Map),d(this,`registerRule`,(e,t,n)=>{v(n.type,this._validatorRegistryService)&&this.register(e,t,n)}),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}register(e,r,i){let a=i.ranges,o=i.formula1,s=i.formula2,c=this._formulaRefRangeService.registerRangeFormula(e,r,a,[o==null?``:o,s==null?``:s],c=>{if(c.length===0)return{undos:[{id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:r,rule:i,source:`patched`}}],redos:[{id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,source:`patched`}}]};let l=[],u=[],d=c[0];l.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,payload:{type:n.UpdateRuleType.ALL,payload:{ranges:d.ranges,formula1:d.formulas[0],formula2:d.formulas[1]}},source:`patched`}}),u.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,payload:{type:n.UpdateRuleType.ALL,payload:{ranges:a,formula1:o,formula2:s}},source:`patched`}});for(let a=1;a<c.length;a++){let o=c[a],s=(0,t.generateRandomId)();l.push({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:r,rule:{...i,uid:s,formula1:o.formulas[0],formula2:o.formulas[1],ranges:o.ranges},source:`patched`}}),u.push({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:s,source:`patched`}})}return{undos:u,redos:l}}),l=this._getIdWithUnitId(e,r,i.uid);this._disposableMap.set(l,c)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.registerRule(t,e,n);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case`remove`:{let e=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));e&&e.dispose();break}case`update`:{let r=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));i&&i.dispose(),this.registerRule(e.unitId,e.subUnitId,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};J=p([f(0,(0,t.Inject)(C)),f(1,(0,t.Inject)(s.FormulaRefRangeService)),f(2,(0,t.Inject)(n.DataValidatorRegistryService))],J);let Y=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._dataValidationModel=e,this._injector=t,this._refRangeService=n,this._dataValidationFormulaService=r,this._formulaRefRangeService=i,this._validatorRegistryService=a,d(this,`_disposableMap`,new Map),d(this,`registerRule`,(e,t,n)=>{v(n.type,this._validatorRegistryService)||(this.register(e,t,n),this.registerFormula(e,t,n))}),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}registerFormula(e,t,r){var i;let a=r.uid,o=this._getIdWithUnitId(e,t,a),s=(i=this._disposableMap.get(o))==null?new Set:i,c=(i,o)=>{let s=this._dataValidationModel.getRuleById(e,t,a);if(!s)return{redos:[],undos:[]};let c=s[i];if(!c||c===o)return{redos:[],undos:[]};let l={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:n.UpdateRuleType.SETTING,payload:{type:s.type,formula1:s.formula1,formula2:s.formula2,[i]:o}},source:`patched`},u={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:n.UpdateRuleType.SETTING,payload:{type:s.type,formula1:s.formula1,formula2:s.formula2}},source:`patched`};return{redos:[{id:n.UpdateDataValidationMutation.id,params:l}],undos:[{id:n.UpdateDataValidationMutation.id,params:u}]}},l=this._dataValidationFormulaService.getRuleFormulaInfo(e,t,a);if(l){let[n,r]=l;if(n){let r=this._formulaRefRangeService.registerFormula(e,t,n.text,e=>c(`formula1`,e));s.add(()=>r.dispose())}if(r){let n=this._formulaRefRangeService.registerFormula(e,t,r.text,e=>c(`formula2`,e));s.add(()=>n.dispose())}}}register(e,r,a){var o;let s=o=>{let s=[...a.ranges],c=s.map(e=>(0,i.handleCommonDefaultRangeChangeWithEffectRefCommands)(e,o)).filter(e=>!!e).flat();if((0,t.isRangesEqual)(c,s))return{redos:[],undos:[]};if(c.length){let t={unitId:e,subUnitId:r,ruleId:a.uid,payload:{type:n.UpdateRuleType.RANGE,payload:c},source:`patched`};return{redos:[{id:n.UpdateDataValidationMutation.id,params:t}],undos:[{id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:a.uid,payload:{type:n.UpdateRuleType.RANGE,payload:s},source:`patched`}}]}}else{let t={unitId:e,subUnitId:r,ruleId:a.uid};return{redos:[{id:n.RemoveDataValidationMutation.id,params:t}],undos:ve(this._injector,t)}}},c=[];a.ranges.forEach(t=>{let n=this._refRangeService.registerRefRange(t,s,e,r);c.push(()=>n.dispose())});let l=this._getIdWithUnitId(e,r,a.uid),u=(o=this._disposableMap.get(l))==null?new Set:o;u.add(()=>c.forEach(e=>e())),this._disposableMap.set(l,u)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.registerRule(t,e,n);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case`remove`:{let e=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));e&&e.forEach(e=>e());break}case`update`:{let r=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));i&&i.forEach(e=>e()),this.registerRule(e.unitId,e.subUnitId,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.forEach(e=>e())}),this._disposableMap.clear()}))}};Y=p([f(0,(0,t.Inject)(C)),f(1,(0,t.Inject)(t.Injector)),f(2,(0,t.Inject)(i.RefRangeService)),f(3,(0,t.Inject)(S)),f(4,(0,t.Inject)(s.FormulaRefRangeService)),f(5,(0,t.Inject)(n.DataValidatorRegistryService))],Y);let X=class extends t.Disposable{constructor(e,t,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._sheetDataValidationModel=n,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===i.RemoveSheetCommand.id){var r;let i=e.params,a=i.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=this._univerInstanceService.getUniverSheetInstance(a);if(!o)return{redos:[],undos:[]};let s=i.subUnitId||((r=o.getActiveSheet())==null?void 0:r.getSheetId());if(!s)return{redos:[],undos:[]};let c=this._sheetDataValidationModel.getRules(a,s);if(c.length===0)return{redos:[],undos:[]};let l={unitId:a,subUnitId:s,ruleId:c.map(e=>e.uid),source:`patched`},u={unitId:a,subUnitId:s,rule:[...c],source:`patched`};return{redos:[{id:n.RemoveDataValidationMutation.id,params:l}],undos:[{id:n.AddDataValidationMutation.id,params:u}]}}else if(e.id===i.CopySheetCommand.id){let{unitId:r,subUnitId:i,targetSubUnitId:a}=e.params;if(!r||!i||!a)return{redos:[],undos:[]};let o=this._sheetDataValidationModel.getRules(r,i);if(o.length===0)return{redos:[],undos:[]};let s=o.map(e=>({...e,uid:(0,t.generateRandomId)(6)}));return{redos:[{id:n.AddDataValidationMutation.id,params:{unitId:r,subUnitId:a,rule:s,source:`patched`}}],undos:[{id:n.RemoveDataValidationMutation.id,params:{unitId:r,subUnitId:a,ruleId:s.map(e=>e.uid),source:`patched`}}]}}return{redos:[],undos:[]}}}))}};X=p([f(0,(0,t.Inject)(i.SheetInterceptorService)),f(1,(0,t.Inject)(t.IUniverInstanceService)),f(2,(0,t.Inject)(C))],X);var Ce=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.ANY),d(this,`title`,`sheets-data-validation.any.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,0),d(this,`offsetFormulaByRange`,!1)}async parseFormula(e,t,n){return{formula1:e.formula1,formula2:e.formula2,isFormulaValid:!0}}validatorFormula(e,t,n){return{success:!0}}async isValidType(e,t,n){return!0}generateRuleErrorMessage(e){return this.localeService.t(`sheets-data-validation.any.error`)}},we=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.CUSTOM),d(this,`title`,`sheets-data-validation.custom.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,60),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder))}validatorFormula(e,n,i){var a;let o=(0,t.isFormulaString)(e.formula1),s=(a=e.formula1)==null?``:a,c=this._lexerTreeBuilder.checkIfAddBracket(s)===0&&s.startsWith(r.operatorToken.EQUALS);return{success:o&&c,formula1:o&&c?``:this.localeService.t(`sheets-data-validation.validFail.formula`)}}async parseFormula(e,t,n){return{formula1:void 0,formula2:void 0,isFormulaValid:!0}}async isValidType(e,n,r){let{column:i,row:a,unitId:o,subUnitId:s}=e,c=await this._customFormulaService.getCellFormulaValue(o,s,r.uid,a,i),l=c==null?void 0:c.v;return _(String(l))&&t.Tools.isDefine(l)&&l!==``?c.t===t.CellValueType.BOOLEAN?!!l:typeof l==`boolean`?l:typeof l==`number`?!!l:typeof l==`string`?_(l):!!l:!1}generateRuleErrorMessage(e){return this.localeService.t(`sheets-data-validation.custom.error`)}generateRuleName(e){var t;return this.localeService.t(`sheets-data-validation.custom.ruleName`).replace(`{FORMULA1}`,(t=e.formula1)==null?``:t)}},Te=class extends I{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.LIST_MULTIPLE),d(this,`title`,`sheets-data-validation.listMultiple.title`),d(this,`offsetFormulaByRange`,!1),d(this,`skipDefaultFontRender`,()=>!0)}},Ee=class extends O{constructor(...e){super(...e),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`id`,t.DataValidationType.WHOLE),d(this,`title`,`sheets-data-validation.whole.title`),d(this,`order`,10),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`])}_isFormulaOrInt(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}async isValidType(e,t,n){let{value:r}=e,i=F(r);return!Number.isNaN(i)&&Number.isInteger(i)}transform(e,t,n){let{value:r}=e;return{...e,value:F(r)}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=(0,t.isFormulaString)(c)?o==null?void 0:o.v:c,d=(0,t.isFormulaString)(l)?s==null?void 0:s.v:l,f=_(`${u}`)&&_(`${d}`);return{formula1:this._parseNumber(u),formula2:this._parseNumber(d),isFormulaValid:f}}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!0};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),s=A.includes(i),c=this.localeService.t(`sheets-data-validation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:c}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(T.NONE).replace(`{TYPE}`,this.titleStr);let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(T[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};let Z=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._dataValidatorRegistryService=t,this._injector=n,this._selectionManagerService=r,this._sheetInterceptorService=i,this._sheetDataValidationModel=a,this._init()}_init(){this._registerValidators(),this._initCommandInterceptor()}_registerValidators(){[Ce,fe,Ee,_e,de,oe,I,Te,we].forEach(e=>{let n=this._injector.createInstance(e);this.disposeWithMe(this._dataValidatorRegistryService.register(n)),this.disposeWithMe((0,t.toDisposable)(()=>this._injector.delete(e)))})}_initCommandInterceptor(){this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===i.ClearSelectionAllCommand.id){var n;let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=e.getUnitId(),i=e.getActiveSheet();if(!i)throw Error(`No active sheet found`);let a=i.getSheetId(),o=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),s=this._sheetDataValidationModel.getRuleObjectMatrix(r,a).clone();o&&s.removeRange(o);let{redoMutations:c,undoMutations:l}=R(r,a,s.diff(this._sheetDataValidationModel.getRules(r,a)),this._injector,`patched`);return{undos:l,redos:c}}return{undos:[],redos:[]}}})}};Z=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(n.DataValidatorRegistryService)),f(2,(0,t.Inject)(t.Injector)),f(3,(0,t.Inject)(i.SheetsSelectionsService)),f(4,(0,t.Inject)(i.SheetInterceptorService)),f(5,(0,t.Inject)(C))],Z);let Q=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetDataValidationModel=t,this._dataValidationCacheService=n,this._lifecycleService=r,this._initRecalculate()}_initRecalculate(){let e=e=>{if(e.length===0)return;let n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getActiveSheet(),i={};e.flat().forEach(e=>{i[e.unitId]||(i[e.unitId]={}),i[e.unitId][e.subUnitId]||(i[e.unitId][e.subUnitId]=[]);let n=this._univerInstanceService.getUnit(e.unitId,t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getSheetBySheetId(e.subUnitId);r&&i[e.unitId][e.subUnitId].push(...e.ranges.map(e=>t.Range.transformRange(e,r)))}),Object.entries(i).forEach(([e,t])=>{Object.entries(t).forEach(([t,i])=>{(n==null?void 0:n.getUnitId())===e&&(r==null?void 0:r.getSheetId())===t?this.validatorRanges(e,t,i):requestIdleCallback(()=>{this.validatorRanges(e,t,i)})})})};this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe((0,a.bufferWhen)(()=>this._lifecycleService.lifecycle$.pipe((0,a.skip)(1),(0,a.filter)(e=>e===t.LifecycleStages.Rendered)))).subscribe(e)),this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe((0,a.filter)(()=>this._lifecycleService.stage>=t.LifecycleStages.Rendered),(0,t.bufferDebounceTime)(20)).subscribe(e))}async _validatorByCell(e,n,r,i){let a=e.getUnitId(),o=n.getSheetId();if(!t.Tools.isDefine(r)||!t.Tools.isDefine(i))throw Error(`row or col is not defined, row: ${r}, col: ${i}`);let s=r,c=i,l=n.getMergedCell(r,i);l&&(s=l.startRow,c=l.startColumn);let u=this._sheetDataValidationModel.getRuleByLocation(a,o,s,c);return u?new Promise(t=>{this._sheetDataValidationModel.validator(u,{unitId:a,subUnitId:o,row:s,col:c,worksheet:n,workbook:e},e=>{t(e)})}):t.DataValidationStatus.VALID}async validatorCell(e,n,r,i){let a=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!a)throw Error(`cannot find current workbook, unitId: ${e}`);let o=a.getSheetBySheetId(n);if(!o)throw Error(`cannot find current worksheet, sheetId: ${n}`);return this._validatorByCell(a,o,r,i)}async validatorRanges(e,n,r){if(!r.length)return Promise.resolve([]);let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!i)throw Error(`cannot find current workbook, unitId: ${e}`);let a=i.getSheetBySheetId(n);if(!a)throw Error(`cannot find current worksheet, sheetId: ${n}`);let o=this._sheetDataValidationModel.getRules(e,n),s=[];for(let e of o)s.push(...e.ranges);let c=[];for(let e of r)for(let n of s){let r=(0,t.getIntersectRange)(e,n);r&&c.push(r)}let l=[],u=await Promise.all(c.map((e,t)=>{let n=[];for(let r=e.startRow;r<=e.endRow;r++)for(let o=e.startColumn;o<=e.endColumn;o++){n.push(this._validatorByCell(i,a,r,o));let e=a.getMergedCell(r,o);e&&l.push({resultRowIndex:t,resultColIndex:n.length-1,row:e.startRow,col:e.startColumn})}return Promise.all(n)}));return l.length&&l.forEach(({resultRowIndex:r,resultColIndex:i,row:a,col:o})=>{if(u[r][i]===t.DataValidationStatus.VALIDATING){var s;u[r][i]=(s=this._dataValidationCacheService.getValue(e,n,a,o))==null?t.DataValidationStatus.VALID:s}}),u}async validatorWorksheet(e,n){let r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!r)throw Error(`cannot find current workbook, unitId: ${e}`);let i=r.getSheetBySheetId(n);if(!i)throw Error(`cannot find current worksheet, sheetId: ${n}`);let a=this._sheetDataValidationModel.getRules(e,n);return await Promise.all(a.map(e=>Promise.all(e.ranges.map(e=>{let n=[];return t.Range.foreach(e,(e,t)=>{n.push(this._validatorByCell(r,i,e,t))}),Promise.all(n)})))),this._dataValidationCacheService.ensureCache(e,n)}async validatorWorkbook(e){let t=this._sheetDataValidationModel.getSubUnitIds(e),n=await Promise.all(t.map(t=>this.validatorWorksheet(e,t))),r={};return n.forEach((e,n)=>{r[t[n]]=e}),r}getDataValidations(e,n,r){let i=this._sheetDataValidationModel.getRuleObjectMatrix(e,n),a=new Set;r.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=i.getValue(e,t);n&&a.add(n)})});let o=[];for(let t of a){let r=this._sheetDataValidationModel.getRuleById(e,n,t);r&&o.push(r)}return o}getDataValidation(e,t,n){return this.getDataValidations(e,t,n)[0]}};Q=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(C)),f(2,(0,t.Inject)(m)),f(3,(0,t.Inject)(t.LifecycleService))],Q);let $=class extends t.Plugin{constructor(e=Se,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},Se,this._config);this._configService.setConfig(xe,a)}onStarting(){[[m],[x],[S],[y],[Q],[C],[Z],[q],[X],[Y],[J]].forEach(e=>{this._injector.add(e)}),[B,z,V,H,G,W,U].forEach(e=>{this._commandService.registerCommand(e)}),this._injector.get(m),this._injector.get(Q),this._injector.get(Z),this._injector.get(J),this._injector.get(Y)}onReady(){this._injector.get(X)}onRendered(){this._injector.get(q)}};d($,`pluginName`,K),d($,`packageName`,ye),d($,`version`,be),d($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=p([(0,t.DependentOn)(s.UniverSheetsFormulaPlugin,n.UniverDataValidationPlugin),f(1,(0,t.Inject)(t.Injector)),f(2,t.ICommandService),f(3,t.IConfigService)],$);function De(e){let n=e.get(i.SheetsSelectionsService).getCurrentSelections().map(e=>e.range);return{uid:(0,t.generateRandomId)(6),type:t.DataValidationType.DECIMAL,operator:t.DataValidationOperator.EQUAL,formula1:`100`,ranges:n==null?[{startColumn:0,endColumn:0,startRow:0,endRow:0}]:n}}e.AddSheetDataValidationCommand=B,e.BASE_FORMULA_INPUT_NAME=`sheets-data-validation.formula-input`,e.CHECKBOX_FORMULA_1=1,e.CHECKBOX_FORMULA_2=0,e.CHECKBOX_FORMULA_INPUT_NAME=`sheets-data-validation.checkbox-formula-input`,e.CUSTOM_FORMULA_INPUT_NAME=`sheets-data-validation.custom-formula-input`,e.CheckboxValidator=oe,e.ClearRangeDataValidationCommand=U,e.DATA_VALIDATION_PLUGIN_NAME=K,Object.defineProperty(e,`DataValidationCacheService`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(e,`DataValidationCustomFormulaService`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(e,`DataValidationFormulaController`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(e,`DataValidationFormulaService`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(e,`DataValidationListCacheService`,{enumerable:!0,get:function(){return x}}),e.DateValidator=de,e.LIST_FORMULA_INPUT_NAME=`sheets-data-validation.list-formula-input`,e.ListMultipleValidator=Te,e.ListValidator=I,e.RemoveSheetAllDataValidationCommand=W,e.RemoveSheetDataValidationCommand=G,Object.defineProperty(e,`SheetDataValidationModel`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(e,`SheetsDataValidationValidatorService`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,`UniverSheetsDataValidationPlugin`,{enumerable:!0,get:function(){return $}}),e.UpdateSheetDataValidationOptionsCommand=H,e.UpdateSheetDataValidationRangeCommand=z,e.UpdateSheetDataValidationSettingCommand=V,e.createDefaultNewRule=De,e.getCellValueNumber=F,e.getCellValueOrigin=b,e.getDataValidationCellValue=ue,e.getDataValidationDiffMutations=R,e.getFormulaCellData=g,e.getFormulaResult=h,e.getTransformedFormula=N,e.isLegalFormulaResult=_,e.transformCheckboxValue=k});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationArSA=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`بين`,greaterThan:`أكبر من`,greaterThanOrEqual:`أكبر من أو يساوي`,lessThan:`أقل من`,lessThanOrEqual:`أقل من أو يساوي`,equal:`يساوي`,notEqual:`لا يساوي`,notBetween:`ليس بين`,legal:`نوع قانوني`},ruleName:{between:`بين {FORMULA1} و{FORMULA2}`,greaterThan:`أكبر من {FORMULA1}`,greaterThanOrEqual:`أكبر من أو يساوي {FORMULA1}`,lessThan:`أقل من {FORMULA1}`,lessThanOrEqual:`أقل من أو يساوي {FORMULA1}`,equal:`يساوي {FORMULA1}`,notEqual:`لا يساوي {FORMULA1}`,notBetween:`ليس بين {FORMULA1} و{FORMULA2}`,legal:`نوع قانوني {TYPE}`},errorMsg:{between:`يجب أن تكون القيمة بين {FORMULA1} و{FORMULA2}`,greaterThan:`يجب أن تكون القيمة أكبر من {FORMULA1}`,greaterThanOrEqual:`يجب أن تكون القيمة أكبر من أو تساوي {FORMULA1}`,lessThan:`يجب أن تكون القيمة أقل من {FORMULA1}`,lessThanOrEqual:`يجب أن تكون القيمة أقل من أو تساوي {FORMULA1}`,equal:`يجب أن تكون القيمة تساوي {FORMULA1}`,notEqual:`يجب ألا تكون القيمة تساوي {FORMULA1}`,notBetween:`يجب ألا تكون القيمة بين {FORMULA1} و{FORMULA2}`,legal:`يجب أن تكون القيمة من نوع قانوني {TYPE}`},date:{operators:{between:`بين`,greaterThan:`بعد`,greaterThanOrEqual:`في أو بعد`,lessThan:`قبل`,lessThanOrEqual:`في أو قبل`,equal:`يساوي`,notEqual:`لا يساوي`,notBetween:`ليس بين`,legal:`تاريخ قانوني`},ruleName:{between:`بين {FORMULA1} و{FORMULA2}`,greaterThan:`بعد {FORMULA1}`,greaterThanOrEqual:`في أو بعد {FORMULA1}`,lessThan:`قبل {FORMULA1}`,lessThanOrEqual:`في أو قبل {FORMULA1}`,equal:`في {FORMULA1}`,notEqual:`ليس في {FORMULA1}`,notBetween:`ليس بين {FORMULA1}`,legal:`تاريخ قانوني`},errorMsg:{between:`يجب أن تكون القيمة تاريخًا قانونيًا وبين {FORMULA1} و{FORMULA2}`,greaterThan:`يجب أن تكون القيمة تاريخًا قانونيًا وبعد {FORMULA1}`,greaterThanOrEqual:`يجب أن تكون القيمة تاريخًا قانونيًا وفي أو بعد {FORMULA1}`,lessThan:`يجب أن تكون القيمة تاريخًا قانونيًا وقبل {FORMULA1}`,lessThanOrEqual:`يجب أن تكون القيمة تاريخًا قانونيًا وفي أو قبل {FORMULA1}`,equal:`يجب أن تكون القيمة تاريخًا قانونيًا وفي {FORMULA1}`,notEqual:`يجب أن تكون القيمة تاريخًا قانونيًا وليس في {FORMULA1}`,notBetween:`يجب أن تكون القيمة تاريخًا قانونيًا وليس بين {FORMULA1}`,legal:`يجب أن تكون القيمة تاريخًا قانونيًا`},title:`تاريخ`},textLength:{errorMsg:{between:`يجب أن يكون طول النص بين {FORMULA1} و{FORMULA2}`,greaterThan:`يجب أن يكون طول النص أكبر من {FORMULA1}`,greaterThanOrEqual:`يجب أن يكون طول النص أكبر من أو يساوي {FORMULA1}`,lessThan:`يجب أن يكون طول النص أقل من {FORMULA1}`,lessThanOrEqual:`يجب أن يكون طول النص أقل من أو يساوي {FORMULA1}`,equal:`يجب أن يكون طول النص يساوي {FORMULA1}`,notEqual:`يجب ألا يكون طول النص يساوي {FORMULA1}`,notBetween:`يجب ألا يكون طول النص بين {FORMULA1}`},title:`طول النص`},custom:{ruleName:`الصيغة المخصصة هي {FORMULA1}`,title:`صيغة مخصصة`,validFail:`يرجى إدخال صيغة صالحة`,error:`محتويات هذه الخلية تنتهك قاعدة التحقق`},validFail:{value:`يرجى إدخال قيمة`,common:`يرجى إدخال قيمة أو صيغة`,number:`يرجى إدخال رقم أو صيغة`,formula:`يرجى إدخال صيغة`,integer:`يرجى إدخال عدد صحيح أو صيغة`,date:`يرجى إدخال تاريخ أو صيغة`,list:`يرجى إدخال خيارات`,listInvalid:`يجب أن يكون مصدر القائمة قائمة محددة بفواصل أو مرجعًا لصف أو عمود واحد`,checkboxEqual:`أدخل قيمًا مختلفة لمحتويات الخلية المحددة وغير المحددة.`,formulaError:`يحتوي نطاق المرجع على بيانات غير مرئية، يرجى إعادة ضبط النطاق`,listIntersects:`لا يمكن أن يتقاطع النطاق المحدد مع نطاق القواعد`,primitive:`غير مسموح بالصيغ لقيم المحدد وغير المحدد المخصصة.`},any:{title:`أي قيمة`,error:`محتوى هذه الخلية ينتهك قاعدة التحقق`},list:{title:`قائمة منسدلة`,name:`القيمة تحتوي على واحدة من النطاق`,error:`يجب أن يكون الإدخال ضمن النطاق المحدد`,emptyError:`يرجى إدخال قيمة`,add:`إضافة`,dropdown:`تحديد`,options:`خيارات`,customOptions:`مخصص`,refOptions:`من نطاق`,formulaError:`يجب أن يكون مصدر القائمة قائمة بيانات محددة بفواصل، أو مرجعًا لصف أو عمود واحد.`,edit:`تحرير`},listMultiple:{title:`قائمة منسدلة - متعددة`,dropdown:`تحديد متعدد`},decimal:{title:`رقم`},whole:{title:`عدد صحيح`},checkbox:{title:`خانة اختيار`,error:`محتويات هذه الخلية تنتهك قاعدة التحقق`,tips:`استخدم قيمًا مخصصة داخل الخلايا`,checked:`القيمة المحددة`,unchecked:`القيمة غير المحددة`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationCaES=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`entre`,greaterThan:`més gran que`,greaterThanOrEqual:`més gran o igual que`,lessThan:`menys que`,lessThanOrEqual:`menys o igual que`,equal:`igual`,notEqual:`no igual`,notBetween:`no entre`,legal:`és tipus legal`},ruleName:{between:`Està entre {FORMULA1} i {FORMULA2}`,greaterThan:`És més gran que {FORMULA1}`,greaterThanOrEqual:`És més gran o igual que {FORMULA1}`,lessThan:`És menys que {FORMULA1}`,lessThanOrEqual:`És menys o igual que {FORMULA1}`,equal:`És igual a {FORMULA1}`,notEqual:`No és igual a {FORMULA1}`,notBetween:`No està entre {FORMULA1} i {FORMULA2}`,legal:`És un {TYPE} legal`},errorMsg:{between:`El valor ha d’estar entre {FORMULA1} i {FORMULA2}`,greaterThan:`El valor ha de ser més gran que {FORMULA1}`,greaterThanOrEqual:`El valor ha de ser més gran o igual que {FORMULA1}`,lessThan:`El valor ha de ser menys que {FORMULA1}`,lessThanOrEqual:`El valor ha de ser menys o igual que {FORMULA1}`,equal:`El valor ha de ser igual a {FORMULA1}`,notEqual:`El valor no ha de ser igual a {FORMULA1}`,notBetween:`El valor no ha d’estar entre {FORMULA1} i {FORMULA2}`,legal:`El valor ha de ser un {TYPE} legal`},date:{operators:{between:`entre`,greaterThan:`després de`,greaterThanOrEqual:`en o després de`,lessThan:`abans de`,lessThanOrEqual:`en o abans de`,equal:`igual`,notEqual:`no igual`,notBetween:`no entre`,legal:`és una data legal`},ruleName:{between:`està entre {FORMULA1} i {FORMULA2}`,greaterThan:`és després de {FORMULA1}`,greaterThanOrEqual:`és en o després de {FORMULA1}`,lessThan:`és abans de {FORMULA1}`,lessThanOrEqual:`és en o abans de {FORMULA1}`,equal:`és {FORMULA1}`,notEqual:`no és {FORMULA1}`,notBetween:`no està entre {FORMULA1}`,legal:`és una data legal`},errorMsg:{between:`El valor ha de ser una data legal i estar entre {FORMULA1} i {FORMULA2}`,greaterThan:`El valor ha de ser una data legal i després de {FORMULA1}`,greaterThanOrEqual:`El valor ha de ser una data legal i en o després de {FORMULA1}`,lessThan:`El valor ha de ser una data legal i abans de {FORMULA1}`,lessThanOrEqual:`El valor ha de ser una data legal i en o abans de {FORMULA1}`,equal:`El valor ha de ser una data legal i {FORMULA1}`,notEqual:`El valor ha de ser una data legal i no {FORMULA1}`,notBetween:`El valor ha de ser una data legal i no estar entre {FORMULA1}`,legal:`El valor ha de ser una data legal`},title:`Data`},textLength:{errorMsg:{between:`La longitud del text ha d’estar entre {FORMULA1} i {FORMULA2}`,greaterThan:`La longitud del text ha de ser més gran que {FORMULA1}`,greaterThanOrEqual:`La longitud del text ha de ser més gran o igual que {FORMULA1}`,lessThan:`La longitud del text ha de ser menys que {FORMULA1}`,lessThanOrEqual:`La longitud del text ha de ser menys o igual que {FORMULA1}`,equal:`La longitud del text ha de ser {FORMULA1}`,notEqual:`La longitud del text no ha de ser {FORMULA1}`,notBetween:`La longitud del text no ha d’estar entre {FORMULA1}`},title:`Longitud del text`},custom:{ruleName:`La fórmula personalitzada és {FORMULA1}`,title:`Fórmula personalitzada`,validFail:`Si us plau, introdueix una fórmula vàlida`,error:`El contingut d’aquesta cel·la incompleix la seva regla de validació`},validFail:{value:`Si us plau, introdueix un valor`,common:`Si us plau, introdueix un valor o una fórmula`,number:`Si us plau, introdueix un número o una fórmula`,formula:`Si us plau, introdueix una fórmula`,integer:`Si us plau, introdueix un enter o una fórmula`,date:`Si us plau, introdueix una data o una fórmula`,list:`Si us plau, introdueix opcions`,listInvalid:`La font de la llista ha de ser una llista delimitada o una referència a una sola fila o columna`,checkboxEqual:`Introdueix valors diferents per als continguts de cel·la marcats i desmarcats.`,formulaError:`L’interval de referència conté dades invisibles, ajusta l’interval`,listIntersects:`L’interval seleccionat no pot creuar-se amb l’àmbit de les regles`,primitive:`No es permeten fórmules per a valors personalitzats marcats i desmarcats.`},any:{title:`Qualsevol valor`,error:`El contingut d’aquesta cel·la incompleix la regla de validació`},list:{title:`Desplegable`,name:`El valor conté un del rang`,error:`L’entrada ha d’estar dins del rang especificat`,emptyError:`Si us plau, introdueix un valor`,add:`Afegeix`,dropdown:`Selecciona`,options:`Opcions`,customOptions:`Personalitzat`,refOptions:`D’un interval`,formulaError:`La font de la llista ha de ser una llista delimitada de dades o una referència a una sola fila o columna.`,edit:`Edita`},listMultiple:{title:`Desplegable-múltiple`,dropdown:`Selecció múltiple`},decimal:{title:`Número`},whole:{title:`Enter`},checkbox:{title:`Casella de selecció`,error:`El contingut d’aquesta cel·la incompleix la seva regla de validació`,tips:`Utilitza valors personalitzats dins de les cel·les`,checked:`Valor seleccionat`,unchecked:`Valor no seleccionat`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationDeDE=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`zwischen`,greaterThan:`größer als`,greaterThanOrEqual:`größer als oder gleich`,lessThan:`kleiner als`,lessThanOrEqual:`kleiner als oder gleich`,equal:`gleich`,notEqual:`ungleich`,notBetween:`nicht zwischen`,legal:`ist gültiger Typ`},ruleName:{between:`Ist zwischen {FORMULA1} und {FORMULA2}`,greaterThan:`Ist größer als {FORMULA1}`,greaterThanOrEqual:`Ist größer als oder gleich {FORMULA1}`,lessThan:`Ist kleiner als {FORMULA1}`,lessThanOrEqual:`Ist kleiner als oder gleich {FORMULA1}`,equal:`Ist gleich {FORMULA1}`,notEqual:`Ist ungleich {FORMULA1}`,notBetween:`Ist nicht zwischen {FORMULA1} und {FORMULA2}`,legal:`Ist ein gültiger {TYPE}`},errorMsg:{between:`Wert muss zwischen {FORMULA1} und {FORMULA2} liegen`,greaterThan:`Wert muss größer als {FORMULA1} sein`,greaterThanOrEqual:`Wert muss größer als oder gleich {FORMULA1} sein`,lessThan:`Wert muss kleiner als {FORMULA1} sein`,lessThanOrEqual:`Wert muss kleiner als oder gleich {FORMULA1} sein`,equal:`Wert muss gleich {FORMULA1} sein`,notEqual:`Wert muss ungleich {FORMULA1} sein`,notBetween:`Wert muss nicht zwischen {FORMULA1} und {FORMULA2} liegen`,legal:`Wert muss ein gültiger {TYPE} sein`},date:{operators:{between:`zwischen`,greaterThan:`nach`,greaterThanOrEqual:`am oder nach`,lessThan:`vor`,lessThanOrEqual:`am oder vor`,equal:`gleich`,notEqual:`ungleich`,notBetween:`nicht zwischen`,legal:`ist ein gültiges Datum`},ruleName:{between:`ist zwischen {FORMULA1} und {FORMULA2}`,greaterThan:`ist nach {FORMULA1}`,greaterThanOrEqual:`ist am oder nach {FORMULA1}`,lessThan:`ist vor {FORMULA1}`,lessThanOrEqual:`ist am oder vor {FORMULA1}`,equal:`ist {FORMULA1}`,notEqual:`ist nicht {FORMULA1}`,notBetween:`ist nicht zwischen {FORMULA1}`,legal:`ist ein gültiges Datum`},errorMsg:{between:`Wert muss ein gültiges Datum sein und zwischen {FORMULA1} und {FORMULA2} liegen`,greaterThan:`Wert muss ein gültiges Datum sein und nach {FORMULA1} liegen`,greaterThanOrEqual:`Wert muss ein gültiges Datum sein und am oder nach {FORMULA1} liegen`,lessThan:`Wert muss ein gültiges Datum sein und vor {FORMULA1} liegen`,lessThanOrEqual:`Wert muss ein gültiges Datum sein und am oder vor {FORMULA1} liegen`,equal:`Wert muss ein gültiges Datum sein und {FORMULA1} entsprechen`,notEqual:`Wert muss ein gültiges Datum sein und nicht {FORMULA1} entsprechen`,notBetween:`Wert muss ein gültiges Datum sein und nicht zwischen {FORMULA1} liegen`,legal:`Wert muss ein gültiges Datum sein`},title:`Datum`},textLength:{errorMsg:{between:`Textlänge muss zwischen {FORMULA1} und {FORMULA2} liegen`,greaterThan:`Textlänge muss größer als {FORMULA1} sein`,greaterThanOrEqual:`Textlänge muss größer als oder gleich {FORMULA1} sein`,lessThan:`Textlänge muss kleiner als {FORMULA1} sein`,lessThanOrEqual:`Textlänge muss kleiner als oder gleich {FORMULA1} sein`,equal:`Textlänge muss {FORMULA1} sein`,notEqual:`Textlänge muss ungleich {FORMULA1} sein`,notBetween:`Textlänge muss nicht zwischen {FORMULA1} liegen`},title:`Textlänge`},custom:{ruleName:`Benutzerdefinierte Formel ist {FORMULA1}`,title:`Benutzerdefinierte Formel`,validFail:`Bitte geben Sie eine gültige Formel ein`,error:`Der Inhalt dieser Zelle verstößt gegen die Überprüfungsregel`},validFail:{value:`Bitte geben Sie einen Wert ein`,common:`Bitte geben Sie einen Wert oder eine Formel ein`,number:`Bitte geben Sie eine Zahl oder eine Formel ein`,formula:`Bitte geben Sie eine Formel ein`,integer:`Bitte geben Sie eine ganze Zahl oder eine Formel ein`,date:`Bitte geben Sie ein Datum oder eine Formel ein`,list:`Bitte geben Sie Optionen ein`,listInvalid:`Die Listenquelle muss eine durch Trennzeichen getrennte Liste oder ein Bezug auf eine einzelne Zeile oder Spalte sein`,checkboxEqual:`Geben Sie unterschiedliche Werte für angekreuzte und nicht angekreuzte Zelleninhalte ein.`,formulaError:`Der Bezugsbereich enthält unsichtbare Daten, bitte passen Sie den Bereich an`,listIntersects:`Der ausgewählte Bereich darf sich nicht mit dem Geltungsbereich der Regeln überschneiden`,primitive:`Formeln sind für benutzerdefinierte angekreuzte und nicht angekreuzte Werte nicht zulässig.`},any:{title:`Beliebiger Wert`,error:`Der Inhalt dieser Zelle verstößt gegen die Überprüfungsregel`},list:{title:`Dropdown`,name:`Wert enthält einen aus dem Bereich`,error:`Eingabe muss im angegebenen Bereich liegen`,emptyError:`Bitte geben Sie einen Wert ein`,add:`Hinzufügen`,dropdown:`Auswählen`,options:`Optionen`,customOptions:`Benutzerdefiniert`,refOptions:`Aus einem Bereich`,formulaError:`Die Listenquelle muss eine durch Trennzeichen getrennte Datenliste oder ein Bezug auf eine einzelne Zeile oder Spalte sein.`,edit:`Bearbeiten`},listMultiple:{title:`Dropdown-Mehrfachauswahl`,dropdown:`Mehrfachauswahl`},decimal:{title:`Zahl`},whole:{title:`Ganze Zahl`},checkbox:{title:`Kontrollkästchen`,error:`Der Inhalt dieser Zelle verstößt gegen die Überprüfungsregel`,tips:`Benutzerdefinierte Werte in Zellen verwenden`,checked:`Ausgewählter Wert`,unchecked:`Nicht ausgewählter Wert`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationEnUS=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`between`,greaterThan:`greater than`,greaterThanOrEqual:`greater than or equal`,lessThan:`less than`,lessThanOrEqual:`less than or equal`,equal:`equal`,notEqual:`not equal`,notBetween:`not between`,legal:`is legal type`},ruleName:{between:`Is between {FORMULA1} and {FORMULA2}`,greaterThan:`Is greater than {FORMULA1}`,greaterThanOrEqual:`Is greater than or equal to {FORMULA1}`,lessThan:`Is less than {FORMULA1}`,lessThanOrEqual:`Is less than or equal to {FORMULA1}`,equal:`Is equal to {FORMULA1}`,notEqual:`Is not equal to {FORMULA1}`,notBetween:`Is not between {FORMULA1} and {FORMULA2}`,legal:`Is a legal {TYPE}`},errorMsg:{between:`Value must be between {FORMULA1} and {FORMULA2}`,greaterThan:`Value must be greater than {FORMULA1}`,greaterThanOrEqual:`Value must be greater than or equal to {FORMULA1}`,lessThan:`Value must be less than {FORMULA1}`,lessThanOrEqual:`Value must be less than or equal to {FORMULA1}`,equal:`Value must be equal to {FORMULA1}`,notEqual:`Value must be not equal to {FORMULA1}`,notBetween:`Value must be not between {FORMULA1} and {FORMULA2}`,legal:`Value must be a legal {TYPE}`},date:{operators:{between:`between`,greaterThan:`after`,greaterThanOrEqual:`on or after`,lessThan:`before`,lessThanOrEqual:`on or before`,equal:`equal`,notEqual:`not equal`,notBetween:`not between`,legal:`is a legal date`},ruleName:{between:`is between {FORMULA1} and {FORMULA2}`,greaterThan:`is after {FORMULA1}`,greaterThanOrEqual:`is on or after {FORMULA1}`,lessThan:`is before {FORMULA1}`,lessThanOrEqual:`is on or before {FORMULA1}`,equal:`is {FORMULA1}`,notEqual:`is not {FORMULA1}`,notBetween:`is not between {FORMULA1}`,legal:`is a legal date`},errorMsg:{between:`Value must be a legal date and between {FORMULA1} and {FORMULA2}`,greaterThan:`Value must be a legal date and after {FORMULA1}`,greaterThanOrEqual:`Value must be a legal date and on or after {FORMULA1}`,lessThan:`Value must be a legal date and before {FORMULA1}`,lessThanOrEqual:`Value must be a legal date and on or before {FORMULA1}`,equal:`Value must be a legal date and {FORMULA1}`,notEqual:`Value must be a legal date and not {FORMULA1}`,notBetween:`Value must be a legal date and not between {FORMULA1}`,legal:`Value must be a legal date`},title:`Date`},textLength:{errorMsg:{between:`Text length must be between {FORMULA1} and {FORMULA2}`,greaterThan:`Text length must be after {FORMULA1}`,greaterThanOrEqual:`Text length must be on or after {FORMULA1}`,lessThan:`Text length must be before {FORMULA1}`,lessThanOrEqual:`Text length must be on or before {FORMULA1}`,equal:`Text length must be {FORMULA1}`,notEqual:`Text length must be not {FORMULA1}`,notBetween:`Text length must be not between {FORMULA1}`},title:`Text length`},custom:{ruleName:`Custom formula is {FORMULA1}`,title:`Custom formula`,validFail:`Please input a valid formula`,error:`This cell's contents violate its validation rule`},validFail:{value:`Please input a value`,common:`Please input value or formula`,number:`Please input number or formula`,formula:`Please input formula`,integer:`Please input integer or formula`,date:`Please input date or formula`,list:`Please input options`,listInvalid:`The list source must be a delimited list or a reference to a single row or column`,checkboxEqual:`Enter different values for ticked and unticked cell contents.`,formulaError:`The reference range contains invisible data, please readjust the range`,listIntersects:`The selected range cannot intersect with the scope of the rules`,primitive:`Formulas are not permitted for custom ticked and unticked values.`},any:{title:`Any value`,error:`The content of this cell violates the validation rule`},list:{title:`Dropdown`,name:`Value contains one from range`,error:`Input must fall within specified range`,emptyError:`Please enter a value`,add:`Add`,dropdown:`Select`,options:`Options`,customOptions:`Custom`,refOptions:`From a range`,formulaError:`The list source must be a delimited list of data, or a reference to a single row or column.`,edit:`Edit`},listMultiple:{title:`Dropdown-Multiple`,dropdown:`Multiple select`},decimal:{title:`Number`},whole:{title:`Integer`},checkbox:{title:`Checkbox`,error:`This cell's contents violate its validation rule`,tips:`Use custom values within cells`,checked:`Selected value`,unchecked:`Unselected value`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationEsES=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`entre`,greaterThan:`mayor que`,greaterThanOrEqual:`mayor o igual que`,lessThan:`menor que`,lessThanOrEqual:`menor o igual que`,equal:`igual`,notEqual:`no igual`,notBetween:`no entre`,legal:`es tipo legal`},ruleName:{between:`Está entre {FORMULA1} y {FORMULA2}`,greaterThan:`Es mayor que {FORMULA1}`,greaterThanOrEqual:`Es mayor o igual que {FORMULA1}`,lessThan:`Es menor que {FORMULA1}`,lessThanOrEqual:`Es menor o igual que {FORMULA1}`,equal:`Es igual a {FORMULA1}`,notEqual:`No es igual a {FORMULA1}`,notBetween:`No está entre {FORMULA1} y {FORMULA2}`,legal:`Es un {TYPE} legal`},errorMsg:{between:`El valor debe estar entre {FORMULA1} y {FORMULA2}`,greaterThan:`El valor debe ser mayor que {FORMULA1}`,greaterThanOrEqual:`El valor debe ser mayor o igual que {FORMULA1}`,lessThan:`El valor debe ser menor que {FORMULA1}`,lessThanOrEqual:`El valor debe ser menor o igual que {FORMULA1}`,equal:`El valor debe ser igual a {FORMULA1}`,notEqual:`El valor no debe ser igual a {FORMULA1}`,notBetween:`El valor no debe estar entre {FORMULA1} y {FORMULA2}`,legal:`El valor debe ser un {TYPE} legal`},date:{operators:{between:`entre`,greaterThan:`después de`,greaterThanOrEqual:`en o después de`,lessThan:`antes de`,lessThanOrEqual:`en o antes de`,equal:`igual`,notEqual:`no igual`,notBetween:`no entre`,legal:`es una fecha legal`},ruleName:{between:`está entre {FORMULA1} y {FORMULA2}`,greaterThan:`es después de {FORMULA1}`,greaterThanOrEqual:`es en o después de {FORMULA1}`,lessThan:`es antes de {FORMULA1}`,lessThanOrEqual:`es en o antes de {FORMULA1}`,equal:`es {FORMULA1}`,notEqual:`no es {FORMULA1}`,notBetween:`no está entre {FORMULA1}`,legal:`es una fecha legal`},errorMsg:{between:`El valor debe ser una fecha legal y estar entre {FORMULA1} y {FORMULA2}`,greaterThan:`El valor debe ser una fecha legal y después de {FORMULA1}`,greaterThanOrEqual:`El valor debe ser una fecha legal y en o después de {FORMULA1}`,lessThan:`El valor debe ser una fecha legal y antes de {FORMULA1}`,lessThanOrEqual:`El valor debe ser una fecha legal y en o antes de {FORMULA1}`,equal:`El valor debe ser una fecha legal y {FORMULA1}`,notEqual:`El valor debe ser una fecha legal y no {FORMULA1}`,notBetween:`El valor debe ser una fecha legal y no estar entre {FORMULA1}`,legal:`El valor debe ser una fecha legal`},title:`Fecha`},textLength:{errorMsg:{between:`La longitud del texto debe estar entre {FORMULA1} y {FORMULA2}`,greaterThan:`La longitud del texto debe ser mayor que {FORMULA1}`,greaterThanOrEqual:`La longitud del texto debe ser mayor o igual que {FORMULA1}`,lessThan:`La longitud del texto debe ser menor que {FORMULA1}`,lessThanOrEqual:`La longitud del texto debe ser menor o igual que {FORMULA1}`,equal:`La longitud del texto debe ser {FORMULA1}`,notEqual:`La longitud del texto no debe ser {FORMULA1}`,notBetween:`La longitud del texto no debe estar entre {FORMULA1}`},title:`Longitud del texto`},custom:{ruleName:`La fórmula personalizada es {FORMULA1}`,title:`Fórmula personalizada`,validFail:`Por favor, introduce una fórmula válida`,error:`El contenido de esta celda viola su regla de validación`},validFail:{value:`Por favor, introduce un valor`,common:`Por favor, introduce un valor o fórmula`,number:`Por favor, introduce un número o fórmula`,formula:`Por favor, introduce una fórmula`,integer:`Por favor, introduce un entero o fórmula`,date:`Por favor, introduce una fecha o fórmula`,list:`Por favor, introduce opciones`,listInvalid:`La fuente de la lista debe ser una lista delimitada o una referencia a una sola fila o columna`,checkboxEqual:`Introduce valores diferentes para los contenidos de celda marcados y desmarcados.`,formulaError:`El rango de referencia contiene datos invisibles, ajusta el rango`,listIntersects:`El rango seleccionado no puede cruzarse con el ámbito de las reglas`,primitive:`No se permiten fórmulas para valores personalizados marcados y desmarcados.`},any:{title:`Cualquier valor`,error:`El contenido de esta celda viola la regla de validación`},list:{title:`Desplegable`,name:`El valor contiene uno del rango`,error:`La entrada debe estar dentro del rango especificado`,emptyError:`Por favor, introduce un valor`,add:`Añadir`,dropdown:`Seleccionar`,options:`Opciones`,customOptions:`Personalizado`,refOptions:`De un rango`,formulaError:`La fuente de la lista debe ser una lista delimitada de datos o una referencia a una sola fila o columna.`,edit:`Editar`},listMultiple:{title:`Desplegable-múltiple`,dropdown:`Selección múltiple`},decimal:{title:`Número`},whole:{title:`Entero`},checkbox:{title:`Casilla de verificación`,error:`El contenido de esta celda viola su regla de validación`,tips:`Usa valores personalizados dentro de las celdas`,checked:`Valor seleccionado`,unchecked:`Valor no seleccionado`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationFaIR=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`بین`,greaterThan:`بزرگتر از`,greaterThanOrEqual:`بزرگتر از یا برابر با`,lessThan:`کوچکتر از`,lessThanOrEqual:`کوچکتر از یا برابر با`,equal:`برابر با`,notEqual:`نابرابر با`,notBetween:`بین نیست`,legal:`نوع قانونی است`},ruleName:{between:`بین {FORMULA1} و {FORMULA2} است`,greaterThan:`بزرگتر از {FORMULA1} است`,greaterThanOrEqual:`بزرگتر از یا برابر با {FORMULA1} است`,lessThan:`کوچکتر از {FORMULA1} است`,lessThanOrEqual:`کوچکتر از یا برابر با {FORMULA1} است`,equal:`برابر است با {FORMULA1}`,notEqual:`برابر نیست با {FORMULA1}`,notBetween:`بین {FORMULA1} و {FORMULA2} نیست`,legal:`یک {TYPE} قانونی است`},errorMsg:{between:`مقدار باید بین {FORMULA1} و {FORMULA2} باشد`,greaterThan:`مقدار باید بزرگتر از {FORMULA1} باشد`,greaterThanOrEqual:`مقدار باید بزرگتر از یا برابر با {FORMULA1} باشد`,lessThan:`مقدار باید کوچکتر از {FORMULA1} باشد`,lessThanOrEqual:`مقدار باید کوچکتر از یا برابر با {FORMULA1} باشد`,equal:`مقدار باید برابر با {FORMULA1} باشد`,notEqual:`مقدار باید برابر نیست با {FORMULA1}`,notBetween:`مقدار باید بین {FORMULA1} و {FORMULA2} نباشد`,legal:`مقدار باید یک {TYPE} قانونی باشد`},date:{operators:{between:`بین`,greaterThan:`بعد از`,greaterThanOrEqual:`روی یا بعد از`,lessThan:`قبل از`,lessThanOrEqual:`روی یا قبل از`,equal:`برابر است با`,notEqual:`برابر نیست با`,notBetween:`بین ... و ... نیست`,legal:`یک تاریخ قانونی است`},ruleName:{between:`بین {FORMULA1} و {FORMULA2} است`,greaterThan:`بعد از {FORMULA1} است`,greaterThanOrEqual:`روی یا بعد از {FORMULA1} است`,lessThan:`قبل از {FORMULA1} است`,lessThanOrEqual:`روی یا قبل از {FORMULA1} است`,equal:`برابر است با {FORMULA1}`,notEqual:`برابر نیست با {FORMULA1}`,notBetween:`بین {FORMULA1} و {FORMULA2} نیست`,legal:`یک تاریخ قانونی است`},errorMsg:{between:`مقدار باید یک تاریخ معتبر و بین {FORMULA1} و {FORMULA2} باشد`,greaterThan:`مقدار باید یک تاریخ معتبر و بعد از {FORMULA1} باشد`,greaterThanOrEqual:`مقدار باید یک تاریخ معتبر و روی یا بعد از {FORMULA1} باشد`,lessThan:`مقدار باید یک تاریخ معتبر و قبل از {FORMULA1} باشد`,lessThanOrEqual:`مقدار باید یک تاریخ معتبر و روی یا قبل از {FORMULA1} باشد`,equal:`مقدار باید یک تاریخ معتبر و {FORMULA1} باشد`,notEqual:`مقدار باید یک تاریخ معتبر و نه {FORMULA1} باشد`,notBetween:`مقدار باید یک تاریخ معتبر و بین {FORMULA1} و {FORMULA2} نباشد`,legal:`مقدار باید یک تاریخ قانونی باشد`},title:`تاریخ`},textLength:{errorMsg:{between:`طول متن باید بین {FORMULA1} و {FORMULA2} باشد`,greaterThan:`طول متن باید بعد از {FORMULA1} باشد`,greaterThanOrEqual:`طول متن باید روی یا بعد از {FORMULA1} باشد`,lessThan:`طول متن باید قبل از {FORMULA1} باشد`,lessThanOrEqual:`طول متن باید روی یا قبل از {FORMULA1} باشد`,equal:`طول متن باید {FORMULA1} باشد`,notEqual:`طول متن باید {FORMULA1} نباشد`,notBetween:`طول متن باید بین {FORMULA1} و {FORMULA2} نباشد`},title:`طول متن`},custom:{ruleName:`فرمول سفارشی {FORMULA1}`,title:`فرمول سفارشی `,validFail:`لطفا یک فرمول معتبر وارد کنید`,error:`محتوای این سلول با قانون اعتبارسنجی آن نقض میشود`},validFail:{value:`لطفا یک مقدار وارد کنید`,common:`لطفا مقدار یا فرمول را وارد کنید`,number:`لطفا عدد یا فرمول را وارد کنید`,formula:`لطفا فرمول را وارد کنید`,integer:`لطفا عدد صحیح یا فرمول را وارد کنید`,date:`لطفا تاریخ یا فرمول را وارد کنید`,list:`لطفا گزینهها را وارد کنید`,listInvalid:`منبع لیست باید یک لیست جدا شده یا یک مرجع به یک سطر یا ستون منفرد باشد`,checkboxEqual:`برای محتوای سلولهای علامتدار و علامتگذاری نشده، مقادیر متفاوتی وارد کنید.`,formulaError:`محدوده مرجع حاوی دادههای نامرئی است، لطفا محدوده را دوباره تنظیم کنید`,listIntersects:`محدوده انتخاب شده نمیتواند با دامنه قوانین تداخل داشته باشد`,primitive:`فرمولها برای مقادیر سفارشی علامتدار و علامتگذاری نشده مجاز نیستند.`},any:{title:`هر مقدار`,error:`محتوای این سلول نقض قانون اعتبارسنجی است`},list:{title:`لیست کشویی`,name:`مقدار شامل یکی از محدوده است`,error:`ورود باید در محدوده مشخص شده قرار گیرد`,emptyError:`لطفا یک مقدار وارد کنید`,add:`افزودن`,dropdown:`انتخاب`,options:`گزینهها`,customOptions:`سفارشی`,refOptions:`از یک محدوده`,formulaError:`منبع لیست باید یک لیست جدا شده از دادهها یا یک مرجع به یک سطر یا ستون منفرد باشد.`,edit:`ویرایش`},listMultiple:{title:`لیست کشویی چندگانه`,dropdown:`انتخاب چندگانه`},decimal:{title:`عدد`},whole:{title:`عدد صحیح`},checkbox:{title:`کادر انتخاب`,error:`محتوای این سلول با قانون اعتبارسنجی آن نقض میشود`,tips:`از مقادیر سفارشی در سلولها استفاده کنید`,checked:`مقدار انتخاب شده`,unchecked:`مقدار انتخاب نشده`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationFrFR=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`entre`,greaterThan:`supérieur à`,greaterThanOrEqual:`supérieur ou égal à`,lessThan:`inférieur à`,lessThanOrEqual:`inférieur ou égal à`,equal:`égal à`,notEqual:`différent de`,notBetween:`pas entre`,legal:`est de type légal`},ruleName:{between:`est entre {FORMULA1} et {FORMULA2}`,greaterThan:`est supérieur à {FORMULA1}`,greaterThanOrEqual:`est supérieur ou égal à {FORMULA1}`,lessThan:`est inférieur à {FORMULA1}`,lessThanOrEqual:`est inférieur ou égal à {FORMULA1}`,equal:`est égal à {FORMULA1}`,notEqual:`est différent de {FORMULA1}`,notBetween:`n'est pas entre {FORMULA1} et {FORMULA2}`,legal:`est un {TYPE} légal`},errorMsg:{between:`La valeur doit être entre {FORMULA1} et {FORMULA2}`,greaterThan:`La valeur doit être supérieure à {FORMULA1}`,greaterThanOrEqual:`La valeur doit être supérieure ou égale à {FORMULA1}`,lessThan:`La valeur doit être inférieure à {FORMULA1}`,lessThanOrEqual:`La valeur doit être inférieure ou égale à {FORMULA1}`,equal:`La valeur doit être égale à {FORMULA1}`,notEqual:`La valeur doit être différente de {FORMULA1}`,notBetween:`La valeur ne doit pas être entre {FORMULA1} et {FORMULA2}`,legal:`La valeur doit être un {TYPE} légal`},date:{operators:{between:`entre`,greaterThan:`après`,greaterThanOrEqual:`le ou après`,lessThan:`avant`,lessThanOrEqual:`le ou avant`,equal:`égal à`,notEqual:`différent de`,notBetween:`pas entre`,legal:`est une date légale`},ruleName:{between:`est entre {FORMULA1} et {FORMULA2}`,greaterThan:`est après {FORMULA1}`,greaterThanOrEqual:`est le ou après {FORMULA1}`,lessThan:`est avant {FORMULA1}`,lessThanOrEqual:`est le ou avant {FORMULA1}`,equal:`est {FORMULA1}`,notEqual:`n'est pas {FORMULA1}`,notBetween:`n'est pas entre {FORMULA1}`,legal:`est une date légale`},errorMsg:{between:`La valeur doit être une date légale et entre {FORMULA1} et {FORMULA2}`,greaterThan:`La valeur doit être une date légale et après {FORMULA1}`,greaterThanOrEqual:`La valeur doit être une date légale et le ou après {FORMULA1}`,lessThan:`La valeur doit être une date légale et avant {FORMULA1}`,lessThanOrEqual:`La valeur doit être une date légale et le ou avant {FORMULA1}`,equal:`La valeur doit être une date légale et {FORMULA1}`,notEqual:`La valeur doit être une date légale et non {FORMULA1}`,notBetween:`La valeur doit être une date légale et non entre {FORMULA1}`,legal:`La valeur doit être une date légale`},title:`Date`},textLength:{errorMsg:{between:`La longueur du texte doit être entre {FORMULA1} et {FORMULA2}`,greaterThan:`La longueur du texte doit être supérieure à {FORMULA1}`,greaterThanOrEqual:`La longueur du texte doit être supérieure ou égale à {FORMULA1}`,lessThan:`La longueur du texte doit être inférieure à {FORMULA1}`,lessThanOrEqual:`La longueur du texte doit être inférieure ou égale à {FORMULA1}`,equal:`La longueur du texte doit être {FORMULA1}`,notEqual:`La longueur du texte doit être différente de {FORMULA1}`,notBetween:`La longueur du texte ne doit pas être entre {FORMULA1} et {FORMULA2}`},title:`Longueur du texte`},custom:{ruleName:`La formule personnalisée est {FORMULA1}`,title:`Formule personnalisée`,validFail:`Veuillez entrer une formule valide`,error:`Le contenu de cette cellule viole sa règle de validation`},validFail:{value:`Veuillez entrer une valeur`,common:`Veuillez entrer une valeur ou une formule`,number:`Veuillez entrer un nombre ou une formule`,formula:`Veuillez entrer une formule`,integer:`Veuillez entrer un entier ou une formule`,date:`Veuillez entrer une date ou une formule`,list:`Veuillez entrer des options`,listInvalid:`La source de la liste doit être une liste délimitée ou une référence à une seule ligne ou colonne`,checkboxEqual:`Entrez des valeurs différentes pour les contenus des cellules cochées et décochées.`,formulaError:`La plage de référence contient des données invisibles, veuillez réajuster la plage`,listIntersects:`La plage sélectionnée ne peut pas croiser le champ des règles`,primitive:`Les formules ne sont pas autorisées pour les valeurs personnalisées cochées et décochées.`},any:{title:`N'importe quelle valeur`,error:`Le contenu de cette cellule viole la règle de validation`},list:{title:`Liste déroulante`,name:`La valeur contient une de la plage`,error:`L'entrée doit être dans la plage spécifiée`,emptyError:`Veuillez entrer une valeur`,add:`Ajouter`,dropdown:`Sélectionner`,options:`Options`,customOptions:`Personnalisé`,refOptions:`D'une plage`,formulaError:`La source de la liste doit être une liste délimitée de données, ou une référence à une seule ligne ou colonne.`,edit:`Éditer`},listMultiple:{title:`Liste déroulante-Multiple`,dropdown:`Sélection multiple`},decimal:{title:`Nombre`},whole:{title:`Entier`},checkbox:{title:`Case à cocher`,error:`Le contenu de cette cellule viole sa règle de validation`,tips:`Utiliser des valeurs personnalisées dans les cellules`,checked:`Valeur sélectionnée`,unchecked:`Valeur non sélectionnée`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationIdID=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`antara`,greaterThan:`lebih besar dari`,greaterThanOrEqual:`lebih besar dari atau sama dengan`,lessThan:`kurang dari`,lessThanOrEqual:`kurang dari atau sama dengan`,equal:`sama dengan`,notEqual:`tidak sama dengan`,notBetween:`tidak antara`,legal:`tipe yang sah`},ruleName:{between:`Di antara {FORMULA1} dan {FORMULA2}`,greaterThan:`Lebih besar dari {FORMULA1}`,greaterThanOrEqual:`Lebih besar dari atau sama dengan {FORMULA1}`,lessThan:`Kurang dari {FORMULA1}`,lessThanOrEqual:`Kurang dari atau sama dengan {FORMULA1}`,equal:`Sama dengan {FORMULA1}`,notEqual:`Tidak sama dengan {FORMULA1}`,notBetween:`Tidak di antara {FORMULA1} dan {FORMULA2}`,legal:`Tipe {TYPE} yang sah`},errorMsg:{between:`Nilai harus di antara {FORMULA1} dan {FORMULA2}`,greaterThan:`Nilai harus lebih besar dari {FORMULA1}`,greaterThanOrEqual:`Nilai harus lebih besar dari atau sama dengan {FORMULA1}`,lessThan:`Nilai harus kurang dari {FORMULA1}`,lessThanOrEqual:`Nilai harus kurang dari atau sama dengan {FORMULA1}`,equal:`Nilai harus sama dengan {FORMULA1}`,notEqual:`Nilai harus tidak sama dengan {FORMULA1}`,notBetween:`Nilai harus tidak di antara {FORMULA1} dan {FORMULA2}`,legal:`Nilai harus tipe {TYPE} yang sah`},date:{operators:{between:`antara`,greaterThan:`setelah`,greaterThanOrEqual:`pada atau setelah`,lessThan:`sebelum`,lessThanOrEqual:`pada atau sebelum`,equal:`sama dengan`,notEqual:`tidak sama dengan`,notBetween:`tidak antara`,legal:`tanggal yang sah`},ruleName:{between:`antara {FORMULA1} dan {FORMULA2}`,greaterThan:`setelah {FORMULA1}`,greaterThanOrEqual:`pada atau setelah {FORMULA1}`,lessThan:`sebelum {FORMULA1}`,lessThanOrEqual:`pada atau sebelum {FORMULA1}`,equal:`adalah {FORMULA1}`,notEqual:`bukan {FORMULA1}`,notBetween:`tidak antara {FORMULA1}`,legal:`tanggal yang sah`},errorMsg:{between:`Nilai harus tanggal yang sah dan di antara {FORMULA1} dan {FORMULA2}`,greaterThan:`Nilai harus tanggal yang sah dan setelah {FORMULA1}`,greaterThanOrEqual:`Nilai harus tanggal yang sah dan pada atau setelah {FORMULA1}`,lessThan:`Nilai harus tanggal yang sah dan sebelum {FORMULA1}`,lessThanOrEqual:`Nilai harus tanggal yang sah dan pada atau sebelum {FORMULA1}`,equal:`Nilai harus tanggal yang sah dan {FORMULA1}`,notEqual:`Nilai harus tanggal yang sah dan bukan {FORMULA1}`,notBetween:`Nilai harus tanggal yang sah dan tidak antara {FORMULA1}`,legal:`Nilai harus tanggal yang sah`},title:`Tanggal`},textLength:{errorMsg:{between:`Panjang teks harus di antara {FORMULA1} dan {FORMULA2}`,greaterThan:`Panjang teks harus lebih besar dari {FORMULA1}`,greaterThanOrEqual:`Panjang teks harus lebih besar dari atau sama dengan {FORMULA1}`,lessThan:`Panjang teks harus kurang dari {FORMULA1}`,lessThanOrEqual:`Panjang teks harus kurang dari atau sama dengan {FORMULA1}`,equal:`Panjang teks harus {FORMULA1}`,notEqual:`Panjang teks harus tidak sama dengan {FORMULA1}`,notBetween:`Panjang teks harus tidak di antara {FORMULA1}`},title:`Panjang teks`},custom:{ruleName:`Rumus kustom adalah {FORMULA1}`,title:`Rumus kustom`,validFail:`Harap masukkan rumus yang valid`,error:`Konten sel ini melanggar aturan validasinya`},validFail:{value:`Harap masukkan nilai`,common:`Harap masukkan nilai atau rumus`,number:`Harap masukkan angka atau rumus`,formula:`Harap masukkan rumus`,integer:`Harap masukkan bilangan bulat atau rumus`,date:`Harap masukkan tanggal atau rumus`,list:`Harap masukkan opsi`,listInvalid:`Sumber daftar harus berupa daftar yang dipisahkan atau referensi ke satu baris atau kolom`,checkboxEqual:`Masukkan nilai yang berbeda untuk konten sel yang dicentang dan tidak dicentang`,formulaError:`Rentang referensi berisi data yang tidak terlihat, harap sesuaikan rentangnya`,listIntersects:`Rentang yang dipilih tidak boleh berpotongan dengan cakupan aturan`,primitive:`Rumus tidak diizinkan untuk nilai kustom yang dicentang dan tidak dicentang`},any:{title:`Nilai apa saja`,error:`Konten sel ini melanggar aturan validasi`},list:{title:`Dropdown`,name:`Nilai mengandung satu dari rentang`,error:`Input harus berada dalam rentang yang ditentukan`,emptyError:`Harap masukkan nilai`,add:`Tambah`,dropdown:`Pilih`,options:`Opsi`,customOptions:`Kustom`,refOptions:`Dari rentang`,formulaError:`Sumber daftar harus berupa daftar data yang dipisahkan, atau referensi ke satu baris atau kolom`,edit:`Edit`},listMultiple:{title:`Dropdown-Multiple`,dropdown:`Pilih banyak`},decimal:{title:`Angka`},whole:{title:`Bilangan bulat`},checkbox:{title:`Kotak centang`,error:`Konten sel ini melanggar aturan validasinya`,tips:`Gunakan nilai kustom dalam sel`,checked:`Nilai terpilih`,unchecked:`Nilai tidak terpilih`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationItIT=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`tra`,greaterThan:`maggiore di`,greaterThanOrEqual:`maggiore o uguale a`,lessThan:`minore di`,lessThanOrEqual:`minore o uguale a`,equal:`uguale a`,notEqual:`diverso da`,notBetween:`non tra`,legal:`è un tipo valido`},ruleName:{between:`È tra {FORMULA1} e {FORMULA2}`,greaterThan:`È maggiore di {FORMULA1}`,greaterThanOrEqual:`È maggiore o uguale a {FORMULA1}`,lessThan:`È minore di {FORMULA1}`,lessThanOrEqual:`È minore o uguale a {FORMULA1}`,equal:`È uguale a {FORMULA1}`,notEqual:`È diverso da {FORMULA1}`,notBetween:`Non è tra {FORMULA1} e {FORMULA2}`,legal:`È un {TYPE} valido`},errorMsg:{between:`Il valore deve essere tra {FORMULA1} e {FORMULA2}`,greaterThan:`Il valore deve essere maggiore di {FORMULA1}`,greaterThanOrEqual:`Il valore deve essere maggiore o uguale a {FORMULA1}`,lessThan:`Il valore deve essere minore di {FORMULA1}`,lessThanOrEqual:`Il valore deve essere minore o uguale a {FORMULA1}`,equal:`Il valore deve essere uguale a {FORMULA1}`,notEqual:`Il valore deve essere diverso da {FORMULA1}`,notBetween:`Il valore non deve essere tra {FORMULA1} e {FORMULA2}`,legal:`Il valore deve essere un {TYPE} valido`},date:{operators:{between:`tra`,greaterThan:`dopo`,greaterThanOrEqual:`il giorno o dopo`,lessThan:`prima`,lessThanOrEqual:`il giorno o prima`,equal:`uguale`,notEqual:`diverso`,notBetween:`non tra`,legal:`è una data valida`},ruleName:{between:`è tra {FORMULA1} e {FORMULA2}`,greaterThan:`è dopo {FORMULA1}`,greaterThanOrEqual:`è il giorno o dopo {FORMULA1}`,lessThan:`è prima di {FORMULA1}`,lessThanOrEqual:`è il giorno o prima di {FORMULA1}`,equal:`è {FORMULA1}`,notEqual:`non è {FORMULA1}`,notBetween:`non è tra {FORMULA1}`,legal:`è una data valida`},errorMsg:{between:`Il valore deve essere una data valida e tra {FORMULA1} e {FORMULA2}`,greaterThan:`Il valore deve essere una data valida e dopo {FORMULA1}`,greaterThanOrEqual:`Il valore deve essere una data valida e il giorno o dopo {FORMULA1}`,lessThan:`Il valore deve essere una data valida e prima di {FORMULA1}`,lessThanOrEqual:`Il valore deve essere una data valida e il giorno o prima di {FORMULA1}`,equal:`Il valore deve essere una data valida e {FORMULA1}`,notEqual:`Il valore deve essere una data valida e non {FORMULA1}`,notBetween:`Il valore deve essere una data valida e non tra {FORMULA1}`,legal:`Il valore deve essere una data valida`},title:`Data`},textLength:{errorMsg:{between:`La lunghezza del testo deve essere tra {FORMULA1} e {FORMULA2}`,greaterThan:`La lunghezza del testo deve essere maggiore di {FORMULA1}`,greaterThanOrEqual:`La lunghezza del testo deve essere maggiore o uguale a {FORMULA1}`,lessThan:`La lunghezza del testo deve essere minore di {FORMULA1}`,lessThanOrEqual:`La lunghezza del testo deve essere minore o uguale a {FORMULA1}`,equal:`La lunghezza del testo deve essere {FORMULA1}`,notEqual:`La lunghezza del testo deve essere diversa da {FORMULA1}`,notBetween:`La lunghezza del testo non deve essere tra {FORMULA1}`},title:`Lunghezza testo`},custom:{ruleName:`La formula personalizzata è {FORMULA1}`,title:`Formula personalizzata`,validFail:`Inserire una formula valida`,error:`Il contenuto di questa cella viola la regola di convalida`},validFail:{value:`Inserire un valore`,common:`Inserire valore o formula`,number:`Inserire numero o formula`,formula:`Inserire formula`,integer:`Inserire numero intero o formula`,date:`Inserire data o formula`,list:`Inserire opzioni`,listInvalid:`L'origine dell'elenco deve essere un elenco delimitato o un riferimento a una singola riga o colonna`,checkboxEqual:`Inserire valori diversi per i contenuti delle celle selezionate e non selezionate.`,formulaError:`L'intervallo di riferimento contiene dati invisibili, riaggiustare l'intervallo`,listIntersects:`L'intervallo selezionato non può intersecarsi con l'ambito delle regole`,primitive:`Le formule non sono consentite per i valori personalizzati di selezionato e non selezionato.`},any:{title:`Qualsiasi valore`,error:`Il contenuto di questa cella viola la regola di convalida`},list:{title:`Menu a discesa`,name:`Il valore contiene uno dall'intervallo`,error:`L'input deve rientrare nell'intervallo specificato`,emptyError:`Inserire un valore`,add:`Aggiungi`,dropdown:`Seleziona`,options:`Opzioni`,customOptions:`Personalizzato`,refOptions:`Da un intervallo`,formulaError:`L'origine dell'elenco deve essere un elenco delimitato di dati o un riferimento a una singola riga o colonna.`,edit:`Modifica`},listMultiple:{title:`Menu a discesa - Multiplo`,dropdown:`Selezione multipla`},decimal:{title:`Numero`},whole:{title:`Numero intero`},checkbox:{title:`Casella di controllo`,error:`Il contenuto di questa cella viola la regola di convalida`,tips:`Usa valori personalizzati nelle celle`,checked:`Valore selezionato`,unchecked:`Valore non selezionato`}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverSheetsDataValidationJaJP=t())})(this,function(){return{"sheets-data-validation":{operators:{between:`次の値の間`,greaterThan:`次の値より大きい`,greaterThanOrEqual:`次の値以上`,lessThan:`次の値より小さい`,lessThanOrEqual:`次の値以下`,equal:`次の値に等しい`,notEqual:`次の値に等しくない`,notBetween:`次の値の間以外`,legal:`有効な形式`},ruleName:{between:`{FORMULA1} と {FORMULA2} の間`,greaterThan:`{FORMULA1} より大きい`,greaterThanOrEqual:`{FORMULA1} 以上`,lessThan:`{FORMULA1} より小さい`,lessThanOrEqual:`{FORMULA1} 以下`,equal:`{FORMULA1} に等しい`,notEqual:`{FORMULA1} に等しくない`,notBetween:`{FORMULA1} と {FORMULA2} の間以外`,legal:`有効な {TYPE} 形式`},errorMsg:{between:`値は {FORMULA1} と {FORMULA2} の間である必要があります`,greaterThan:`値は {FORMULA1} より大きい必要があります`,greaterThanOrEqual:`値は {FORMULA1} 以上である必要があります`,lessThan:`値は {FORMULA1} より小さい必要があります`,lessThanOrEqual:`値は {FORMULA1} 以下である必要があります`,equal:`値は {FORMULA1} に等しい必要があります`,notEqual:`値は {FORMULA1} に等しくない必要があります`,notBetween:`値は {FORMULA1} と {FORMULA2} の間以外である必要があります`,legal:`値は有効な {TYPE} 形式である必要があります`},date:{operators:{between:`次の値の間`,greaterThan:`次の値より大きい`,greaterThanOrEqual:`次の値以上`,lessThan:`次の値より小さい`,lessThanOrEqual:`次の値以下`,equal:`次の値に等しい`,notEqual:`次の値に等しくない`,notBetween:`次の値の間以外`,legal:`有効な日付`},ruleName:{between:`{FORMULA1} と {FORMULA2} の間`,greaterThan:`{FORMULA1} より後`,greaterThanOrEqual:`{FORMULA1} 以降`,lessThan:`{FORMULA1} より前`,lessThanOrEqual:`{FORMULA1} 以前`,equal:`{FORMULA1} に等しい`,notEqual:`{FORMULA1} に等しくない`,notBetween:`{FORMULA1} と {FORMULA2} の間以外`,legal:`有効な日付`},errorMsg:{between:`値は有効な日付で、{FORMULA1} と {FORMULA2} の間である必要があります`,greaterThan:`値は有効な日付で、{FORMULA1} より後である必要があります`,greaterThanOrEqual:`値は有効な日付で、{FORMULA1} 以降である必要があります`,lessThan:`値は有効な日付で、{FORMULA1} より前である必要があります`,lessThanOrEqual:`値は有効な日付で、{FORMULA1} 以前である必要があります`,equal:`値は有効な日付で、{FORMULA1} に等しい必要があります`,notEqual:`値は有効な日付で、{FORMULA1} に等しくない必要があります`,notBetween:`値は有効な日付で、{FORMULA1} と {FORMULA2} の間以外である必要があります`,legal:`値は有効な日付である必要があります`},title:`日付`},textLength:{errorMsg:{between:`文字列の長さは {FORMULA1} と {FORMULA2} の間である必要があります`,greaterThan:`文字列の長さは {FORMULA1} より長い必要があります`,greaterThanOrEqual:`文字列の長さは {FORMULA1} 以上である必要があります`,lessThan:`文字列の長さは {FORMULA1} より短い必要があります`,lessThanOrEqual:`文字列の長さは {FORMULA1} 以下である必要があります`,equal:`文字列の長さは {FORMULA1} に等しい必要があります`,notEqual:`文字列の長さは {FORMULA1} に等しくない必要があります`,notBetween:`文字列の長さは {FORMULA1} と {FORMULA2} の間以外である必要があります`},title:`文字列の長さ`},custom:{ruleName:`ユーザー設定数式: {FORMULA1}`,title:`ユーザー設定`,validFail:`有効な数式を入力してください`,error:`このセルの内容は入力規則に違反しています`},validFail:{value:`値を入力してください`,common:`値または数式を入力してください`,number:`数値または数式を入力してください`,formula:`数式を入力してください`,integer:`整数または数式を入力してください`,date:`日付または数式を入力してください`,list:`リストのオプションを入力してください`,listInvalid:`リスト元の値は、区切りリスト、または単一の行または列の参照である必要があります`,checkboxEqual:`チェックされた値とチェックされていない値には異なる値を入力してください`,formulaError:`参照範囲に見えないデータが含まれています。範囲を再設定してください`,listIntersects:`選択した範囲はルール範囲と重なることはできません`,primitive:`カスタムの選択/未選択値には数式を使用できません`},any:{title:`すべての値`,error:`このセルの内容は入力規則に違反しています`},list:{title:`リスト`,name:`リスト範囲内の値`,error:`入力値は指定された範囲内にある必要があります`,emptyError:`値を入力してください`,add:`追加`,dropdown:`ドロップダウンリストから選択する`,options:`オプション`,customOptions:`カスタム`,refOptions:`範囲を参照`,formulaError:`リスト元の値は、区切りリスト、または単一の行または列の参照である必要があります`,edit:`編集`},listMultiple:{title:`複数選択リスト`,dropdown:`複数項目を選択`},decimal:{title:`小数点数`},whole:{title:`整数`},checkbox:{title:`チェックボックス`,error:`このセルの内容は入力規則に違反しています`,tips:`セル内のカスタム値を使用してください`,checked:`チェックされた値`,unchecked:`チェックされていない値`}}}});
|