@univerjs/sheets-data-validation 0.5.4-nightly.202501151606 → 0.5.4-nightly.202501160704
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 +1 -1
- package/lib/es/facade.js +434 -170
- package/lib/types/facade/f-data-validation-builder.d.ts +236 -103
- package/lib/types/facade/f-data-validation.d.ts +155 -30
- package/lib/types/facade/f-range.d.ts +34 -7
- package/lib/types/facade/f-univer.d.ts +10 -1
- package/lib/types/facade/f-workbook.d.ts +8 -24
- package/lib/types/facade/f-worksheet.d.ts +9 -4
- package/lib/umd/facade.js +1 -1
- package/package.json +6 -6
package/lib/cjs/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var k=Object.defineProperty;var w=(c,e,t)=>e in c?k(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var _=(c,e,t)=>w(c,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@univerjs/sheets-data-validation"),g=require("@univerjs/sheets/facade"),a=require("@univerjs/core"),S=require("@univerjs/data-validation"),b=require("@univerjs/engine-formula"),E=require("rxjs");class m{constructor(e){_(this,"_rule");this._rule=e!=null?e:{uid:a.generateRandomId(),ranges:void 0,type:a.DataValidationType.CUSTOM}}build(){return new p(this._rule)}copy(){return new m({...this._rule,uid:a.generateRandomId()})}getAllowInvalid(){return this._rule.errorStyle!==a.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,t){return this._rule.type=a.DataValidationType.CHECKBOX,this._rule.formula1=e,this._rule.formula2=t,this}requireDateAfter(e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.operator=a.DataValidationOperator.GREATER_THAN,this}requireDateBefore(e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN,this}requireDateBetween(e,t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=t.toLocaleDateString(),this._rule.operator=a.DataValidationOperator.BETWEEN,this}requireDateEqualTo(e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.EQUAL,this}requireDateNotBetween(e,t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=t.toLocaleDateString(),this._rule.operator=a.DataValidationOperator.NOT_BETWEEN,this}requireDateOnOrAfter(e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.GREATER_THAN_OR_EQUAL,this}requireDateOnOrBefore(e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN_OR_EQUAL,this}requireFormulaSatisfied(e){return this._rule.type=a.DataValidationType.CUSTOM,this._rule.formula1=e,this._rule.formula2=void 0,this}requireNumberBetween(e,t,i){return this._rule.formula1=`${e}`,this._rule.formula2=`${t}`,this._rule.operator=a.DataValidationOperator.BETWEEN,this._rule.type=i?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.EQUAL,this._rule.type=t?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberGreaterThan(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.GREATER_THAN,this._rule.type=t?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberGreaterThanOrEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.GREATER_THAN_OR_EQUAL,this._rule.type=t?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberLessThan(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN,this._rule.type=t?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberLessThanOrEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN_OR_EQUAL,this._rule.type=t?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberNotBetween(e,t,i){return this._rule.formula1=`${e}`,this._rule.formula2=`${t}`,this._rule.operator=a.DataValidationOperator.NOT_BETWEEN,this._rule.type=i?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberNotEqualTo(e,t){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.NOT_EQUAL,this._rule.type=t?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireValueInList(e,t,i){return this._rule.type=t?a.DataValidationType.LIST_MULTIPLE:a.DataValidationType.LIST,this._rule.formula1=e.join(","),this._rule.formula2=void 0,this._rule.showDropDown=i!=null?i:!0,this}requireValueInRange(e,t,i){return this._rule.type=t?a.DataValidationType.LIST_MULTIPLE:a.DataValidationType.LIST,this._rule.formula1=`=${b.serializeRangeToRefString({unitId:e.getUnitId(),sheetName:e.getSheetName(),range:e.getRange()})}`,this._rule.formula2=void 0,this._rule.showDropDown=i!=null?i:!0,this}setAllowInvalid(e){return this._rule.errorStyle=e?a.DataValidationErrorStyle.WARNING:a.DataValidationErrorStyle.STOP,this}setHelpText(e){return this._rule.error=e,this._rule.showErrorMessage=!0,this}withCriteriaValues(e,t){return this._rule.type=e,this._rule.operator=t[0],this._rule.formula1=t[1],this._rule.formula2=t[2],this}setAllowBlank(e){return this._rule.allowBlank=e,this}setOptions(e){return Object.assign(this._rule,e),this}}class p{constructor(e,t,i){_(this,"rule");_(this,"_worksheet");_(this,"_injector");this._injector=i,this.rule=e,this._worksheet=t}getAllowInvalid(){return this.rule.errorStyle!==a.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 m(this.rule)}getApplied(){if(!this._worksheet)return!1;const t=this._injector.get(S.DataValidationModel).getRuleById(this._worksheet.getUnitId(),this._worksheet.getSheetId(),this.rule.uid);return!!(t&&t.ranges.length)}getRanges(){if(!this.getApplied())return[];const e=this._injector.get(a.IUniverInstanceService).getUnit(this._worksheet.getUnitId());return this.rule.ranges.map(t=>this._injector.createInstance(g.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,t,i=!0){if(this.getApplied()&&!this._injector.get(a.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationSettingCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,setting:{operator:t[0],formula1:t[1],formula2:t[2],type:this.rule.type,allowBlank:i}}))throw new Error("setCriteria failed");return this.rule.operator=t[0],this.rule.formula1=t[1],this.rule.formula2=t[2],this.rule.type=e,this.rule.allowBlank=i,this}setOptions(e){if(this.getApplied()&&!this._injector.get(a.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationOptionsCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,options:{...S.getRuleOptions(this.rule),...e}}))throw new Error("setOptions failed");return Object.assign(this.rule,e),this}setRanges(e){if(this.getApplied()&&!this._injector.get(a.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationRangeCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,ranges:e.map(o=>o.getRange())}))throw new Error("setRanges failed");return this.rule.ranges=e.map(t=>t.getRange()),this}delete(){return this.getApplied()?this._injector.get(a.ICommandService).syncExecuteCommand(n.RemoveSheetDataValidationCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid}):!1}}class T extends g.FRange{setDataValidation(e){if(!e)return this._commandService.syncExecuteCommand(n.ClearRangeDataValidationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this;const 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(){const t=this._injector.get(n.SheetsDataValidationValidatorService).getDataValidation(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]);return t&&new p(t,this._worksheet,this._injector)}getDataValidations(){return this._injector.get(n.SheetsDataValidationValidatorService).getDataValidations(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]).map(t=>new p(t,this._worksheet,this._injector))}async getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorRanges(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range])}}g.FRange.extend(T);class y extends a.FUniver{static newDataValidation(){return new m}newDataValidation(){return new m}_initialize(e){if(!e.has(n.SheetDataValidationModel))return;const t=e.get(n.SheetDataValidationModel),i=e.get(a.ICommandService);this.disposeWithMe(t.ruleChange$.subscribe(o=>{const{unitId:r,subUnitId:s,rule:h,oldRule:d,type:l}=o,u=this.getSheetTarget(r,s);if(!u)return;const{workbook:D,worksheet:f}=u,V=new p(h,f.getSheet(),this._injector);this.fireEvent(this.Event.SheetDataValidationChanged,{origin:o,worksheet:f,workbook:D,changeType:l,oldRule:d,rule:V})})),this.disposeWithMe(t.validStatusChange$.subscribe(o=>{const{unitId:r,subUnitId:s,ruleId:h,status:d,row:l,col:u}=o,D=this.getSheetTarget(r,s);if(!D)return;const{workbook:f,worksheet:V}=D,I=V.getDataValidation(h);I&&this.fireEvent(this.Event.SheetDataValidatorStatusChanged,{workbook:f,worksheet:V,row:l,column:u,rule:I,status:d})})),this.disposeWithMe(i.beforeCommandExecuted(o=>{switch(o.id){case n.AddSheetDataValidationCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l={worksheet:d,workbook:h,rule:r.rule};if(this.fireEvent(this.Event.BeforeSheetDataValidationAdd,l),l.cancel)throw new a.CanceledError;break}case n.UpdateSheetDataValidationSettingCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId,newCriteria:r.setting};if(this.fireEvent(this.Event.BeforeSheetDataValidationCriteriaUpdate,u),u.cancel)throw new a.CanceledError;break}case n.UpdateSheetDataValidationRangeCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId,newRanges:r.ranges};if(this.fireEvent(this.Event.BeforeSheetDataValidationRangeUpdate,u),u.cancel)throw new a.CanceledError;break}case n.UpdateSheetDataValidationOptionsCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId,newOptions:r.options};if(this.fireEvent(this.Event.BeforeSheetDataValidationOptionsUpdate,u),u.cancel)throw new a.CanceledError;break}case n.RemoveSheetDataValidationCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId};if(this.fireEvent(this.Event.BeforeSheetDataValidationDelete,u),u.cancel)throw new a.CanceledError;break}case n.RemoveSheetAllDataValidationCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l={worksheet:d,workbook:h,rules:d.getDataValidations()};if(this.fireEvent(this.Event.BeforeSheetDataValidationDeleteAll,l),l.cancel)throw new a.CanceledError;break}}}))}}a.FUniver.extend(y);class C extends g.FWorkbook{_initialize(){Object.defineProperty(this,"_dataValidationModel",{get(){return this._injector.get(n.SheetDataValidationModel)}})}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorkbook(this._workbook.getUnitId())}onDataValidationChange(e){return a.toDisposable(this._dataValidationModel.ruleChange$.pipe(E.filter(t=>t.unitId===this._workbook.getUnitId())).subscribe(e))}onDataValidationStatusChange(e){return a.toDisposable(this._dataValidationModel.validStatusChange$.pipe(E.filter(t=>t.unitId===this._workbook.getUnitId())).subscribe(e))}onBeforeAddDataValidation(e){return a.toDisposable(this._commandService.beforeCommandExecuted((t,i)=>{const o=t.params;if(t.id===n.AddSheetDataValidationCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(e(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeAddDataValidation")}}))}onBeforeUpdateDataValidationCriteria(e){return a.toDisposable(this._commandService.beforeCommandExecuted((t,i)=>{const o=t.params;if(t.id===n.UpdateSheetDataValidationSettingCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(e(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeUpdateDataValidationCriteria")}}))}onBeforeUpdateDataValidationRange(e){return a.toDisposable(this._commandService.beforeCommandExecuted((t,i)=>{const o=t.params;if(t.id===n.UpdateSheetDataValidationRangeCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(e(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeUpdateDataValidationRange")}}))}onBeforeUpdateDataValidationOptions(e){return a.toDisposable(this._commandService.beforeCommandExecuted((t,i)=>{const o=t.params;if(t.id===n.UpdateSheetDataValidationOptionsCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(e(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeUpdateDataValidationOptions")}}))}onBeforeDeleteDataValidation(e){return a.toDisposable(this._commandService.beforeCommandExecuted((t,i)=>{const o=t.params;if(t.id===n.RemoveSheetDataValidationCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(e(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeDeleteDataValidation")}}))}onBeforeDeleteAllDataValidation(e){return a.toDisposable(this._commandService.beforeCommandExecuted((t,i)=>{const o=t.params;if(t.id===n.RemoveSheetAllDataValidationCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(e(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeDeleteAllDataValidation")}}))}}g.FWorkbook.extend(C);class v extends g.FWorksheet{getDataValidations(){return this._injector.get(S.DataValidationModel).getRules(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(t=>new p(t,this._worksheet,this._injector))}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorksheet(this._workbook.getUnitId(),this._worksheet.getSheetId())}getDataValidation(e){const i=this._injector.get(S.DataValidationModel).getRuleById(this._workbook.getUnitId(),this._worksheet.getSheetId(),e);return i?new p(i,this._worksheet,this._injector):null}}g.FWorksheet.extend(v);class U{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"}}a.FEventName.extend(U);exports.FDataValidation=p;exports.FDataValidationBuilder=m;
|
|
1
|
+
"use strict";var k=Object.defineProperty;var w=(c,t,e)=>t in c?k(c,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):c[t]=e;var D=(c,t,e)=>w(c,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@univerjs/sheets-data-validation"),p=require("@univerjs/sheets/facade"),a=require("@univerjs/core"),S=require("@univerjs/data-validation"),b=require("@univerjs/engine-formula"),E=require("rxjs");class m{constructor(t){D(this,"_rule");this._rule=t!=null?t:{uid:a.generateRandomId(),ranges:void 0,type:a.DataValidationType.CUSTOM}}build(){return new g(this._rule)}copy(){return new m({...this._rule,uid:a.generateRandomId()})}getAllowInvalid(){return this._rule.errorStyle!==a.DataValidationErrorStyle.STOP}getCriteriaType(){return this._rule.type}getCriteriaValues(){return[this._rule.operator,this._rule.formula1,this._rule.formula2]}getHelpText(){return this._rule.error}requireCheckbox(t,e){return this._rule.type=a.DataValidationType.CHECKBOX,this._rule.formula1=t,this._rule.formula2=e,this}requireDateAfter(t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.operator=a.DataValidationOperator.GREATER_THAN,this}requireDateBefore(t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN,this}requireDateBetween(t,e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.formula2=e.toLocaleDateString(),this._rule.operator=a.DataValidationOperator.BETWEEN,this}requireDateEqualTo(t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.EQUAL,this}requireDateNotBetween(t,e){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.formula2=e.toLocaleDateString(),this._rule.operator=a.DataValidationOperator.NOT_BETWEEN,this}requireDateOnOrAfter(t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.GREATER_THAN_OR_EQUAL,this}requireDateOnOrBefore(t){return this._rule.type=a.DataValidationType.DATE,this._rule.formula1=t.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN_OR_EQUAL,this}requireFormulaSatisfied(t){return this._rule.type=a.DataValidationType.CUSTOM,this._rule.formula1=t,this._rule.formula2=void 0,this}requireNumberBetween(t,e,i){return this._rule.formula1=`${t}`,this._rule.formula2=`${e}`,this._rule.operator=a.DataValidationOperator.BETWEEN,this._rule.type=i?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberEqualTo(t,e){return this._rule.formula1=`${t}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.EQUAL,this._rule.type=e?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberGreaterThan(t,e){return this._rule.formula1=`${t}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.GREATER_THAN,this._rule.type=e?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberGreaterThanOrEqualTo(t,e){return this._rule.formula1=`${t}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.GREATER_THAN_OR_EQUAL,this._rule.type=e?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberLessThan(t,e){return this._rule.formula1=`${t}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN,this._rule.type=e?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberLessThanOrEqualTo(t,e){return this._rule.formula1=`${t}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.LESS_THAN_OR_EQUAL,this._rule.type=e?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberNotBetween(t,e,i){return this._rule.formula1=`${t}`,this._rule.formula2=`${e}`,this._rule.operator=a.DataValidationOperator.NOT_BETWEEN,this._rule.type=i?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireNumberNotEqualTo(t,e){return this._rule.formula1=`${t}`,this._rule.formula2=void 0,this._rule.operator=a.DataValidationOperator.NOT_EQUAL,this._rule.type=e?a.DataValidationType.WHOLE:a.DataValidationType.DECIMAL,this}requireValueInList(t,e,i){return this._rule.type=e?a.DataValidationType.LIST_MULTIPLE:a.DataValidationType.LIST,this._rule.formula1=t.join(","),this._rule.formula2=void 0,this._rule.showDropDown=i!=null?i:!0,this}requireValueInRange(t,e,i){return this._rule.type=e?a.DataValidationType.LIST_MULTIPLE:a.DataValidationType.LIST,this._rule.formula1=`=${b.serializeRangeToRefString({unitId:t.getUnitId(),sheetName:t.getSheetName(),range:t.getRange()})}`,this._rule.formula2=void 0,this._rule.showDropDown=i!=null?i:!0,this}setAllowInvalid(t){return this._rule.errorStyle=t?a.DataValidationErrorStyle.WARNING:a.DataValidationErrorStyle.STOP,this}setAllowBlank(t){return this._rule.allowBlank=t,this}setOptions(t){return Object.assign(this._rule,t),this}}class g{constructor(t,e,i){D(this,"rule");D(this,"_worksheet");D(this,"_injector");this._injector=i,this.rule=t,this._worksheet=e}getAllowInvalid(){return this.rule.errorStyle!==a.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 m(this.rule)}getApplied(){if(!this._worksheet)return!1;const e=this._injector.get(S.DataValidationModel).getRuleById(this._worksheet.getUnitId(),this._worksheet.getSheetId(),this.rule.uid);return!!(e&&e.ranges.length)}getRanges(){if(!this.getApplied())return[];const t=this._injector.get(a.IUniverInstanceService).getUnit(this._worksheet.getUnitId());return this.rule.ranges.map(e=>this._injector.createInstance(p.FRange,t,this._worksheet,e))}getUnitId(){var t;return(t=this._worksheet)==null?void 0:t.getUnitId()}getSheetId(){var t;return(t=this._worksheet)==null?void 0:t.getSheetId()}setCriteria(t,e,i=!0){if(this.getApplied()&&!this._injector.get(a.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationSettingCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,setting:{operator:e[0],formula1:e[1],formula2:e[2],type:this.rule.type,allowBlank:i}}))throw new Error("setCriteria failed");return this.rule.operator=e[0],this.rule.formula1=e[1],this.rule.formula2=e[2],this.rule.type=t,this.rule.allowBlank=i,this}setOptions(t){if(this.getApplied()&&!this._injector.get(a.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationOptionsCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,options:{...S.getRuleOptions(this.rule),...t}}))throw new Error("setOptions failed");return Object.assign(this.rule,t),this}setRanges(t){if(this.getApplied()&&!this._injector.get(a.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationRangeCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,ranges:t.map(o=>o.getRange())}))throw new Error("setRanges failed");return this.rule.ranges=t.map(e=>e.getRange()),this}delete(){return this.getApplied()?this._injector.get(a.ICommandService).syncExecuteCommand(n.RemoveSheetDataValidationCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid}):!1}}class T extends p.FRange{setDataValidation(t){if(!t)return this._commandService.syncExecuteCommand(n.ClearRangeDataValidationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this;const e={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:{...t.rule,ranges:[this._range]}};return this._commandService.syncExecuteCommand(n.AddSheetDataValidationCommand.id,e),this}getDataValidation(){const e=this._injector.get(n.SheetsDataValidationValidatorService).getDataValidation(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]);return e&&new g(e,this._worksheet,this._injector)}getDataValidations(){return this._injector.get(n.SheetsDataValidationValidatorService).getDataValidations(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]).map(e=>new g(e,this._worksheet,this._injector))}async getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorRanges(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range])}}p.FRange.extend(T);class y extends a.FUniver{static newDataValidation(){return new m}newDataValidation(){return new m}_initialize(t){if(!t.has(n.SheetDataValidationModel))return;const e=t.get(n.SheetDataValidationModel),i=t.get(a.ICommandService);this.disposeWithMe(e.ruleChange$.subscribe(o=>{const{unitId:r,subUnitId:s,rule:h,oldRule:d,type:l}=o,u=this.getSheetTarget(r,s);if(!u)return;const{workbook:_,worksheet:f}=u,V=new g(h,f.getSheet(),this._injector);this.fireEvent(this.Event.SheetDataValidationChanged,{origin:o,worksheet:f,workbook:_,changeType:l,oldRule:d,rule:V})})),this.disposeWithMe(e.validStatusChange$.subscribe(o=>{const{unitId:r,subUnitId:s,ruleId:h,status:d,row:l,col:u}=o,_=this.getSheetTarget(r,s);if(!_)return;const{workbook:f,worksheet:V}=_,I=V.getDataValidation(h);I&&this.fireEvent(this.Event.SheetDataValidatorStatusChanged,{workbook:f,worksheet:V,row:l,column:u,rule:I,status:d})})),this.disposeWithMe(i.beforeCommandExecuted(o=>{switch(o.id){case n.AddSheetDataValidationCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l={worksheet:d,workbook:h,rule:r.rule};if(this.fireEvent(this.Event.BeforeSheetDataValidationAdd,l),l.cancel)throw new a.CanceledError;break}case n.UpdateSheetDataValidationSettingCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId,newCriteria:r.setting};if(this.fireEvent(this.Event.BeforeSheetDataValidationCriteriaUpdate,u),u.cancel)throw new a.CanceledError;break}case n.UpdateSheetDataValidationRangeCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId,newRanges:r.ranges};if(this.fireEvent(this.Event.BeforeSheetDataValidationRangeUpdate,u),u.cancel)throw new a.CanceledError;break}case n.UpdateSheetDataValidationOptionsCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId,newOptions:r.options};if(this.fireEvent(this.Event.BeforeSheetDataValidationOptionsUpdate,u),u.cancel)throw new a.CanceledError;break}case n.RemoveSheetDataValidationCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l=d.getDataValidation(r.ruleId);if(!l)return;const u={worksheet:d,workbook:h,rule:l,ruleId:r.ruleId};if(this.fireEvent(this.Event.BeforeSheetDataValidationDelete,u),u.cancel)throw new a.CanceledError;break}case n.RemoveSheetAllDataValidationCommand.id:{const r=o.params,s=this.getSheetTarget(r.unitId,r.subUnitId);if(!s)return;const{workbook:h,worksheet:d}=s,l={worksheet:d,workbook:h,rules:d.getDataValidations()};if(this.fireEvent(this.Event.BeforeSheetDataValidationDeleteAll,l),l.cancel)throw new a.CanceledError;break}}}))}}a.FUniver.extend(y);class v extends p.FWorkbook{_initialize(){Object.defineProperty(this,"_dataValidationModel",{get(){return this._injector.get(n.SheetDataValidationModel)}})}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorkbook(this._workbook.getUnitId())}onDataValidationChange(t){return a.toDisposable(this._dataValidationModel.ruleChange$.pipe(E.filter(e=>e.unitId===this._workbook.getUnitId())).subscribe(t))}onDataValidationStatusChange(t){return a.toDisposable(this._dataValidationModel.validStatusChange$.pipe(E.filter(e=>e.unitId===this._workbook.getUnitId())).subscribe(t))}onBeforeAddDataValidation(t){return a.toDisposable(this._commandService.beforeCommandExecuted((e,i)=>{const o=e.params;if(e.id===n.AddSheetDataValidationCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(t(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeAddDataValidation")}}))}onBeforeUpdateDataValidationCriteria(t){return a.toDisposable(this._commandService.beforeCommandExecuted((e,i)=>{const o=e.params;if(e.id===n.UpdateSheetDataValidationSettingCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(t(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeUpdateDataValidationCriteria")}}))}onBeforeUpdateDataValidationRange(t){return a.toDisposable(this._commandService.beforeCommandExecuted((e,i)=>{const o=e.params;if(e.id===n.UpdateSheetDataValidationRangeCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(t(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeUpdateDataValidationRange")}}))}onBeforeUpdateDataValidationOptions(t){return a.toDisposable(this._commandService.beforeCommandExecuted((e,i)=>{const o=e.params;if(e.id===n.UpdateSheetDataValidationOptionsCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(t(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeUpdateDataValidationOptions")}}))}onBeforeDeleteDataValidation(t){return a.toDisposable(this._commandService.beforeCommandExecuted((e,i)=>{const o=e.params;if(e.id===n.RemoveSheetDataValidationCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(t(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeDeleteDataValidation")}}))}onBeforeDeleteAllDataValidation(t){return a.toDisposable(this._commandService.beforeCommandExecuted((e,i)=>{const o=e.params;if(e.id===n.RemoveSheetAllDataValidationCommand.id){if(o.unitId!==this._workbook.getUnitId())return;if(t(o,i)===!1)throw new Error("Command is stopped by the hook onBeforeDeleteAllDataValidation")}}))}}p.FWorkbook.extend(v);class C extends p.FWorksheet{getDataValidations(){return this._injector.get(S.DataValidationModel).getRules(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(e=>new g(e,this._worksheet,this._injector))}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorksheet(this._workbook.getUnitId(),this._worksheet.getSheetId())}getValidatorStatusAsync(){return this.getValidatorStatus()}getDataValidation(t){const i=this._injector.get(S.DataValidationModel).getRuleById(this._workbook.getUnitId(),this._worksheet.getSheetId(),t);return i?new g(i,this._worksheet,this._injector):null}}p.FWorksheet.extend(C);class U{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"}}a.FEventName.extend(U);exports.FDataValidation=g;exports.FDataValidationBuilder=m;
|