@univerjs/sheets-data-validation-ui 0.3.0-nightly.202410101606 → 0.4.0-alpha.0
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/LICENSE +176 -0
- package/lib/cjs/index.js +9 -1
- package/lib/es/index.js +2976 -1
- package/lib/locale/fa-IR.json +167 -0
- package/lib/types/controllers/config.schema.d.ts +3 -3
- package/lib/types/locale/fa-IR.d.ts +3 -0
- package/lib/types/mobile-plugin.d.ts +2 -2
- package/lib/types/plugin.d.ts +2 -2
- package/lib/umd/index.js +9 -1
- package/package.json +28 -29
package/lib/es/index.js
CHANGED
@@ -1 +1,2976 @@
|
|
1
|
-
const _0x4f63e1=_0x4874;(function(_0x5eb1c5,_0x2d01f3){const _0x32cf98=_0x4874,_0x2c5c79=_0x5eb1c5();while(!![]){try{const _0x33bb98=parseInt(_0x32cf98(0x1ef))/0x1+parseInt(_0x32cf98(0x2fe))/0x2+parseInt(_0x32cf98(0xfd))/0x3+parseInt(_0x32cf98(0x1e3))/0x4*(-parseInt(_0x32cf98(0x2d5))/0x5)+-parseInt(_0x32cf98(0x255))/0x6+-parseInt(_0x32cf98(0xb5))/0x7*(parseInt(_0x32cf98(0x1dd))/0x8)+parseInt(_0x32cf98(0x2e5))/0x9*(parseInt(_0x32cf98(0x15b))/0xa);if(_0x33bb98===_0x2d01f3)break;else _0x2c5c79['push'](_0x2c5c79['shift']());}catch(_0x3b7de8){_0x2c5c79['push'](_0x2c5c79['shift']());}}}(_0x3d29,0x80821));var __defProp=Object['defineProperty'],__defNormalProp=(_0x456d73,_0x464529,_0x1c492a)=>_0x464529 in _0x456d73?__defProp(_0x456d73,_0x464529,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x1c492a}):_0x456d73[_0x464529]=_0x1c492a,__name=(_0xc43e36,_0x3977e6)=>__defProp(_0xc43e36,_0x4f63e1(0x1d2),{'value':_0x3977e6,'configurable':!0x0}),__publicField=(_0x2bb37a,_0x7be6d1,_0x32f8dc)=>__defNormalProp(_0x2bb37a,typeof _0x7be6d1!=_0x4f63e1(0x1cd)?_0x7be6d1+'':_0x7be6d1,_0x32f8dc);import _0x190d58,{useState,forwardRef,useRef,createElement,useMemo,useEffect}from'react';import{Inject,LocaleService,Disposable,DataValidationErrorStyle,useDependency,ICommandService,numfmt,CellValueType,UniverInstanceType,toDisposable,IUniverInstanceService,DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,DisposableCollection,CommandType,BuildTextUtils,DataValidationRenderMode,DataValidationType,IConfigService,UndoCommand,RedoCommand,isUnitRangesEqual,createInternalEditorID,isValidRange,debounce,shallowEqual,Injector,DataValidationStatus,ObjectMatrix,Range,Rectangle,queryObjectMatrix,Optional,RxDisposable,InterceptorEffectEnum,sequenceExecute,isFormulaString,Tools,ThemeService,VerticalAlign,HorizontalAlign,DEFAULT_STYLES,WrapStrategy,DocumentDataModel,DEFAULT_EMPTY_DOCUMENT_VALUE,BooleanNumber,Plugin}from'@univerjs/core';import{Button,DatePanel,RectPopup,Scrollbar,FormLayout,RadioGroup,Radio,Checkbox,Input,Select,DraggableList}from'@univerjs/design';import{SetRangeValuesCommand,SheetsSelectionsService,getSheetCommandTarget,WorkbookEditablePermission,RangeProtectionPermissionEditPoint,WorksheetEditPermission,checkRangesEditablePermission,WorksheetSetCellStylePermission,SheetInterceptorService,INTERCEPTOR_POINT,InterceptCellContentPriority}from'@univerjs/sheets';import{SheetDataValidationModel,getCellValueOrigin,getDataValidationCellValue,deserializeListOptions,serializeListOptions,UpdateSheetDataValidationRangeCommand,UpdateSheetDataValidationSettingCommand,RemoveSheetDataValidationCommand,UpdateSheetDataValidationOptionsCommand,createDefaultNewRule,AddSheetDataValidationCommand,RemoveSheetAllDataValidationCommand,DATA_VALIDATION_PLUGIN_NAME,getDataValidationDiffMutations,DataValidationFormulaController,DataValidationFormulaService,getFormulaResult,transformCheckboxValue,CHECKBOX_FORMULA_1,CHECKBOX_FORMULA_2}from'@univerjs/sheets-data-validation';import{getPatternType}from'@univerjs/sheets-numfmt';import _0xa4eb10 from'dayjs';import{DataValidatorRegistryService,DataValidationModel,DataValidatorRegistryScope,TWO_FORMULA_OPERATOR_COUNT,getRuleOptions,getRuleSetting}from'@univerjs/data-validation';import{IEditorBridgeService,SheetCanvasPopManagerService,SheetPermissionInterceptorBaseController,IMarkSelectionService,HoverManagerService,CellAlertManagerService,CellAlertType,IAutoFillService,APPLY_TYPE,virtualizeDiscreteRanges,getAutoFillRepeatRange,COPY_TYPE,rangeToDiscreteRange,PREDEFINED_HOOK_NAME,getRepeatRange,ISheetClipboardService,getCurrentRangeDisable$,AutoHeightController,SheetSkeletonManagerService}from'@univerjs/sheets-ui';import{IDialogService,ISidebarService,useObservable,ComponentManager,IZenZoneService,KeyCode,useEvent,MenuItemType,getMenuHiddenObservable,RibbonStartGroup,IMenuManagerService}from'@univerjs/ui';import{RichTextEditingMutation}from'@univerjs/docs';import{IRenderManagerService,DeviceInputEventType,fixLineWidthByScale,Transform,Checkbox as _0x1581b0,FontCache,Shape,Rect,getFontStyleString,getDocsSkeletonPageSize,DocumentViewModel,DocumentSkeleton,Documents}from'@univerjs/engine-render';import{filter,BehaviorSubject,distinctUntilChanged,Subject,debounceTime,bufferTime}from'rxjs';import{RangeSelector,TextEditor}from'@univerjs/docs-ui';import{serializeRange}from'@univerjs/engine-formula';import _0x2db511 from'clsx';var commonjsGlobal=typeof globalThis<'u'?globalThis:typeof window<'u'?window:typeof global<'u'?global:typeof self<'u'?self:{};function getDefaultExportFromCjs(_0x359eb3){const _0x3c47e1=_0x4f63e1;return _0x359eb3&&_0x359eb3[_0x3c47e1(0x264)]&&Object[_0x3c47e1(0x30a)][_0x3c47e1(0x202)][_0x3c47e1(0x2cb)](_0x359eb3,_0x3c47e1(0x7c))?_0x359eb3[_0x3c47e1(0x7c)]:_0x359eb3;}__name(getDefaultExportFromCjs,_0x4f63e1(0x120));var jsxRuntime={'exports':{}},reactJsxRuntime_production_min={},f=_0x190d58,k=Symbol['for']('react.element'),l=Symbol[_0x4f63e1(0x142)](_0x4f63e1(0x1a4)),m=Object[_0x4f63e1(0x30a)][_0x4f63e1(0x202)],n=f[_0x4f63e1(0x1ea)]['ReactCurrentOwner'],p={'key':!0x0,'ref':!0x0,'__self':!0x0,'__source':!0x0};function q(_0x137468,_0x57a0d5,_0x4a0f66){const _0x104a33=_0x4f63e1;var _0x6ca015,_0x16a592={},_0x63768a=null,_0x23512d=null;_0x4a0f66!==void 0x0&&(_0x63768a=''+_0x4a0f66),_0x57a0d5[_0x104a33(0x2eb)]!==void 0x0&&(_0x63768a=''+_0x57a0d5[_0x104a33(0x2eb)]),_0x57a0d5['ref']!==void 0x0&&(_0x23512d=_0x57a0d5['ref']);for(_0x6ca015 in _0x57a0d5)m[_0x104a33(0x2cb)](_0x57a0d5,_0x6ca015)&&!p[_0x104a33(0x202)](_0x6ca015)&&(_0x16a592[_0x6ca015]=_0x57a0d5[_0x6ca015]);if(_0x137468&&_0x137468[_0x104a33(0x1ec)]){for(_0x6ca015 in(_0x57a0d5=_0x137468[_0x104a33(0x1ec)],_0x57a0d5))_0x16a592[_0x6ca015]===void 0x0&&(_0x16a592[_0x6ca015]=_0x57a0d5[_0x6ca015]);}return{'$$typeof':k,'type':_0x137468,'key':_0x63768a,'ref':_0x23512d,'props':_0x16a592,'_owner':n['current']};}__name(q,'q'),reactJsxRuntime_production_min[_0x4f63e1(0x316)]=l,reactJsxRuntime_production_min[_0x4f63e1(0xe9)]=q,reactJsxRuntime_production_min[_0x4f63e1(0x18c)]=q,jsxRuntime['exports']=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime[_0x4f63e1(0x28e)],utc$1={'exports':{}};(function(_0x2cf51f,_0x41e710){(function(_0x441f75,_0x1ee833){const _0x167b4f=_0x4874;_0x2cf51f[_0x167b4f(0x28e)]=_0x1ee833();}(commonjsGlobal,function(){const _0x5c12f3=_0x4874;var _0x158415=_0x5c12f3(0xeb),_0x5d1e77=/[+-]\d\d(?::?\d\d)?/g,_0x584116=/([+-]|\d\d)/g;return function(_0x3155a7,_0x462ee6,_0x493871){const _0x50376a=_0x5c12f3;var _0x28d4a8=_0x462ee6[_0x50376a(0x30a)];_0x493871['utc']=function(_0x441fa7){var _0x48f4d6={'date':_0x441fa7,'utc':!0x0,'args':arguments};return new _0x462ee6(_0x48f4d6);},_0x28d4a8['utc']=function(_0x5c5512){const _0x4f11d5=_0x50376a;var _0x31e749=_0x493871(this['toDate'](),{'locale':this['$L'],'utc':!0x0});return _0x5c5512?_0x31e749[_0x4f11d5(0xbf)](this['utcOffset'](),_0x158415):_0x31e749;},_0x28d4a8[_0x50376a(0xe2)]=function(){return _0x493871(this['toDate'](),{'locale':this['$L'],'utc':!0x1});};var _0x2a3e94=_0x28d4a8[_0x50376a(0x161)];_0x28d4a8[_0x50376a(0x161)]=function(_0x81310d){const _0x4219c9=_0x50376a;_0x81310d[_0x4219c9(0x244)]&&(this['$u']=!0x0),this['$utils']()['u'](_0x81310d[_0x4219c9(0x290)])||(this[_0x4219c9(0x290)]=_0x81310d['$offset']),_0x2a3e94[_0x4219c9(0x2cb)](this,_0x81310d);};var _0x5a9fed=_0x28d4a8[_0x50376a(0x1fb)];_0x28d4a8[_0x50376a(0x1fb)]=function(){const _0x228cdc=_0x50376a;if(this['$u']){var _0xbb6fc6=this['$d'];this['$y']=_0xbb6fc6[_0x228cdc(0x256)](),this['$M']=_0xbb6fc6['getUTCMonth'](),this['$D']=_0xbb6fc6['getUTCDate'](),this['$W']=_0xbb6fc6['getUTCDay'](),this['$H']=_0xbb6fc6[_0x228cdc(0x19d)](),this['$m']=_0xbb6fc6['getUTCMinutes'](),this['$s']=_0xbb6fc6[_0x228cdc(0x1d4)](),this[_0x228cdc(0x1b9)]=_0xbb6fc6[_0x228cdc(0xba)]();}else _0x5a9fed[_0x228cdc(0x2cb)](this);};var _0x2afcdf=_0x28d4a8[_0x50376a(0x1bb)];_0x28d4a8['utcOffset']=function(_0x1cdaa3,_0x543c50){const _0x5e4183=_0x50376a;var _0x529328=this[_0x5e4183(0x14a)]()['u'];if(_0x529328(_0x1cdaa3))return this['$u']?0x0:_0x529328(this[_0x5e4183(0x290)])?_0x2afcdf['call'](this):this[_0x5e4183(0x290)];if(typeof _0x1cdaa3==_0x5e4183(0xdf)&&(_0x1cdaa3=function(_0x5c1187){_0x5c1187===void 0x0&&(_0x5c1187='');var _0x39c037=_0x5c1187['match'](_0x5d1e77);if(!_0x39c037)return null;var _0x406fef=(''+_0x39c037[0x0])['match'](_0x584116)||['-',0x0,0x0],_0x358928=_0x406fef[0x0],_0x18c712=0x3c*+_0x406fef[0x1]+ +_0x406fef[0x2];return _0x18c712===0x0?0x0:_0x358928==='+'?_0x18c712:-_0x18c712;}(_0x1cdaa3),_0x1cdaa3===null))return this;var _0x2ee2c0=Math['abs'](_0x1cdaa3)<=0x10?0x3c*_0x1cdaa3:_0x1cdaa3,_0xd1959b=this;if(_0x543c50)return _0xd1959b[_0x5e4183(0x290)]=_0x2ee2c0,_0xd1959b['$u']=_0x1cdaa3===0x0,_0xd1959b;if(_0x1cdaa3!==0x0){var _0x1a14d7=this['$u']?this[_0x5e4183(0x12e)]()[_0x5e4183(0xa1)]():-0x1*this['utcOffset']();(_0xd1959b=this['local']()['add'](_0x2ee2c0+_0x1a14d7,_0x158415))[_0x5e4183(0x290)]=_0x2ee2c0,_0xd1959b['$x'][_0x5e4183(0x289)]=_0x1a14d7;}else _0xd1959b=this[_0x5e4183(0x244)]();return _0xd1959b;};var _0x5e46ec=_0x28d4a8[_0x50376a(0x2c0)];_0x28d4a8[_0x50376a(0x2c0)]=function(_0x1fbdca){const _0x2ce4e2=_0x50376a;var _0xa0e14=_0x1fbdca||(this['$u']?_0x2ce4e2(0x18d):'');return _0x5e46ec[_0x2ce4e2(0x2cb)](this,_0xa0e14);},_0x28d4a8['valueOf']=function(){const _0x161191=_0x50376a;var _0x23ff4c=this['$utils']()['u'](this[_0x161191(0x290)])?0x0:this['$offset']+(this['$x'][_0x161191(0x289)]||this['$d'][_0x161191(0xa1)]());return this['$d'][_0x161191(0x184)]()-0xea60*_0x23ff4c;},_0x28d4a8['isUTC']=function(){return!!this['$u'];},_0x28d4a8[_0x50376a(0x24b)]=function(){const _0x386696=_0x50376a;return this['toDate']()[_0x386696(0x24b)]();},_0x28d4a8[_0x50376a(0x28c)]=function(){const _0x3537f=_0x50376a;return this[_0x3537f(0x12e)]()[_0x3537f(0x1c5)]();};var _0x5a04fd=_0x28d4a8['toDate'];_0x28d4a8[_0x50376a(0x12e)]=function(_0x8d703d){const _0x1eefbc=_0x50376a;return _0x8d703d==='s'&&this[_0x1eefbc(0x290)]?_0x493871(this[_0x1eefbc(0x2c0)](_0x1eefbc(0x2ec)))[_0x1eefbc(0x12e)]():_0x5a04fd[_0x1eefbc(0x2cb)](this);};var _0x129189=_0x28d4a8[_0x50376a(0x227)];_0x28d4a8[_0x50376a(0x227)]=function(_0x38b31f,_0xeba770,_0x1cef93){const _0x27e4c1=_0x50376a;if(_0x38b31f&&this['$u']===_0x38b31f['$u'])return _0x129189[_0x27e4c1(0x2cb)](this,_0x38b31f,_0xeba770,_0x1cef93);var _0x1b7723=this[_0x27e4c1(0xe2)](),_0x161f0b=_0x493871(_0x38b31f)[_0x27e4c1(0xe2)]();return _0x129189[_0x27e4c1(0x2cb)](_0x1b7723,_0x161f0b,_0xeba770,_0x1cef93);};};}));}(utc$1));var utcExports=utc$1[_0x4f63e1(0x28e)];const utc=getDefaultExportFromCjs(utcExports);var __defProp$e=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$e=Object[_0x4f63e1(0x21b)],__decorateClass$e=__name((_0x4d7eb0,_0x2d26ab,_0x3d9255,_0x3ea981)=>{for(var _0xeb9768=_0x3ea981>0x1?void 0x0:_0x3ea981?__getOwnPropDesc$e(_0x2d26ab,_0x3d9255):_0x2d26ab,_0x31478f=_0x4d7eb0['length']-0x1,_0x5bdac7;_0x31478f>=0x0;_0x31478f--)(_0x5bdac7=_0x4d7eb0[_0x31478f])&&(_0xeb9768=(_0x3ea981?_0x5bdac7(_0x2d26ab,_0x3d9255,_0xeb9768):_0x5bdac7(_0xeb9768))||_0xeb9768);return _0x3ea981&&_0xeb9768&&__defProp$e(_0x2d26ab,_0x3d9255,_0xeb9768),_0xeb9768;},'__decorateClass$e'),__decorateParam$e=__name((_0x42a5d2,_0x501c19)=>(_0x5657a2,_0x4612d8)=>_0x501c19(_0x5657a2,_0x4612d8,_0x42a5d2),'__decorateParam$e'),_a;let DataValidationRejectInputController=(_a=class extends Disposable{constructor(_0x103b59,_0x375b09,_0x46ce6d,_0x477eea,_0x4a8cec){const _0x4b3016=_0x4f63e1;super(),this[_0x4b3016(0x2cd)]=_0x103b59,this[_0x4b3016(0x11f)]=_0x375b09,this['_dataValidatorRegistryService']=_0x46ce6d,this['_dialogService']=_0x477eea,this[_0x4b3016(0x23f)]=_0x4a8cec,this[_0x4b3016(0x2b1)]();}[_0x4f63e1(0x2b1)](){const _0x32cab7=_0x4f63e1;this['_editorBridgeService'][_0x32cab7(0x2ad)]['intercept'](this[_0x32cab7(0x2cd)][_0x32cab7(0x2ad)][_0x32cab7(0x29e)]()[_0x32cab7(0x22a)],{'handler':__name(async(_0x3a3758,_0x3ba1d6,_0x5929e9)=>{const _0x365f84=_0x32cab7;var _0x47d5ac;const _0x481d97=await _0x3a3758,{worksheet:_0x5add2b,row:_0x2172a1,col:_0x5525d2,unitId:_0x4c232f,subUnitId:_0x228a77,workbook:_0x321e1d}=_0x3ba1d6,_0x2be669=this[_0x365f84(0x11f)][_0x365f84(0x10f)](_0x4c232f,_0x228a77,_0x2172a1,_0x5525d2),_0x4d9ecb=_0x2be669?this['_dataValidationModel'][_0x365f84(0x25b)](_0x4c232f,_0x228a77,_0x2be669):void 0x0;if(!_0x4d9ecb||_0x4d9ecb['errorStyle']!==DataValidationErrorStyle[_0x365f84(0x1c6)])return _0x5929e9(Promise[_0x365f84(0x1c3)](_0x481d97));const _0x48ad27=await this['_dataValidatorRegistryService'][_0x365f84(0x90)](_0x4d9ecb[_0x365f84(0x28a)]);if(!_0x48ad27||await _0x48ad27['validator']({'value':getCellValueOrigin(_0x481d97),'interceptValue':getCellValueOrigin((_0x47d5ac=_0x3ba1d6==null?void 0x0:_0x3ba1d6[_0x365f84(0x130)])!=null?_0x47d5ac:_0x481d97),'row':_0x2172a1,'column':_0x5525d2,'unitId':_0x4c232f,'subUnitId':_0x228a77,'worksheet':_0x5add2b,'workbook':_0x321e1d,'t':_0x481d97==null?void 0x0:_0x481d97['t']},_0x4d9ecb))return _0x5929e9(Promise['resolve'](_0x481d97));const _0x5b05f2=_0x5add2b['getCellRaw'](_0x2172a1,_0x5525d2);return this[_0x365f84(0x12d)][_0x365f84(0xf5)]({'width':0x170,'title':{'title':this[_0x365f84(0x23f)]['t'](_0x365f84(0x24e))},'id':'reject-input-dialog','children':{'title':_0x48ad27['getRuleFinalError'](_0x4d9ecb)},'footer':{'title':_0x190d58['createElement'](Button,{'type':_0x365f84(0x2fd),'onClick':__name(()=>this[_0x365f84(0x12d)][_0x365f84(0x140)](_0x365f84(0x187)),'onClick')},this[_0x365f84(0x23f)]['t'](_0x365f84(0x141)))},'onClose':__name(()=>{const _0x25468e=_0x365f84;this['_dialogService'][_0x25468e(0x140)]('reject-input-dialog');},_0x365f84(0x1ee))}),_0x5929e9(Promise[_0x365f84(0x1c3)](_0x5b05f2));},_0x32cab7(0x266))});}[_0x4f63e1(0x2fc)](_0x552fa6){const _0x4a9fb3=_0x4f63e1;this['_dialogService']['open']({'width':0x170,'title':{'title':this[_0x4a9fb3(0x23f)]['t'](_0x4a9fb3(0x24e))},'id':_0x4a9fb3(0x187),'children':{'title':_0x552fa6},'footer':{'title':_0x190d58[_0x4a9fb3(0x13d)](Button,{'type':_0x4a9fb3(0x2fd),'onClick':__name(()=>this['_dialogService'][_0x4a9fb3(0x140)](_0x4a9fb3(0x187)),_0x4a9fb3(0x30f))},this[_0x4a9fb3(0x23f)]['t'](_0x4a9fb3(0x141)))},'onClose':__name(()=>{const _0x341a8e=_0x4a9fb3;this['_dialogService'][_0x341a8e(0x140)](_0x341a8e(0x187));},'onClose')});}},__name(_a,_0x4f63e1(0x19c)),_a);DataValidationRejectInputController=__decorateClass$e([__decorateParam$e(0x0,IEditorBridgeService),__decorateParam$e(0x1,Inject(SheetDataValidationModel)),__decorateParam$e(0x2,Inject(DataValidatorRegistryService)),__decorateParam$e(0x3,IDialogService),__decorateParam$e(0x4,Inject(LocaleService))],DataValidationRejectInputController);const dvDateDropdown=_0x4f63e1(0x250),dvDateDropdownBtns='univer-dv-date-dropdown-btns',styles$6={'dvDateDropdown':dvDateDropdown,'dvDateDropdownBtns':dvDateDropdownBtns};_0xa4eb10['extend'](utc);const transformDate=__name(_0xf39f89=>{const _0x2d084f=_0x4f63e1;if(_0xf39f89==null||typeof _0xf39f89==_0x2d084f(0x302))return;if(typeof _0xf39f89=='number'||!Number['isNaN'](+_0xf39f89))return _0xa4eb10(numfmt[_0x2d084f(0x2c0)](_0x2d084f(0x249),Number(_0xf39f89)));const _0x3051f2=_0xa4eb10(_0xf39f89);if(_0x3051f2[_0x2d084f(0x1be)]())return _0x3051f2;},_0x4f63e1(0x11a));function DateDropdown(_0x359522){const _0x19f9b8=_0x4f63e1;var _0x539ab1,_0x22982f,_0x981b17;const {location:_0x1aadb3,hideFn:_0x5db14c}=_0x359522,{worksheet:_0x35e73b,row:_0x12c4ae,col:_0x66b888,unitId:_0x4ef633,subUnitId:_0x1bd6de,workbook:_0x24e702}=_0x1aadb3,_0x3aec2d=useDependency(ICommandService),_0x1f581e=useDependency(DataValidationRejectInputController),_0x4c80f7=_0x35e73b[_0x19f9b8(0x2b2)](_0x12c4ae,_0x66b888),_0x26514b=(_0x539ab1=_0x4c80f7==null?void 0x0:_0x4c80f7[_0x19f9b8(0x2bf)])==null?void 0x0:_0x539ab1[_0x19f9b8(0x201)],_0x11dd7e=(_0x22982f=_0x4c80f7==null?void 0x0:_0x4c80f7[_0x19f9b8(0x2bf)])==null?void 0x0:_0x22982f[_0x19f9b8(0x16c)],_0x1162df=getCellValueOrigin(_0x35e73b[_0x19f9b8(0x167)](_0x12c4ae,_0x66b888)),_0xc6fbdb=transformDate(_0x1162df),[_0x3bd6c2,_0xd74231]=useState(_0xc6fbdb),_0xc1f7d5=!!((_0x981b17=_0x26514b==null?void 0x0:_0x26514b['bizInfo'])!=null&&_0x981b17[_0x19f9b8(0x2c1)]),_0x3507e7=_0x3bd6c2&&_0x3bd6c2[_0x19f9b8(0x1be)]()?_0x3bd6c2:_0xa4eb10(),_0x4b2117=useDependency(LocaleService);if(!_0x4c80f7||!_0x26514b||!_0x11dd7e)return;const _0x364102=__name(async()=>{const _0x199a06=_0x19f9b8;var _0x4f8d22,_0x1e217d,_0x3ce04a;if(!_0x3507e7)return;const _0x10420d=_0x3507e7[_0x199a06(0x2c0)](_0xc1f7d5?_0x199a06(0x13a):_0x199a06(0x11c)),_0xa09e44=(_0x4f8d22=numfmt[_0x199a06(0x2ba)](_0x10420d))==null?void 0x0:_0x4f8d22['v'],_0x1619f3=_0x24e702[_0x199a06(0x220)]()['getStyleByCell'](_0x4c80f7),_0x5731ad=(_0x3ce04a=(_0x1e217d=_0x1619f3==null?void 0x0:_0x1619f3['n'])==null?void 0x0:_0x1e217d[_0x199a06(0x155)])!=null?_0x3ce04a:'',_0x496b3d=getPatternType(_0x5731ad);_0x26514b[_0x199a06(0x159)]!==DataValidationErrorStyle[_0x199a06(0x1c6)]||await _0x11dd7e[_0x199a06(0x16c)]({'value':_0xa09e44,'unitId':_0x4ef633,'subUnitId':_0x1bd6de,'row':_0x12c4ae,'column':_0x66b888,'worksheet':_0x35e73b,'workbook':_0x24e702,'interceptValue':_0x10420d[_0x199a06(0x20a)]('Z','')[_0x199a06(0x20a)]('T','\x20'),'t':CellValueType[_0x199a06(0x137)]},_0x26514b)?(_0x3aec2d['executeCommand'](SetRangeValuesCommand['id'],{'unitId':_0x4ef633,'subUnitId':_0x1bd6de,'range':{'startColumn':_0x66b888,'endColumn':_0x66b888,'startRow':_0x12c4ae,'endRow':_0x12c4ae},'value':{'v':_0xa09e44,'t':0x2,'p':null,'f':null,'si':null,'s':{'n':{'pattern':_0xc1f7d5?_0x496b3d==='datetime'?_0x5731ad:_0x199a06(0x283):_0x496b3d===_0x199a06(0x14e)?_0x5731ad:_0x199a06(0x149)}}}}),_0x5db14c()):_0x1f581e[_0x199a06(0x2fc)](_0x11dd7e[_0x199a06(0x20d)](_0x26514b));},_0x19f9b8(0x218));return jsxRuntimeExports[_0x19f9b8(0x18c)](_0x19f9b8(0x1ce),{'className':styles$6['dvDateDropdown'],'children':[jsxRuntimeExports['jsx'](DatePanel,{'defaultValue':_0x3507e7,'pickerValue':_0x3507e7,'showTime':_0xc1f7d5||void 0x0,'onSelect':__name(async _0x590728=>{_0xd74231(_0x590728);},_0x19f9b8(0x10a)),'onPanelChange':__name(_0x1b428b=>{_0xd74231(_0x1b428b);},_0x19f9b8(0x15d)),'disabledDate':__name(_0x2898d9=>!numfmt[_0x19f9b8(0x2ba)](_0x2898d9[_0x19f9b8(0x2c0)](_0x19f9b8(0x136))),_0x19f9b8(0x173))}),jsxRuntimeExports[_0x19f9b8(0xe9)]('div',{'className':styles$6[_0x19f9b8(0x304)],'children':jsxRuntimeExports[_0x19f9b8(0xe9)](Button,{'size':'small','type':'primary','onClick':_0x364102,'disabled':!_0x3507e7[_0x19f9b8(0x1be)](),'children':_0x4b2117['t'](_0x19f9b8(0x141))})})]});}__name(DateDropdown,_0x4f63e1(0x97));var __assign=function(){return __assign=Object['assign']||function(_0x13b92d){const _0x598938=_0x4874;for(var _0x1ddf42,_0x4a0bbb=0x1,_0x25b047=arguments[_0x598938(0x18a)];_0x4a0bbb<_0x25b047;_0x4a0bbb++){_0x1ddf42=arguments[_0x4a0bbb];for(var _0x1a4240 in _0x1ddf42)Object['prototype'][_0x598938(0x202)]['call'](_0x1ddf42,_0x1a4240)&&(_0x13b92d[_0x1a4240]=_0x1ddf42[_0x1a4240]);}return _0x13b92d;},__assign['apply'](this,arguments);},__rest=function(_0x553cea,_0xd33a47){const _0x1312ca=_0x4f63e1;var _0x475279={};for(var _0x34fcde in _0x553cea)Object[_0x1312ca(0x30a)][_0x1312ca(0x202)]['call'](_0x553cea,_0x34fcde)&&_0xd33a47[_0x1312ca(0xea)](_0x34fcde)<0x0&&(_0x475279[_0x34fcde]=_0x553cea[_0x34fcde]);if(_0x553cea!=null&&typeof Object[_0x1312ca(0x271)]==_0x1312ca(0x151)){for(var _0x523250=0x0,_0x34fcde=Object[_0x1312ca(0x271)](_0x553cea);_0x523250<_0x34fcde['length'];_0x523250++)_0xd33a47[_0x1312ca(0xea)](_0x34fcde[_0x523250])<0x0&&Object[_0x1312ca(0x30a)][_0x1312ca(0x125)][_0x1312ca(0x2cb)](_0x553cea,_0x34fcde[_0x523250])&&(_0x475279[_0x34fcde[_0x523250]]=_0x553cea[_0x34fcde[_0x523250]]);}return _0x475279;},IconBase=forwardRef(function(_0x4040a1,_0x4c3f09){const _0x494214=_0x4f63e1;var _0x475814=_0x4040a1[_0x494214(0x133)],_0x553a3b=_0x4040a1['id'],_0x2862da=_0x4040a1[_0x494214(0xf9)],_0x24a112=_0x4040a1[_0x494214(0x123)],_0x3adeb3=__rest(_0x4040a1,[_0x494214(0x133),'id',_0x494214(0xf9),'extend']),_0x298bff='univerjs-icon\x20univerjs-icon-'[_0x494214(0x2c3)](_0x553a3b,'\x20')['concat'](_0x2862da||'')[_0x494214(0x147)](),_0x171b7c=useRef('_'[_0x494214(0x2c3)](generateShortUuid()));return render(_0x475814,''['concat'](_0x553a3b),{'defIds':_0x475814[_0x494214(0x7d)],'idSuffix':_0x171b7c[_0x494214(0xcf)]},__assign({'ref':_0x4c3f09,'className':_0x298bff},_0x3adeb3),_0x24a112);});function render(_0x28c596,_0x3004bc,_0x460d76,_0x2a0d1e,_0xc05860){const _0x38a373=_0x4f63e1;return createElement(_0x28c596['tag'],__assign(__assign({'key':_0x3004bc},replaceRuntimeIdsAndExtInAttrs(_0x28c596,_0x460d76,_0xc05860)),_0x2a0d1e),(replaceRuntimeIdsInDefs(_0x28c596,_0x460d76)[_0x38a373(0x221)]||[])[_0x38a373(0xe5)](function(_0x1a0588,_0x906cb3){const _0x4dbba0=_0x38a373;return render(_0x1a0588,''[_0x4dbba0(0x2c3)](_0x3004bc,'-')[_0x4dbba0(0x2c3)](_0x28c596[_0x4dbba0(0x275)],'-')[_0x4dbba0(0x2c3)](_0x906cb3),_0x460d76,void 0x0,_0xc05860);}));}__name(render,_0x4f63e1(0x226));function replaceRuntimeIdsAndExtInAttrs(_0x107355,_0x285bee,_0x26552e){const _0xd82aa3=_0x4f63e1;var _0x225e32=__assign({},_0x107355[_0xd82aa3(0x2fb)]);_0x26552e!=null&&_0x26552e[_0xd82aa3(0x204)]&&_0x225e32[_0xd82aa3(0x243)]===_0xd82aa3(0x204)&&(_0x225e32[_0xd82aa3(0x243)]=_0x26552e[_0xd82aa3(0x204)]);var _0x1ac63f=_0x285bee[_0xd82aa3(0x7d)];return!_0x1ac63f||_0x1ac63f['length']===0x0||(_0x107355[_0xd82aa3(0x275)]===_0xd82aa3(0x2d6)&&_0x225e32['xlink:href']&&(_0x225e32['xlink:href']=_0x225e32['xlink:href']+_0x285bee[_0xd82aa3(0x277)]),Object[_0xd82aa3(0xf8)](_0x225e32)[_0xd82aa3(0xc9)](function(_0xa81d78){const _0x3643db=_0xd82aa3;var _0x48786a=_0xa81d78[0x0],_0x399bd0=_0xa81d78[0x1];typeof _0x399bd0=='string'&&(_0x225e32[_0x48786a]=_0x399bd0[_0x3643db(0x20a)](/url\(#(.*)\)/,_0x3643db(0x1ac)[_0x3643db(0x2c3)](_0x285bee[_0x3643db(0x277)],')')));})),_0x225e32;}__name(replaceRuntimeIdsAndExtInAttrs,'replaceRuntimeIdsAndExtInAttrs');function replaceRuntimeIdsInDefs(_0x18fdba,_0xda7ed5){const _0x161733=_0x4f63e1;var _0x4fd903,_0x12afaa=_0xda7ed5[_0x161733(0x7d)];return!_0x12afaa||_0x12afaa[_0x161733(0x18a)]===0x0?_0x18fdba:_0x18fdba[_0x161733(0x275)]==='defs'&&(!((_0x4fd903=_0x18fdba[_0x161733(0x221)])===null||_0x4fd903===void 0x0)&&_0x4fd903['length'])?__assign(__assign({},_0x18fdba),{'children':_0x18fdba[_0x161733(0x221)]['map'](function(_0x30d343){const _0x578328=_0x161733;return typeof _0x30d343[_0x578328(0x2fb)]['id']==_0x578328(0xdf)&&_0x12afaa&&_0x12afaa[_0x578328(0xea)](_0x30d343[_0x578328(0x2fb)]['id'])>-0x1?__assign(__assign({},_0x30d343),{'attrs':__assign(__assign({},_0x30d343[_0x578328(0x2fb)]),{'id':_0x30d343[_0x578328(0x2fb)]['id']+_0xda7ed5['idSuffix']})}):_0x30d343;})}):_0x18fdba;}__name(replaceRuntimeIdsInDefs,'replaceRuntimeIdsInDefs');function generateShortUuid(){const _0x1e80cb=_0x4f63e1;return Math[_0x1e80cb(0x195)]()[_0x1e80cb(0x28c)](0x24)[_0x1e80cb(0x26a)](0x2,0x8);}__name(generateShortUuid,_0x4f63e1(0x146)),IconBase[_0x4f63e1(0x285)]=_0x4f63e1(0x1de);var element$6={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':'1em','height':_0x4f63e1(0x2c5)},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'fill':_0x4f63e1(0x26c),'d':'M14.1544\x203.75557C14.3887\x203.98988\x2014.3887\x204.36978\x2014.1544\x204.6041L6.51409\x2012.2444C6.40157\x2012.3569\x206.24896\x2012.4201\x206.08983\x2012.4201C5.9307\x2012.4201\x205.77808\x2012.3569\x205.66556\x2012.2444L1.84541\x208.42425C1.6111\x208.18993\x201.6111\x207.81003\x201.84541\x207.57572C2.07973\x207.34141\x202.45963\x207.34141\x202.69394\x207.57572L6.08983\x2010.9716L13.3059\x203.75557C13.5402\x203.52126\x2013.9201\x203.52126\x2014.1544\x203.75557Z','fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},CheckMarkSingle=forwardRef(function(_0xa9bcb,_0x18a1a0){const _0xab6e3b=_0x4f63e1;return createElement(IconBase,Object['assign']({},_0xa9bcb,{'id':_0xab6e3b(0xd9),'ref':_0x18a1a0,'icon':element$6}));});CheckMarkSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x102);var element$5={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x128),'width':_0x4f63e1(0x2c5),'height':'1em'},'children':[{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':_0x4f63e1(0x10d),'fillRule':_0x4f63e1(0x186),'clipRule':'evenodd'}},{'tag':'path','attrs':{'fill':'currentColor','d':_0x4f63e1(0x2ae)}},{'tag':_0x4f63e1(0x303),'attrs':{'fill':'currentColor','d':'M3.0917\x208.72168C2.20804\x208.72168\x201.4917\x209.43802\x201.4917\x2010.3217V12.9217C1.4917\x2013.8053\x202.20804\x2014.5217\x203.0917\x2014.5217H5.6917C6.57535\x2014.5217\x207.2917\x2013.8053\x207.2917\x2012.9217V10.3217C7.2917\x209.43802\x206.57536\x208.72168\x205.6917\x208.72168H3.0917ZM2.6917\x2010.3217C2.6917\x2010.1008\x202.87078\x209.92168\x203.0917\x209.92168H5.6917C5.91261\x209.92168\x206.0917\x2010.1008\x206.0917\x2010.3217V12.9217C6.0917\x2013.1426\x205.91261\x2013.3217\x205.6917\x2013.3217H3.0917C2.87079\x2013.3217\x202.6917\x2013.1426\x202.6917\x2012.9217V10.3217Z','fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},DataValidationSingle=forwardRef(function(_0x1b7701,_0x5e1c99){const _0x332de6=_0x4f63e1;return createElement(IconBase,Object[_0x332de6(0x21f)]({},_0x1b7701,{'id':_0x332de6(0x2b4),'ref':_0x5e1c99,'icon':element$5}));});DataValidationSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x20e);var element$4={'tag':_0x4f63e1(0x175),'attrs':{'fill':'none','viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'fill':'currentColor','d':_0x4f63e1(0x95)}},{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':_0x4f63e1(0x180),'fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},DeleteSingle=forwardRef(function(_0x7922,_0x44863d){const _0x3a8621=_0x4f63e1;return createElement(IconBase,Object['assign']({},_0x7922,{'id':_0x3a8621(0x7f),'ref':_0x44863d,'icon':element$4}));});DeleteSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x1fe);var element$3={'tag':_0x4f63e1(0x175),'attrs':{'fill':'none','viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':'M8.6\x201.99991C8.60001\x201.66854\x208.33138\x201.39991\x208.00001\x201.3999C7.66864\x201.3999\x207.40001\x201.66853\x207.4\x201.9999L7.39996\x207.3999H1.9999C1.66853\x207.3999\x201.3999\x207.66853\x201.3999\x207.9999C1.3999\x208.33127\x201.66853\x208.5999\x201.9999\x208.5999H7.39995L7.3999\x2013.9999C7.3999\x2014.3313\x207.66853\x2014.5999\x207.9999\x2014.5999C8.33127\x2014.5999\x208.5999\x2014.3313\x208.5999\x2013.9999L8.59995\x208.5999H13.9999C14.3313\x208.5999\x2014.5999\x208.33127\x2014.5999\x207.9999C14.5999\x207.66853\x2014.3313\x207.3999\x2013.9999\x207.3999H8.59996L8.6\x201.99991Z'}}]},IncreaseSingle=forwardRef(function(_0x71a5dc,_0x5c04b9){const _0x4896aa=_0x4f63e1;return createElement(IconBase,Object[_0x4896aa(0x21f)]({},_0x71a5dc,{'id':'increase-single','ref':_0x5c04b9,'icon':element$3}));});IncreaseSingle[_0x4f63e1(0x285)]='IncreaseSingle';var element$2={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'path','attrs':{'fill':'currentColor','d':'M11.3536\x206.14645C11.5488\x206.34171\x2011.5488\x206.65829\x2011.3536\x206.85355L8.35355\x209.85355C8.15829\x2010.0488\x207.84171\x2010.0488\x207.64645\x209.85355L4.64645\x206.85355C4.45118\x206.65829\x204.45118\x206.34171\x204.64645\x206.14645C4.84171\x205.95118\x205.15829\x205.95118\x205.35355\x206.14645L8\x208.79289L10.6464\x206.14645C10.8417\x205.95118\x2011.1583\x205.95118\x2011.3536\x206.14645Z','fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},MoreDownSingle=forwardRef(function(_0x39d2f6,_0x12d155){const _0x48d4fc=_0x4f63e1;return createElement(IconBase,Object[_0x48d4fc(0x21f)]({},_0x39d2f6,{'id':'more-down-single','ref':_0x12d155,'icon':element$2}));});MoreDownSingle['displayName']='MoreDownSingle';var element$1={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':_0x4f63e1(0xb8),'fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},MoreUpSingle=forwardRef(function(_0x3b7550,_0x4a72d4){const _0x2b5282=_0x4f63e1;return createElement(IconBase,Object[_0x2b5282(0x21f)]({},_0x3b7550,{'id':_0x2b5282(0x260),'ref':_0x4a72d4,'icon':element$1}));});MoreUpSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x84);var element={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'mask','attrs':{'id':_0x4f63e1(0x106),'style':{'maskType':_0x4f63e1(0x194)},'width':0x10,'height':0x10,'x':0x0,'y':0x0,'maskUnits':'userSpaceOnUse'},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'fill':_0x4f63e1(0x115),'d':_0x4f63e1(0x315)}}]},{'tag':'g','attrs':{'fill':'currentColor','mask':'url(#mask0_622_8)'},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'d':'M6\x205C6.55228\x205\x207\x204.55228\x207\x204\x207\x203.44772\x206.55228\x203\x206\x203\x205.44772\x203\x205\x203.44772\x205\x204\x205\x204.55228\x205.44772\x205\x206\x205zM6\x209C6.55228\x209\x207\x208.55229\x207\x208\x207\x207.44772\x206.55228\x207\x206\x207\x205.44772\x207\x205\x207.44772\x205\x208\x205\x208.55229\x205.44772\x209\x206\x209zM7\x2012C7\x2012.5523\x206.55228\x2013\x206\x2013\x205.44772\x2013\x205\x2012.5523\x205\x2012\x205\x2011.4477\x205.44772\x2011\x206\x2011\x206.55228\x2011\x207\x2011.4477\x207\x2012zM10\x205C10.5523\x205\x2011\x204.55228\x2011\x204\x2011\x203.44772\x2010.5523\x203\x2010\x203\x209.44771\x203\x209\x203.44772\x209\x204\x209\x204.55228\x209.44771\x205\x2010\x205zM11\x208C11\x208.55229\x2010.5523\x209\x2010\x209\x209.44771\x209\x209\x208.55229\x209\x208\x209\x207.44772\x209.44771\x207\x2010\x207\x2010.5523\x207\x2011\x207.44772\x2011\x208zM10\x2013C10.5523\x2013\x2011\x2012.5523\x2011\x2012\x2011\x2011.4477\x2010.5523\x2011\x2010\x2011\x209.44771\x2011\x209\x2011.4477\x209\x2012\x209\x2012.5523\x209.44771\x2013\x2010\x2013z'}}]}]},SequenceSingle=forwardRef(function(_0x2a0ced,_0x5cb56f){const _0x4ccd37=_0x4f63e1;return createElement(IconBase,Object[_0x4ccd37(0x21f)]({},_0x2a0ced,{'id':_0x4ccd37(0xed),'ref':_0x5cb56f,'icon':element}));});SequenceSingle['displayName']=_0x4f63e1(0x17d);var __defProp$d=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$d=Object[_0x4f63e1(0x21b)],__decorateClass$d=__name((_0x597536,_0x51066f,_0x4e7d07,_0x531f66)=>{const _0x2027a2=_0x4f63e1;for(var _0x13b78e=_0x531f66>0x1?void 0x0:_0x531f66?__getOwnPropDesc$d(_0x51066f,_0x4e7d07):_0x51066f,_0xe38010=_0x597536[_0x2027a2(0x18a)]-0x1,_0x37b207;_0xe38010>=0x0;_0xe38010--)(_0x37b207=_0x597536[_0xe38010])&&(_0x13b78e=(_0x531f66?_0x37b207(_0x51066f,_0x4e7d07,_0x13b78e):_0x37b207(_0x13b78e))||_0x13b78e);return _0x531f66&&_0x13b78e&&__defProp$d(_0x51066f,_0x4e7d07,_0x13b78e),_0x13b78e;},_0x4f63e1(0x1b5)),__decorateParam$d=__name((_0x465034,_0x59f9f3)=>(_0x21158f,_0x527142)=>_0x59f9f3(_0x21158f,_0x527142,_0x465034),_0x4f63e1(0x21c)),_a2;let DataValidationPanelService=(_a2=class extends Disposable{constructor(_0x454a81,_0x4cfa03){const _0xfc521f=_0x4f63e1;super(),__publicField(this,_0xfc521f(0x26d),new BehaviorSubject(!0x1)),__publicField(this,_0xfc521f(0xa2),this[_0xfc521f(0x26d)]['pipe'](distinctUntilChanged())),__publicField(this,_0xfc521f(0x22c)),__publicField(this,_0xfc521f(0x152),new BehaviorSubject(void 0x0)),__publicField(this,'activeRule$',this[_0xfc521f(0x152)][_0xfc521f(0x135)]()),__publicField(this,_0xfc521f(0x2bd),null),(this['_univerInstanceService']=_0x454a81,this[_0xfc521f(0x20c)]=_0x4cfa03,this[_0xfc521f(0x2d7)](this[_0xfc521f(0xa0)][_0xfc521f(0x2a7)](UniverInstanceType[_0xfc521f(0x261)])[_0xfc521f(0x8c)](filter(_0x223398=>!_0x223398))[_0xfc521f(0xb0)](()=>{const _0x2ca08e=_0xfc521f;this[_0x2ca08e(0x140)]();})));}get[_0x4f63e1(0x2b0)](){const _0x513719=_0x4f63e1;return this[_0x513719(0x22c)];}get[_0x4f63e1(0x231)](){const _0x37cf07=_0x4f63e1;return this[_0x37cf07(0x26d)]['getValue']();}[_0x4f63e1(0x168)](){const _0xc06cb0=_0x4f63e1;var _0x53030a;super['dispose'](),this[_0xc06cb0(0x26d)]['next'](!0x1),this[_0xc06cb0(0x26d)][_0xc06cb0(0x1ca)](),this[_0xc06cb0(0x152)][_0xc06cb0(0x1ca)](),(_0x53030a=this['_closeDisposable'])==null||_0x53030a[_0xc06cb0(0x168)]();}['open'](){const _0x3a4c45=_0x4f63e1;this[_0x3a4c45(0x26d)]['next'](!0x0);}[_0x4f63e1(0x140)](){const _0x35269f=_0x4f63e1;var _0x58ca64;this[_0x35269f(0x26d)][_0x35269f(0x8a)](!0x1),(_0x58ca64=this[_0x35269f(0x2bd)])==null||_0x58ca64[_0x35269f(0x168)]();}[_0x4f63e1(0x1c0)](_0x554c8f){this['_closeDisposable']=toDisposable(()=>{const _0x2449f7=_0x4874;_0x554c8f[_0x2449f7(0x168)](),this[_0x2449f7(0x2bd)]=null;});}['setActiveRule'](_0x1cb507){const _0x33a7d7=_0x4f63e1;this[_0x33a7d7(0x22c)]=_0x1cb507,this['_activeRule$']['next'](_0x1cb507);}},__name(_a2,_0x4f63e1(0x1d9)),_a2);DataValidationPanelService=__decorateClass$d([__decorateParam$d(0x0,IUniverInstanceService),__decorateParam$d(0x1,ISidebarService)],DataValidationPanelService);function CellDropdown(){const _0x288b36=_0x4f63e1,_0x3bd0e9=useDependency(DataValidationDropdownManagerService),_0x250f08=useObservable(_0x3bd0e9[_0x288b36(0x27a)],_0x3bd0e9[_0x288b36(0x1ba)]),_0x2080dd=useDependency(ComponentManager);if(!_0x250f08)return null;const {location:_0x338017,componentKey:_0x2b7215}=_0x250f08,_0x5b6a08=_0x2080dd[_0x288b36(0x29c)](_0x2b7215),_0x55a874=_0x338017[_0x288b36(0x24f)]+'-'+_0x338017[_0x288b36(0x1b8)]+'-'+_0x338017[_0x288b36(0xf1)]+'-'+_0x338017['col'];if(!_0x5b6a08)return null;const _0x552a9b=__name(()=>{_0x3bd0e9['hideDropdown']();},_0x288b36(0x2d2));return jsxRuntimeExports[_0x288b36(0xe9)](_0x5b6a08,{'location':_0x338017,'hideFn':_0x552a9b},_0x55a874);}__name(CellDropdown,'CellDropdown');const DROP_DOWN_KEY=_0x4f63e1(0x109);var __defProp$c=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$c=Object[_0x4f63e1(0x21b)],__decorateClass$c=__name((_0x4829b0,_0x52cca5,_0x3fe3d4,_0x453596)=>{for(var _0x24379e=_0x453596>0x1?void 0x0:_0x453596?__getOwnPropDesc$c(_0x52cca5,_0x3fe3d4):_0x52cca5,_0x3c913b=_0x4829b0['length']-0x1,_0x310642;_0x3c913b>=0x0;_0x3c913b--)(_0x310642=_0x4829b0[_0x3c913b])&&(_0x24379e=(_0x453596?_0x310642(_0x52cca5,_0x3fe3d4,_0x24379e):_0x310642(_0x24379e))||_0x24379e);return _0x453596&&_0x24379e&&__defProp$c(_0x52cca5,_0x3fe3d4,_0x24379e),_0x24379e;},_0x4f63e1(0x1ad)),__decorateParam$c=__name((_0x23daeb,_0x282a7e)=>(_0x29ad01,_0x259188)=>_0x282a7e(_0x29ad01,_0x259188,_0x23daeb),_0x4f63e1(0x132)),_a3;let DataValidationDropdownManagerService=(_a3=class extends Disposable{constructor(_0x220188,_0x182610,_0x5063a7,_0x4c8837,_0x2386f7,_0x454de9,_0x5b52fd){const _0x51d172=_0x4f63e1;super(),__publicField(this,_0x51d172(0x214)),__publicField(this,'_activeDropdown$',new Subject()),__publicField(this,'_currentPopup',null),__publicField(this,_0x51d172(0x27a),this[_0x51d172(0x14f)][_0x51d172(0x135)]()),__publicField(this,_0x51d172(0x15a),!0x1),(this[_0x51d172(0x9f)]=_0x220188,this[_0x51d172(0xa0)]=_0x182610,this[_0x51d172(0xbd)]=_0x5063a7,this[_0x51d172(0x2ab)]=_0x4c8837,this[_0x51d172(0x238)]=_0x2386f7,this[_0x51d172(0x11f)]=_0x454de9,this[_0x51d172(0x251)]=_0x5b52fd,this[_0x51d172(0x1a5)](),this[_0x51d172(0xc4)](),this[_0x51d172(0x2d7)](()=>{const _0xba5cb4=_0x51d172;this[_0xba5cb4(0x14f)]['complete']();}));}get[_0x4f63e1(0x1ba)](){const _0x1ebea6=_0x4f63e1;return this[_0x1ebea6(0x214)];}[_0x4f63e1(0x1a5)](){const _0x1cc6d8=_0x4f63e1;this['disposeWithMe'](this[_0x1cc6d8(0x2ab)][_0x1cc6d8(0x148)]['subscribe'](_0x1663b4=>{const _0x5b29e6=_0x1cc6d8;this[_0x5b29e6(0x15a)]=_0x1663b4,_0x1663b4&&this['hideDropdown']();}));}['_getDropdownByCell'](_0x5bc756,_0x4253a8,_0x38b6f5,_0x54700a){const _0x59a252=_0x4f63e1,_0xf429eb=_0x5bc756?this[_0x59a252(0xa0)][_0x59a252(0x276)](_0x5bc756,UniverInstanceType[_0x59a252(0x261)]):this[_0x59a252(0xa0)][_0x59a252(0x16a)](UniverInstanceType['UNIVER_SHEET']);if(!_0xf429eb)return;const _0x2ab6e5=_0x4253a8?_0xf429eb[_0x59a252(0x240)](_0x4253a8):_0xf429eb[_0x59a252(0x2fa)]();if(!_0x2ab6e5)return;const _0x4113a0=this[_0x59a252(0x11f)][_0x59a252(0x29d)](_0xf429eb[_0x59a252(0x87)](),_0x2ab6e5[_0x59a252(0x138)](),_0x38b6f5,_0x54700a);if(!_0x4113a0)return;const _0x405dc5=this['_dataValidatorRegistryService']['getValidatorItem'](_0x4113a0[_0x59a252(0x28a)]);return _0x405dc5==null?void 0x0:_0x405dc5[_0x59a252(0x27c)];}[_0x4f63e1(0xc4)](){const _0x47ed0f=_0x4f63e1;this[_0x47ed0f(0x2d7)](this[_0x47ed0f(0x251)][_0x47ed0f(0x2a6)][_0x47ed0f(0xb0)](_0x377f6e=>{const _0x59b8fd=_0x47ed0f;_0x377f6e&&_0x377f6e['every'](_0x2f195d=>!(_0x2f195d[_0x59b8fd(0x2fd)]&&this[_0x59b8fd(0x245)](_0x2f195d['primary'][_0x59b8fd(0x24f)],_0x2f195d[_0x59b8fd(0x2fd)][_0x59b8fd(0x127)],_0x2f195d[_0x59b8fd(0x2fd)][_0x59b8fd(0x292)],_0x2f195d['primary'][_0x59b8fd(0x268)])))&&this[_0x59b8fd(0x1eb)]();}));}[_0x4f63e1(0x1a3)](_0x3edb18,_0x5e9100=!0x0){const _0x19451d=_0x4f63e1,{location:_0x215c15}=_0x3edb18,{row:_0x50a34d,col:_0x156349,unitId:_0x57fe3b,subUnitId:_0x309798}=_0x215c15;if(this[_0x19451d(0x206)]&&this[_0x19451d(0x206)][_0x19451d(0x168)](),this[_0x19451d(0x15a)])return;this[_0x19451d(0x214)]=_0x3edb18,this[_0x19451d(0x14f)][_0x19451d(0x8a)](this[_0x19451d(0x214)]);const _0x4c623b=this[_0x19451d(0x238)][_0x19451d(0xb4)](DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),_0x3963d7=this[_0x19451d(0x9f)][_0x19451d(0x71)](_0x50a34d,_0x156349,{'componentKey':DROP_DOWN_KEY,'onClickOutside':__name(()=>{const _0x49c6dc=_0x19451d;_0x5e9100&&this[_0x49c6dc(0x1eb)]();},_0x19451d(0x98)),'offset':[0x0,0x3],'excludeOutside':[_0x4c623b==null?void 0x0:_0x4c623b[_0x19451d(0x2e3)]['getCanvasElement']()][_0x19451d(0x286)](Boolean)},_0x57fe3b,_0x309798);if(!_0x3963d7)throw new Error(_0x19451d(0x280));const _0xda8d91=new DisposableCollection();_0xda8d91[_0x19451d(0xbf)](_0x3963d7),_0xda8d91[_0x19451d(0xbf)]({'dispose':__name(()=>{const _0x41a00a=_0x19451d;var _0x2ddde6,_0xf30c03;(_0xf30c03=(_0x2ddde6=this[_0x41a00a(0x214)])==null?void 0x0:_0x2ddde6[_0x41a00a(0x172)])==null||_0xf30c03[_0x41a00a(0x2cb)](_0x2ddde6);},'dispose')}),this['_currentPopup']=_0xda8d91;}[_0x4f63e1(0x1eb)](){const _0x475672=_0x4f63e1;this[_0x475672(0x214)]&&(this[_0x475672(0x206)]&&this['_currentPopup'][_0x475672(0x168)](),this['_currentPopup']=null,this['_activeDropdown']=null,this[_0x475672(0x14f)][_0x475672(0x8a)](null));}[_0x4f63e1(0x262)](_0x2ba95c,_0xf81d8d,_0x45a824,_0x41a9d3,_0x3d3c3d){const _0x12e283=_0x4f63e1,_0x9473a7=this['_univerInstanceService'][_0x12e283(0x276)](_0x2ba95c,UniverInstanceType[_0x12e283(0x261)]);if(!_0x9473a7)return;const _0x23d4de=_0x9473a7[_0x12e283(0x240)](_0xf81d8d);if(!_0x23d4de)return;const _0xc5fdce=this[_0x12e283(0x11f)]['getRuleByLocation'](_0x9473a7[_0x12e283(0x87)](),_0x23d4de[_0x12e283(0x138)](),_0x45a824,_0x41a9d3);if(!_0xc5fdce)return;const _0x57553b=this['_dataValidatorRegistryService']['getValidatorItem'](_0xc5fdce[_0x12e283(0x28a)]);if(!_0x57553b||!_0x57553b['dropdown']){this[_0x12e283(0x1eb)]();return;}this[_0x12e283(0x1a3)]({'location':{'workbook':_0x9473a7,'worksheet':_0x23d4de,'row':_0x45a824,'col':_0x41a9d3,'unitId':_0x2ba95c,'subUnitId':_0xf81d8d},'componentKey':_0x57553b[_0x12e283(0x27c)],'onHide':_0x3d3c3d});}},__name(_a3,'DataValidationDropdownManagerService'),_a3);DataValidationDropdownManagerService=__decorateClass$c([__decorateParam$c(0x0,Inject(SheetCanvasPopManagerService)),__decorateParam$c(0x1,IUniverInstanceService),__decorateParam$c(0x2,Inject(DataValidatorRegistryService)),__decorateParam$c(0x3,IZenZoneService),__decorateParam$c(0x4,IRenderManagerService),__decorateParam$c(0x5,Inject(SheetDataValidationModel)),__decorateParam$c(0x6,Inject(SheetsSelectionsService))],DataValidationDropdownManagerService);const DATA_VALIDATION_PANEL=_0x4f63e1(0x241),OpenValidationPanelOperation={'id':_0x4f63e1(0x178),'type':CommandType[_0x4f63e1(0x2ff)],'handler'(_0x12a6dd,_0x57e847){const _0x35f1ea=_0x4f63e1;if(!_0x57e847)return!0x1;const {ruleId:_0x4bd06e,isAdd:_0x138f44}=_0x57e847,_0x59c9f5=_0x12a6dd[_0x35f1ea(0x29c)](DataValidationPanelService),_0x4eabf6=_0x12a6dd['get'](DataValidationModel),_0xf363e3=_0x12a6dd[_0x35f1ea(0x29c)](IUniverInstanceService),_0x43d2a6=_0x12a6dd['get'](ISidebarService),_0x427275=getSheetCommandTarget(_0xf363e3);if(!_0x427275)return!0x1;const {unitId:_0x51344e,subUnitId:_0x55db00}=_0x427275,_0x3eeb32=_0x4bd06e?_0x4eabf6[_0x35f1ea(0x25b)](_0x51344e,_0x55db00,_0x4bd06e):void 0x0;_0x59c9f5[_0x35f1ea(0xf5)](),_0x59c9f5[_0x35f1ea(0x2a5)](_0x3eeb32&&{'unitId':_0x51344e,'subUnitId':_0x55db00,'rule':_0x3eeb32});const _0x2aef2d=_0x43d2a6[_0x35f1ea(0xf5)]({'header':{'title':_0x138f44?_0x35f1ea(0xdb):_0x35f1ea(0x2f8)},'children':{'label':DATA_VALIDATION_PANEL},'width':0x138,'onClose':__name(()=>_0x59c9f5[_0x35f1ea(0x140)](),'onClose')});return _0x59c9f5[_0x35f1ea(0x1c0)](_0x2aef2d),!0x0;}},CloseValidationPanelOperation={'id':_0x4f63e1(0x19a),'type':CommandType['OPERATION'],'handler'(_0x162272){return _0x162272['get'](DataValidationPanelService)['close'](),!0x0;}},ToggleValidationPanelOperation={'id':'data-validation.operation.toggle-validation-panel','type':CommandType[_0x4f63e1(0x2ff)],'handler'(_0x2a7340){const _0x22b5c2=_0x4f63e1,_0x5a97e3=_0x2a7340[_0x22b5c2(0x29c)](ICommandService),_0x79b240=_0x2a7340['get'](DataValidationPanelService);return _0x79b240['open'](),_0x79b240[_0x22b5c2(0x231)]?_0x5a97e3[_0x22b5c2(0x293)](CloseValidationPanelOperation['id']):_0x5a97e3[_0x22b5c2(0x293)](OpenValidationPanelOperation['id']),!0x0;}},ShowDataValidationDropdown={'type':CommandType['OPERATION'],'id':_0x4f63e1(0x169),'handler'(_0x50cebb,_0x407c32){const _0x1bde90=_0x4f63e1;if(!_0x407c32)return!0x1;const _0x31dd19=_0x50cebb[_0x1bde90(0x29c)](DataValidationDropdownManagerService),{unitId:_0x49f0e4,subUnitId:_0x36980a,row:_0x5b37b4,column:_0x2d3eea}=_0x407c32,_0x177d8d=_0x31dd19[_0x1bde90(0x1ba)],_0x344ce9=_0x177d8d==null?void 0x0:_0x177d8d['location'];return _0x344ce9&&_0x344ce9[_0x1bde90(0x24f)]===_0x49f0e4&&_0x344ce9[_0x1bde90(0x1b8)]===_0x36980a&&_0x344ce9[_0x1bde90(0xf1)]===_0x5b37b4&&_0x344ce9[_0x1bde90(0x2cf)]===_0x2d3eea||_0x31dd19[_0x1bde90(0x262)](_0x49f0e4,_0x36980a,_0x5b37b4,_0x2d3eea),!0x0;}},HideDataValidationDropdown={'type':CommandType['OPERATION'],'id':'sheet.operation.hide-data-validation-dropdown','handler'(_0x31ff1e,_0x358729){const _0xa9d83a=_0x4f63e1;return _0x358729?(_0x31ff1e['get'](DataValidationDropdownManagerService)[_0xa9d83a(0x1eb)](),!0x0):!0x1;}},DROP_DOWN_DEFAULT_COLOR='#ECECEC',PLUGIN_CONFIG_KEY='sheets-data-validation.config',defaultPluginConfig={},dvListDropdown=_0x4f63e1(0x23e),dvListDropdownTitle=_0x4f63e1(0x2d3),dvListDropdownList='univer-dv-list-dropdown-list',dvListDropdownListContainer='univer-dv-list-dropdown-list-container',dvListDropdownSelectedIcon='univer-dv-list-dropdown-selected-icon',dvListDropdownItemContainer=_0x4f63e1(0x2b9),dvListDropdownItem=_0x4f63e1(0xdd),dvListDropdownSplit=_0x4f63e1(0x121),dvListDropdownEdit='univer-dv-list-dropdown-edit',styles$5={'dvListDropdown':dvListDropdown,'dvListDropdownTitle':dvListDropdownTitle,'dvListDropdownList':dvListDropdownList,'dvListDropdownListContainer':dvListDropdownListContainer,'dvListDropdownSelectedIcon':dvListDropdownSelectedIcon,'dvListDropdownItemContainer':dvListDropdownItemContainer,'dvListDropdownItem':dvListDropdownItem,'dvListDropdownSplit':dvListDropdownSplit,'dvListDropdownEdit':dvListDropdownEdit},SelectList=__name(_0x3e0bf7=>{const _0x2a81e4=_0x4f63e1;var _0x3fd7f3,_0x5e3616;const {value:_0x352585,onChange:_0x14b0bf,multiple:_0x4e65ca,options:_0x1eb704,title:_0x206d71,onEdit:_0x4d0b08,style:_0x427f2c,filter:_0x57a8fa,location:_0x302e46}=_0x3e0bf7,_0x25b393=useDependency(LocaleService),_0x3ed913=useDependency(IConfigService),_0x5ab793=_0x57a8fa==null?void 0x0:_0x57a8fa[_0x2a81e4(0x1b7)](),{row:_0x589b69,col:_0x582556,unitId:_0x442053,subUnitId:_0x138740}=_0x302e46,_0xde1bea=_0x1eb704[_0x2a81e4(0x286)](_0x2c7512=>_0x5ab793?_0x2c7512[_0x2a81e4(0x284)][_0x2a81e4(0x1b7)]()[_0x2a81e4(0x1f4)](_0x5ab793):!0x0),_0x4726fd=(_0x5e3616=(_0x3fd7f3=_0x3ed913[_0x2a81e4(0x25f)](PLUGIN_CONFIG_KEY))==null?void 0x0:_0x3fd7f3[_0x2a81e4(0x9e)])!=null?_0x5e3616:!0x0,_0x37315=useDependency(SheetPermissionInterceptorBaseController),_0x1c609a=useMemo(()=>_0x37315[_0x2a81e4(0x2bb)]({'workbookTypes':[WorkbookEditablePermission],'rangeTypes':[RangeProtectionPermissionEditPoint],'worksheetTypes':[WorksheetEditPermission]},[{'startColumn':_0x582556,'startRow':_0x589b69,'endColumn':_0x582556,'endRow':_0x589b69}],_0x442053,_0x138740),[_0x37315,_0x582556,_0x589b69,_0x442053,_0x138740]);return jsxRuntimeExports[_0x2a81e4(0x18c)](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0x1f1)],'style':_0x427f2c,'children':[jsxRuntimeExports['jsx'](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0x1a7)],'children':_0x206d71}),jsxRuntimeExports['jsx'](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0x197)],'children':jsxRuntimeExports[_0x2a81e4(0xe9)](Scrollbar,{'children':jsxRuntimeExports[_0x2a81e4(0xe9)]('div',{'className':styles$5[_0x2a81e4(0x22d)],'children':_0xde1bea[_0x2a81e4(0xe5)]((_0x310298,_0x21d711)=>{const _0x44346d=_0x2a81e4,_0x582e21=_0x352585[_0x44346d(0xea)](_0x310298[_0x44346d(0x24d)])>-0x1,_0x2dc2a2=__name(()=>{const _0x3112dd=_0x44346d;let _0x300678;_0x582e21?_0x300678=new Set(_0x352585[_0x3112dd(0x286)](_0x34e4bd=>_0x34e4bd!==_0x310298[_0x3112dd(0x24d)])):_0x300678=new Set(_0x4e65ca?[..._0x352585,_0x310298['value']]:[_0x310298[_0x3112dd(0x24d)]]);const _0x1437d8=[];_0x1eb704[_0x3112dd(0xc9)](_0xf9de5e=>{const _0x37497b=_0x3112dd;_0x300678[_0x37497b(0x1ed)](_0xf9de5e[_0x37497b(0x24d)])&&_0x1437d8[_0x37497b(0x12f)](_0xf9de5e[_0x37497b(0x24d)]);}),_0x14b0bf(_0x1437d8);},_0x44346d(0x2df)),_0x3e05c9=_0x310298[_0x44346d(0x284)]['toLocaleLowerCase']()['indexOf'](_0x5ab793);return jsxRuntimeExports['jsxs'](_0x44346d(0x1ce),{'className':styles$5[_0x44346d(0x207)],'onClick':_0x2dc2a2,'children':[jsxRuntimeExports['jsx'](_0x44346d(0x1ce),{'className':styles$5[_0x44346d(0x156)],'style':{'background':_0x310298['color']||DROP_DOWN_DEFAULT_COLOR},'children':_0x5ab793&&_0x310298[_0x44346d(0x284)][_0x44346d(0x1b7)]()[_0x44346d(0x1f4)](_0x5ab793)?jsxRuntimeExports['jsxs'](jsxRuntimeExports[_0x44346d(0x316)],{'children':[jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0xda),{'children':_0x310298[_0x44346d(0x284)]['substring'](0x0,_0x3e05c9)}),jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0xda),{'style':{'fontWeight':_0x44346d(0xae)},'children':_0x310298['label'][_0x44346d(0x26a)](_0x3e05c9,_0x3e05c9+_0x5ab793[_0x44346d(0x18a)])}),jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0xda),{'children':_0x310298[_0x44346d(0x284)][_0x44346d(0x26a)](_0x3e05c9+_0x5ab793[_0x44346d(0x18a)])})]}):_0x310298[_0x44346d(0x284)]}),jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0x1ce),{'className':styles$5[_0x44346d(0x1c9)],'children':_0x582e21?jsxRuntimeExports[_0x44346d(0xe9)](CheckMarkSingle,{}):null})]},_0x21d711);})})},_0x57a8fa)}),_0x4726fd&&_0x1c609a?jsxRuntimeExports[_0x2a81e4(0x18c)](jsxRuntimeExports['Fragment'],{'children':[jsxRuntimeExports[_0x2a81e4(0xe9)](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0xcd)]}),jsxRuntimeExports[_0x2a81e4(0xe9)]('div',{'className':styles$5[_0x2a81e4(0x26e)],'children':jsxRuntimeExports['jsx']('a',{'onClick':_0x4d0b08,'children':_0x25b393['t'](_0x2a81e4(0x217))})})]}):null]});},_0x4f63e1(0xee));function ListDropDown(_0x197371){const _0x142314=_0x4f63e1;var _0x5407f0,_0x37e1ba;const {location:_0x50b48b,hideFn:_0x6e451c}=_0x197371,{worksheet:_0x1f99d2,row:_0x44e929,col:_0x19ae0c,unitId:_0x454b07,subUnitId:_0x33bf02}=_0x50b48b,_0x227ef4=useDependency(DataValidationModel),[_0x536acd,_0x34ab98]=useState(''),_0x1459e4=useDependency(ICommandService),_0x5817c2=useDependency(LocaleService),[_0x5903e3,_0x415eeb]=useState(''),_0x5f560c=useDependency(IEditorBridgeService),_0xd7a044=useDependency(IUniverInstanceService),_0x9d18ca=useMemo(()=>_0x227ef4[_0x142314(0xd0)][_0x142314(0x8c)](debounceTime(0x10)),[]);useObservable(_0x9d18ca);const _0x399535=RectPopup[_0x142314(0x166)](),_0x1fd46b=_0x399535[_0x142314(0x235)]-_0x399535[_0x142314(0x210)];if(useEffect(()=>{const _0x4540f7=_0x1459e4['onCommandExecuted'](_0x3c2f31=>{const _0x5c96d0=_0x4874;var _0x13d9ca,_0x1ea6d3;if(_0x3c2f31['id']===RichTextEditingMutation['id']){const _0x5c8afa=_0x3c2f31[_0x5c96d0(0x13e)],{unitId:_0x47b2e7}=_0x5c8afa,_0x1d2cd3=_0xd7a044[_0x5c96d0(0x276)](_0x47b2e7,UniverInstanceType['UNIVER_DOC']);if(!_0x1d2cd3)return;const _0x27e317=BuildTextUtils[_0x5c96d0(0xc0)][_0x5c96d0(0x2f3)]((_0x1ea6d3=(_0x13d9ca=_0x1d2cd3[_0x5c96d0(0xe7)]()[_0x5c96d0(0x29f)])==null?void 0x0:_0x13d9ca[_0x5c96d0(0x19f)])!=null?_0x1ea6d3:'');_0x34ab98(_0x27e317);}});return()=>{const _0x2676f9=_0x4874;_0x4540f7[_0x2676f9(0x168)]();};},[_0x1459e4,_0xd7a044]),!_0x1f99d2)return null;const _0x25bc27=_0x1f99d2[_0x142314(0x2b2)](_0x44e929,_0x19ae0c),_0x164afd=(_0x5407f0=_0x25bc27==null?void 0x0:_0x25bc27[_0x142314(0x2bf)])==null?void 0x0:_0x5407f0[_0x142314(0x201)],_0xb1ac2f=(_0x37e1ba=_0x25bc27==null?void 0x0:_0x25bc27[_0x142314(0x2bf)])==null?void 0x0:_0x37e1ba[_0x142314(0x16c)],_0x236d30=(_0x164afd==null?void 0x0:_0x164afd[_0x142314(0x1c7)])===DataValidationRenderMode['CUSTOM']||(_0x164afd==null?void 0x0:_0x164afd[_0x142314(0x1c7)])===void 0x0;if(!_0x25bc27||!_0x164afd||!_0xb1ac2f||_0xb1ac2f['id'][_0x142314(0xea)](DataValidationType['LIST'])!==0x0)return;const _0x3be38c=_0x164afd[_0x142314(0x28a)]===DataValidationType[_0x142314(0xf0)],_0x180e0b=_0xb1ac2f[_0x142314(0xd7)](_0x164afd,_0x454b07,_0x33bf02),_0x386717=_0x5903e3||getDataValidationCellValue(_0x1f99d2[_0x142314(0x167)](_0x44e929,_0x19ae0c)),_0x3d41f9=deserializeListOptions(_0x386717),_0x54abb5=__name(()=>{const _0x54c718=_0x142314;_0x1459e4['executeCommand'](OpenValidationPanelOperation['id'],{'ruleId':_0x164afd[_0x54c718(0x296)]}),_0x6e451c();},'handleEdit'),_0x125783=_0x180e0b[_0x142314(0xe5)](_0x354285=>({'label':_0x354285['label'],'value':_0x354285[_0x142314(0x284)],'color':_0x236d30?_0x354285[_0x142314(0x188)]:_0x142314(0x20f)}));return jsxRuntimeExports[_0x142314(0xe9)](SelectList,{'style':{'minWidth':_0x1fd46b,'maxWidth':Math[_0x142314(0x1b3)](_0x1fd46b,0xc8)},'title':_0x3be38c?_0x5817c2['t'](_0x142314(0x192)):_0x5817c2['t'](_0x142314(0xfb)),'value':_0x3d41f9,'multiple':_0x3be38c,'onChange':__name(_0x24467a=>{const _0x5b14ea=_0x142314,_0x282616=serializeListOptions(_0x24467a),_0x70e79e={'unitId':_0x454b07,'subUnitId':_0x33bf02,'range':{'startColumn':_0x19ae0c,'endColumn':_0x19ae0c,'startRow':_0x44e929,'endRow':_0x44e929},'value':{'v':_0x282616,'p':null,'f':null,'si':null}};_0x5f560c[_0x5b14ea(0x1fc)]()&&_0x5f560c[_0x5b14ea(0xa9)]({'visible':!0x1,'keycode':KeyCode[_0x5b14ea(0x157)],'eventType':DeviceInputEventType[_0x5b14ea(0x1da)],'unitId':_0x454b07}),_0x1459e4[_0x5b14ea(0x293)](SetRangeValuesCommand['id'],_0x70e79e),_0x415eeb(_0x282616),_0x3be38c||_0x6e451c();},_0x142314(0xd3)),'options':_0x125783,'onEdit':_0x54abb5,'filter':_0x536acd,'location':_0x50b48b});}__name(ListDropDown,_0x4f63e1(0x203));const dataValidationOptionsButton='univer-data-validation-options-button',dataValidationOptionsButtonIcon=_0x4f63e1(0xd4),styles$4={'dataValidationOptionsButton':dataValidationOptionsButton,'dataValidationOptionsButtonIcon':dataValidationOptionsButtonIcon};function DataValidationOptions(_0x1ec370){const _0x2bd333=_0x4f63e1;var _0x525eb8;const _0x44002a=useDependency(LocaleService),_0xa7a4fb=useDependency(ComponentManager),{value:_0x2c9afc,onChange:_0x55cfdd,extraComponent:_0x1028aa}=_0x1ec370,[_0x533ba1,_0x2a04c0]=useState(!0x1),_0x520d42=_0x1028aa?_0xa7a4fb['get'](_0x1028aa):null;return jsxRuntimeExports[_0x2bd333(0x18c)](jsxRuntimeExports[_0x2bd333(0x316)],{'children':[jsxRuntimeExports[_0x2bd333(0x18c)](_0x2bd333(0x1ce),{'className':styles$4[_0x2bd333(0x12c)],'onClick':__name(()=>_0x2a04c0(!_0x533ba1),_0x2bd333(0x30f)),'children':[_0x44002a['t'](_0x2bd333(0x2ca)),_0x533ba1?jsxRuntimeExports[_0x2bd333(0xe9)](MoreUpSingle,{'className':styles$4[_0x2bd333(0x196)]}):jsxRuntimeExports['jsx'](MoreDownSingle,{'className':styles$4[_0x2bd333(0x196)]})]}),_0x533ba1&&jsxRuntimeExports[_0x2bd333(0x18c)](jsxRuntimeExports[_0x2bd333(0x316)],{'children':[_0x520d42?jsxRuntimeExports[_0x2bd333(0xe9)](_0x520d42,{'value':_0x2c9afc,'onChange':_0x55cfdd}):null,jsxRuntimeExports['jsx'](FormLayout,{'label':_0x44002a['t']('dataValidation.panel.invalid'),'children':jsxRuntimeExports['jsxs'](RadioGroup,{'value':''+((_0x525eb8=_0x2c9afc[_0x2bd333(0x159)])!=null?_0x525eb8:DataValidationErrorStyle[_0x2bd333(0x2e8)]),'onChange':__name(_0x28ac5c=>_0x55cfdd({..._0x2c9afc,'errorStyle':+_0x28ac5c}),_0x2bd333(0xd3)),'children':[jsxRuntimeExports['jsx'](Radio,{'value':''+DataValidationErrorStyle['WARNING'],'children':_0x44002a['t']('dataValidation.panel.showWarning')}),jsxRuntimeExports[_0x2bd333(0xe9)](Radio,{'value':''+DataValidationErrorStyle['STOP'],'children':_0x44002a['t']('dataValidation.panel.rejectInput')})]})}),jsxRuntimeExports[_0x2bd333(0xe9)](FormLayout,{'label':_0x44002a['t'](_0x2bd333(0x208)),'children':jsxRuntimeExports[_0x2bd333(0xe9)](Checkbox,{'checked':_0x2c9afc[_0x2bd333(0x183)],'onChange':__name(()=>_0x55cfdd({..._0x2c9afc,'showErrorMessage':!_0x2c9afc[_0x2bd333(0x183)]}),_0x2bd333(0xd3)),'children':_0x44002a['t'](_0x2bd333(0x279))})}),_0x2c9afc[_0x2bd333(0x183)]?jsxRuntimeExports[_0x2bd333(0xe9)](FormLayout,{'children':jsxRuntimeExports[_0x2bd333(0xe9)](Input,{'value':_0x2c9afc[_0x2bd333(0x313)],'onChange':__name(_0x10e443=>_0x55cfdd({..._0x2c9afc,'error':_0x10e443}),'onChange')})}):null]})]});}__name(DataValidationOptions,_0x4f63e1(0x1e7));const dataValidationDetail=_0x4f63e1(0x314),dataValidationDetailFormItem=_0x4f63e1(0x19b),dataValidationDetailButtons=_0x4f63e1(0x212),dataValidationDetailButton=_0x4f63e1(0x297),styles$3={'dataValidationDetail':dataValidationDetail,'dataValidationDetailFormItem':dataValidationDetailFormItem,'dataValidationDetailButtons':dataValidationDetailButtons,'dataValidationDetailButton':dataValidationDetailButton},debounceExecuteFactory=__name(_0x40b169=>debounce(async(_0x291674,_0x4f02a6,_0x138560,_0x134be8)=>{const _0x2445ca=_0x4f63e1,_0x1aee90=await _0x40b169[_0x2445ca(0x293)](_0x291674,_0x4f02a6,_0x138560);_0x134be8==null||_0x134be8(_0x1aee90);},0x3e8),'debounceExecuteFactory');function DataValidationDetail(){const _0x11d68b=_0x4f63e1,[_0x3abf73,_0x2ef69c]=useState(0x0),_0x48f822=useDependency(DataValidationPanelService),_0x222336=useObservable(_0x48f822['activeRule$'],_0x48f822[_0x11d68b(0x2b0)]),{unitId:_0x2df611,subUnitId:_0x3f4d66,rule:_0x57360a}=_0x222336||{},_0x43f5b2=_0x57360a[_0x11d68b(0x296)],_0x501a00=useDependency(DataValidatorRegistryService),_0xb6a10d=useDependency(ComponentManager),_0xe6176d=useDependency(ICommandService),_0x1c3268=useDependency(DataValidationModel),_0x79d8ee=useDependency(LocaleService),[_0x1138c5,_0x21959c]=useState(_0x57360a),_0x3b496d=_0x501a00[_0x11d68b(0x90)](_0x1138c5[_0x11d68b(0x28a)]),[_0x4a9bba,_0x100185]=useState(!0x1),_0x4a1344=_0x501a00[_0x11d68b(0xc8)](DataValidatorRegistryScope['SHEET']),[_0x47843a,_0x1ebabe]=useState(()=>_0x1138c5[_0x11d68b(0x117)][_0x11d68b(0xe5)](_0x26ddbe=>({'unitId':'','sheetId':'','range':_0x26ddbe}))),_0x8d5a71=useMemo(()=>debounceExecuteFactory(_0xe6176d),[_0xe6176d]),_0x359ec9=useDependency(SheetsSelectionsService);if(useEffect(()=>()=>{const _0xa569cb=_0x11d68b,_0x147740=_0x359ec9[_0xa569cb(0xac)]();_0x147740&&_0x359ec9[_0xa569cb(0x112)]([_0x147740]);},[_0x359ec9]),useEffect(()=>{const _0xb8fda1=_0x11d68b;_0xe6176d[_0xb8fda1(0x23a)](_0x5c40a9=>{(_0x5c40a9['id']===UndoCommand['id']||_0x5c40a9['id']===RedoCommand['id'])&&setTimeout(()=>{const _0x234ebc=_0x4874,_0x1b06f0=_0x1c3268[_0x234ebc(0x25b)](_0x2df611,_0x3f4d66,_0x43f5b2);_0x2ef69c(_0x2ce9f8=>_0x2ce9f8+0x1),_0x1b06f0&&(_0x21959c(_0x1b06f0),_0x1ebabe(_0x1b06f0['ranges'][_0x234ebc(0xe5)](_0x36bbe7=>({'unitId':'','sheetId':'','range':_0x36bbe7}))));},0x14);});},[_0xe6176d,_0x1c3268,_0x43f5b2,_0x3f4d66,_0x2df611]),!_0x3b496d)return null;const _0x434eba=_0x3b496d[_0x11d68b(0x306)],_0x2db1a3=_0x3b496d[_0x11d68b(0x312)],_0x2c3774=_0x1138c5[_0x11d68b(0xf7)]?TWO_FORMULA_OPERATOR_COUNT[_0x11d68b(0x1f4)](_0x1138c5[_0x11d68b(0xf7)]):!0x1,_0xf204f=__name(()=>{const _0x24ef1c=_0x11d68b;_0x1138c5[_0x24ef1c(0x117)]['length']&&(_0x3b496d[_0x24ef1c(0x2b3)](_0x1138c5,_0x2df611,_0x3f4d66)[_0x24ef1c(0x1c1)]?_0x48f822['setActiveRule'](null):_0x100185(!0x0));},_0x11d68b(0x1dc)),_0x5b7ffd=useEvent(_0x3654ec=>{const _0x3e981e=_0x11d68b;if(isUnitRangesEqual(_0x3654ec,_0x47843a))return;_0x1ebabe(_0x3654ec);const _0x51a5a4=_0x3654ec[_0x3e981e(0x286)](_0x217d1d=>(!_0x217d1d[_0x3e981e(0x24f)]||_0x217d1d[_0x3e981e(0x24f)]===_0x2df611)&&(!_0x217d1d[_0x3e981e(0x127)]||_0x217d1d['sheetId']===_0x3f4d66))[_0x3e981e(0xe5)](_0x300b96=>_0x300b96['range']);if(_0x21959c({..._0x1138c5,'ranges':_0x51a5a4}),_0x51a5a4[_0x3e981e(0x18a)]===0x0)return;const _0x4b960e={'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2,'ranges':_0x51a5a4};_0x8d5a71(UpdateSheetDataValidationRangeCommand['id'],_0x4b960e);}),_0x390295=__name(_0x31f9a7=>{if(shallowEqual(_0x31f9a7,getRuleSetting(_0x1138c5)))return;_0x21959c({..._0x1138c5,..._0x31f9a7});const _0x59196c={'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2,'setting':_0x31f9a7};_0x8d5a71(UpdateSheetDataValidationSettingCommand['id'],_0x59196c,void 0x0);},_0x11d68b(0x171)),_0x37bc3a=__name(async()=>{const _0x88b8d9=_0x11d68b;await _0xe6176d[_0x88b8d9(0x293)](RemoveSheetDataValidationCommand['id'],{'ruleId':_0x43f5b2,'unitId':_0x2df611,'subUnitId':_0x3f4d66}),_0x48f822[_0x88b8d9(0x2a5)](null);},_0x11d68b(0xdc)),_0x4de81f={'type':_0x1138c5[_0x11d68b(0x28a)],'operator':_0x1138c5[_0x11d68b(0xf7)],'formula1':_0x1138c5[_0x11d68b(0x170)],'formula2':_0x1138c5['formula2'],'allowBlank':_0x1138c5[_0x11d68b(0x1a8)]},_0x39bcd4=__name(_0x3dcbc1=>{const _0x2b0a0c=_0x11d68b,_0x5e7758=_0x501a00['getValidatorItem'](_0x3dcbc1);if(!_0x5e7758)return;const _0x23bf12=_0x5e7758['operators'],_0x458c78=_0x1c3268[_0x2b0a0c(0x25b)](_0x2df611,_0x3f4d66,_0x43f5b2),_0x4b239d=_0x3dcbc1===(_0x458c78==null?void 0x0:_0x458c78['type'])||_0x3dcbc1[_0x2b0a0c(0x1f4)](_0x2b0a0c(0x2bc))&&(_0x458c78!=null&&_0x458c78[_0x2b0a0c(0x28a)]['includes'](_0x2b0a0c(0x2bc)))?{..._0x458c78,'type':_0x3dcbc1}:{..._0x1138c5,'type':_0x3dcbc1,'operator':_0x23bf12[0x0],'formula1':void 0x0,'formula2':void 0x0};_0x21959c(_0x4b239d),_0xe6176d[_0x2b0a0c(0x293)](UpdateSheetDataValidationSettingCommand['id'],{'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x1138c5[_0x2b0a0c(0x296)],'setting':getRuleSetting(_0x4b239d)});},'handleChangeType'),_0x42f3dc=_0xb6a10d[_0x11d68b(0x29c)](_0x3b496d[_0x11d68b(0xe3)]),_0x380d33=useMemo(()=>_0x47843a[_0x11d68b(0xe5)](_0x35a321=>serializeRange(_0x35a321['range']))[_0x11d68b(0x2e6)](','),[]),_0x539a8b=getRuleOptions(_0x1138c5),_0x1b0111=__name(_0x4e5d3c=>{shallowEqual(_0x4e5d3c,getRuleOptions(_0x1138c5))||(_0x21959c({..._0x1138c5,..._0x4e5d3c}),_0x8d5a71(UpdateSheetDataValidationOptionsCommand['id'],{'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2,'options':_0x4e5d3c}));},_0x11d68b(0x246));return jsxRuntimeExports['jsxs']('div',{'className':styles$3['dataValidationDetail'],'children':[jsxRuntimeExports[_0x11d68b(0xe9)](FormLayout,{'label':_0x79d8ee['t']('dataValidation.panel.range'),'error':_0x1138c5['ranges'][_0x11d68b(0x18a)]?'':_0x79d8ee['t']('dataValidation.panel.rangeError'),'children':jsxRuntimeExports[_0x11d68b(0xe9)](RangeSelector,{'className':styles$3['dataValidationDetailFormItem'],'value':_0x380d33,'id':createInternalEditorID('data-validation-detail'),'openForSheetUnitId':_0x2df611,'openForSheetSubUnitId':_0x3f4d66,'onChange':__name(_0x86bbe8=>{const _0x4763c1=_0x11d68b;_0x86bbe8['some'](_0x31107c=>!isValidRange(_0x31107c['range'])||_0x31107c[_0x4763c1(0x30e)]['endColumn']<_0x31107c[_0x4763c1(0x30e)][_0x4763c1(0x310)]||_0x31107c['range'][_0x4763c1(0x25c)]<_0x31107c[_0x4763c1(0x30e)][_0x4763c1(0x27e)])||_0x5b7ffd(_0x86bbe8);},_0x11d68b(0xd3))},_0x3abf73)}),jsxRuntimeExports[_0x11d68b(0xe9)](FormLayout,{'label':_0x79d8ee['t'](_0x11d68b(0x298)),'children':jsxRuntimeExports[_0x11d68b(0xe9)](Select,{'options':_0x4a1344==null?void 0x0:_0x4a1344[_0x11d68b(0xe5)](_0x2154a8=>({'label':_0x79d8ee['t'](_0x2154a8['title']),'value':_0x2154a8['id']})),'value':_0x1138c5[_0x11d68b(0x28a)],'onChange':_0x39bcd4,'className':styles$3[_0x11d68b(0x211)]})}),_0x434eba!=null&&_0x434eba['length']?jsxRuntimeExports[_0x11d68b(0xe9)](FormLayout,{'label':_0x79d8ee['t'](_0x11d68b(0x14b)),'children':jsxRuntimeExports[_0x11d68b(0xe9)](Select,{'options':_0x434eba[_0x11d68b(0xe5)]((_0x2a991e,_0x501027)=>({'value':''+_0x2a991e,'label':_0x2db1a3[_0x501027]})),'value':''+_0x1138c5[_0x11d68b(0xf7)],'onChange':__name(_0x2f11f0=>{_0x390295({..._0x4de81f,'operator':_0x2f11f0});},'onChange'),'className':styles$3['dataValidationDetailFormItem']})}):null,_0x42f3dc?jsxRuntimeExports[_0x11d68b(0xe9)](_0x42f3dc,{'isTwoFormula':_0x2c3774,'value':{'formula1':_0x1138c5[_0x11d68b(0x170)],'formula2':_0x1138c5[_0x11d68b(0x16b)]},'onChange':__name(_0x3263a8=>{_0x390295({..._0x4de81f,..._0x3263a8});},'onChange'),'showError':_0x4a9bba,'validResult':_0x3b496d[_0x11d68b(0x2b3)](_0x1138c5,_0x2df611,_0x3f4d66),'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2},_0x3abf73+_0x1138c5[_0x11d68b(0x28a)]):null,jsxRuntimeExports[_0x11d68b(0xe9)](DataValidationOptions,{'value':_0x539a8b,'onChange':_0x1b0111,'extraComponent':_0x3b496d[_0x11d68b(0x118)]}),jsxRuntimeExports[_0x11d68b(0x18c)](_0x11d68b(0x1ce),{'className':styles$3[_0x11d68b(0xc5)],'children':[jsxRuntimeExports[_0x11d68b(0xe9)](Button,{'className':styles$3[_0x11d68b(0x30d)],'onClick':_0x37bc3a,'children':_0x79d8ee['t'](_0x11d68b(0x2a0))}),jsxRuntimeExports['jsx'](Button,{'className':styles$3[_0x11d68b(0x30d)],'type':_0x11d68b(0x2fd),'onClick':_0xf204f,'children':_0x79d8ee['t']('dataValidation.panel.done')})]})]});}__name(DataValidationDetail,_0x4f63e1(0x105));const dataValidationItemContainer='univer-data-validation-item-container',dataValidationItemTitle=_0x4f63e1(0x108),dataValidationItemContent='univer-data-validation-item-content',dataValidationItemIcon=_0x4f63e1(0x21e),styles$2={'dataValidationItemContainer':dataValidationItemContainer,'dataValidationItemTitle':dataValidationItemTitle,'dataValidationItemContent':dataValidationItemContent,'dataValidationItemIcon':dataValidationItemIcon},DataValidationItem=__name(_0x3767f0=>{const _0x5d6934=_0x4f63e1,{rule:_0x29db1e,onClick:_0x3f675a,unitId:_0x84ed78,subUnitId:_0x371ae9,disable:_0x24becf}=_0x3767f0,_0x9f9bd1=useDependency(DataValidatorRegistryService),_0x28b304=useDependency(ICommandService),_0x517734=useDependency(IMarkSelectionService),_0x232852=_0x9f9bd1[_0x5d6934(0x90)](_0x29db1e['type']),_0x5d3eda=useRef(),[_0x80ffb3,_0x356630]=useState(!0x1),_0x421ddd=__name(_0x106ddf=>{const _0x3be8be=_0x5d6934;_0x28b304[_0x3be8be(0x293)](RemoveSheetDataValidationCommand['id'],{'ruleId':_0x29db1e[_0x3be8be(0x296)],'unitId':_0x84ed78,'subUnitId':_0x371ae9}),_0x106ddf[_0x3be8be(0x85)]();},_0x5d6934(0xdc));return useEffect(()=>()=>{const _0x5a1f86=_0x5d6934;var _0x4a607;_0x5d3eda['current']&&((_0x4a607=_0x5d3eda[_0x5a1f86(0xcf)])==null||_0x4a607[_0x5a1f86(0xc9)](_0x3b8e80=>{const _0x57ff27=_0x5a1f86;_0x3b8e80&&_0x517734[_0x57ff27(0x116)](_0x3b8e80);}));},[_0x517734]),jsxRuntimeExports[_0x5d6934(0x18c)](_0x5d6934(0x1ce),{'className':styles$2['dataValidationItemContainer'],'onClick':_0x3f675a,'onMouseEnter':__name(()=>{const _0x1bf469=_0x5d6934;_0x24becf||(_0x356630(!0x0),_0x5d3eda[_0x1bf469(0xcf)]=_0x29db1e['ranges']['map'](_0x1e72d9=>_0x517734[_0x1bf469(0x8d)]({'range':_0x1e72d9,'style':{'hasAutoFill':!0x1,'fill':_0x1bf469(0xaf),'strokeWidth':0x1,'stroke':'#49B811','widgets':{}},'primary':{'startColumn':_0x1e72d9[_0x1bf469(0x310)],'endColumn':_0x1e72d9[_0x1bf469(0x94)],'startRow':_0x1e72d9[_0x1bf469(0x27e)],'endRow':_0x1e72d9['endRow'],'actualRow':_0x1e72d9[_0x1bf469(0x27e)],'actualColumn':_0x1e72d9[_0x1bf469(0x310)],'isMerged':!0x1,'isMergedMainCell':!0x1}})));},'onMouseEnter'),'onMouseLeave':__name(()=>{const _0xd6537b=_0x5d6934;var _0x3368d6;_0x356630(!0x1),(_0x3368d6=_0x5d3eda[_0xd6537b(0xcf)])==null||_0x3368d6[_0xd6537b(0xc9)](_0x1ea2a0=>{const _0x12c6d2=_0xd6537b;_0x1ea2a0&&_0x517734[_0x12c6d2(0x116)](_0x1ea2a0);}),_0x5d3eda['current']=void 0x0;},'onMouseLeave'),'children':[jsxRuntimeExports[_0x5d6934(0xe9)](_0x5d6934(0x1ce),{'className':styles$2[_0x5d6934(0x2de)],'children':_0x232852==null?void 0x0:_0x232852['generateRuleName'](_0x29db1e)}),jsxRuntimeExports[_0x5d6934(0xe9)](_0x5d6934(0x1ce),{'className':styles$2[_0x5d6934(0x9c)],'children':_0x29db1e[_0x5d6934(0x117)]['map'](_0x58136e=>serializeRange(_0x58136e))[_0x5d6934(0x2e6)](',')}),_0x80ffb3?jsxRuntimeExports[_0x5d6934(0xe9)]('div',{'className':styles$2['dataValidationItemIcon'],'onClick':_0x421ddd,'children':jsxRuntimeExports[_0x5d6934(0xe9)](DeleteSingle,{})}):null]});},_0x4f63e1(0x225)),dataValidationList=_0x4f63e1(0xfc),dataValidationListButtons='univer-data-validation-list-buttons',dataValidationListButton=_0x4f63e1(0xc6),styles$1={'dataValidationList':dataValidationList,'dataValidationListButtons':dataValidationListButtons,'dataValidationListButton':dataValidationListButton};function DataValidationList(){const _0x51fd24=_0x4f63e1,_0x35ec4e=useDependency(IUniverInstanceService),_0x4f13e0=useObservable(()=>_0x35ec4e[_0x51fd24(0x2a7)](UniverInstanceType[_0x51fd24(0x261)]),void 0x0,void 0x0,[]);return _0x4f13e0?jsxRuntimeExports[_0x51fd24(0xe9)](DataValidationListWithWorkbook,{'workbook':_0x4f13e0}):null;}__name(DataValidationList,'DataValidationList');function DataValidationListWithWorkbook(_0x2c8cae){const _0x301a92=_0x4f63e1,_0x10ddb2=useDependency(SheetDataValidationModel),_0x5725e6=useDependency(IUniverInstanceService),_0x336167=useDependency(ICommandService),_0x3eb427=useDependency(Injector),_0x2f5a0c=useDependency(DataValidationPanelService),_0x11b859=useDependency(LocaleService),[_0xa66db9,_0x12be05]=useState([]),{workbook:_0xd9d639}=_0x2c8cae,_0x39d8bf=useObservable(_0xd9d639[_0x301a92(0x165)],void 0x0,!0x0),_0x500169=_0xd9d639[_0x301a92(0x87)](),_0x2ec831=_0x39d8bf==null?void 0x0:_0x39d8bf[_0x301a92(0x138)]();useEffect(()=>{const _0x81a1e1=_0x301a92;_0x12be05(_0x10ddb2[_0x81a1e1(0x1f2)](_0x500169,_0x2ec831));const _0xca6cc5=_0x10ddb2[_0x81a1e1(0xd0)][_0x81a1e1(0xb0)](_0x275fb8=>{const _0x16043d=_0x81a1e1;_0x275fb8[_0x16043d(0x24f)]===_0x500169&&_0x275fb8[_0x16043d(0x1b8)]===_0x2ec831&&_0x12be05(_0x10ddb2[_0x16043d(0x1f2)](_0x500169,_0x2ec831));});return()=>{const _0x128e55=_0x81a1e1;_0xca6cc5[_0x128e55(0x30b)]();};},[_0x500169,_0x2ec831,_0x10ddb2]);const _0x1db433=__name(async()=>{const _0x26e134=_0x301a92,_0x287702=createDefaultNewRule(_0x3eb427),_0x3045f8={'unitId':_0x500169,'subUnitId':_0x2ec831,'rule':_0x287702};await _0x336167[_0x26e134(0x293)](AddSheetDataValidationCommand['id'],_0x3045f8),_0x2f5a0c['setActiveRule']({'unitId':_0x500169,'subUnitId':_0x2ec831,'rule':_0x287702});},_0x301a92(0x79)),_0x11152f=__name(()=>{const _0x9644ac=_0x301a92;_0x336167[_0x9644ac(0x293)](RemoveSheetAllDataValidationCommand['id'],{'unitId':_0x500169,'subUnitId':_0x2ec831});},_0x301a92(0xb7)),_0x1cfa0b=__name(_0x577122=>{const _0x38f66e=_0x301a92,_0x3b6221=_0x5725e6[_0x38f66e(0x16a)](UniverInstanceType[_0x38f66e(0x261)]),_0x53adc8=_0x3b6221['getActiveSheet'](),_0x77cc57=_0x3b6221[_0x38f66e(0x87)](),_0x4e2e1a=_0x53adc8[_0x38f66e(0x138)]();return _0x577122['map'](_0x5af70d=>checkRangesEditablePermission(_0x3eb427,_0x77cc57,_0x4e2e1a,_0x5af70d[_0x38f66e(0x117)])?{..._0x5af70d}:{..._0x5af70d,'disable':!0x0});},'getDvRulesByPermissionCorrect')(_0xa66db9),_0x378abf=_0x1cfa0b==null?void 0x0:_0x1cfa0b[_0x301a92(0x2ce)](_0x50f390=>_0x50f390[_0x301a92(0x1e5)]);return jsxRuntimeExports[_0x301a92(0x18c)]('div',{'className':styles$1['dataValidationList'],'children':[_0x1cfa0b==null?void 0x0:_0x1cfa0b[_0x301a92(0xe5)](_0x56bf9b=>{const _0x522fe9=_0x301a92;var _0x5c5b59;return jsxRuntimeExports[_0x522fe9(0xe9)](DataValidationItem,{'unitId':_0x500169,'subUnitId':_0x2ec831,'onClick':__name(()=>{const _0xd351eb=_0x522fe9;_0x56bf9b[_0xd351eb(0x1e5)]||_0x2f5a0c['setActiveRule']({'unitId':_0x500169,'subUnitId':_0x2ec831,'rule':_0x56bf9b});},_0x522fe9(0x30f)),'rule':_0x56bf9b,'disable':(_0x5c5b59=_0x56bf9b[_0x522fe9(0x1e5)])!=null?_0x5c5b59:!0x1},_0x56bf9b[_0x522fe9(0x296)]);}),jsxRuntimeExports[_0x301a92(0x18c)](_0x301a92(0x1ce),{'className':styles$1[_0x301a92(0xb2)],'children':[_0xa66db9[_0x301a92(0x18a)]&&!_0x378abf?jsxRuntimeExports[_0x301a92(0xe9)](Button,{'className':styles$1[_0x301a92(0x2d9)],'onClick':_0x11152f,'children':_0x11b859['t'](_0x301a92(0x162))}):null,jsxRuntimeExports[_0x301a92(0xe9)](Button,{'className':styles$1[_0x301a92(0x2d9)],'type':'primary','onClick':_0x1db433,'children':_0x11b859['t'](_0x301a92(0x1f8))})]})]});}__name(DataValidationListWithWorkbook,_0x4f63e1(0x2ef));const DataValidationPanel=__name(()=>{const _0x1a66a7=_0x4f63e1,_0x5be56f=useDependency(DataValidationPanelService),_0x2489bc=useObservable(_0x5be56f[_0x1a66a7(0xc2)],_0x5be56f[_0x1a66a7(0x2b0)]);return _0x2489bc?jsxRuntimeExports[_0x1a66a7(0xe9)](DataValidationDetail,{},_0x2489bc['rule'][_0x1a66a7(0x296)]):jsxRuntimeExports[_0x1a66a7(0xe9)](DataValidationList,{});},_0x4f63e1(0x241)),LIST_DROPDOWN_KEY=_0x4f63e1(0x1b6),DATE_DROPDOWN_KEY='data-validation.date.dropdown',AddSheetDataValidationAndOpenCommand={'type':CommandType[_0x4f63e1(0x1d5)],'id':_0x4f63e1(0x1a2),async 'handler'(_0xf931b5){const _0x5cd4d4=_0x4f63e1,_0x35c20b=_0xf931b5['get'](IUniverInstanceService),_0x2fdf83=getSheetCommandTarget(_0x35c20b);if(!_0x2fdf83)return!0x1;const {workbook:_0x54b265,worksheet:_0x25c098}=_0x2fdf83,_0x4b1472=createDefaultNewRule(_0xf931b5),_0x1c1dd0=_0xf931b5['get'](ICommandService),_0x3a0a84=_0x54b265[_0x5cd4d4(0x87)](),_0x34435e=_0x25c098[_0x5cd4d4(0x138)](),_0x662ac1={'rule':_0x4b1472,'unitId':_0x3a0a84,'subUnitId':_0x34435e};return await _0x1c1dd0['executeCommand'](AddSheetDataValidationCommand['id'],_0x662ac1)?(_0x1c1dd0[_0x5cd4d4(0x293)](OpenValidationPanelOperation['id'],{'ruleId':_0x4b1472[_0x5cd4d4(0x296)],'isAdd':!0x0}),!0x0):!0x1;}};var __defProp$b=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$b=Object[_0x4f63e1(0x21b)],__decorateClass$b=__name((_0x35f0ac,_0x2e8f68,_0x3b1629,_0x480332)=>{for(var _0x43b7fd=_0x480332>0x1?void 0x0:_0x480332?__getOwnPropDesc$b(_0x2e8f68,_0x3b1629):_0x2e8f68,_0x1b7fd8=_0x35f0ac['length']-0x1,_0x39e359;_0x1b7fd8>=0x0;_0x1b7fd8--)(_0x39e359=_0x35f0ac[_0x1b7fd8])&&(_0x43b7fd=(_0x480332?_0x39e359(_0x2e8f68,_0x3b1629,_0x43b7fd):_0x39e359(_0x43b7fd))||_0x43b7fd);return _0x480332&&_0x43b7fd&&__defProp$b(_0x2e8f68,_0x3b1629,_0x43b7fd),_0x43b7fd;},_0x4f63e1(0x294)),__decorateParam$b=__name((_0x3eed86,_0x477cd1)=>(_0x32c7f1,_0x5062eb)=>_0x477cd1(_0x32c7f1,_0x5062eb,_0x3eed86),'__decorateParam$b');const ALERT_KEY=_0x4f63e1(0x278);var _a4;let DataValidationAlertController=(_a4=class extends Disposable{constructor(_0x3b463c,_0x58ec79,_0x5d9336,_0x16b1ba,_0x19d19b){const _0x54ed01=_0x4f63e1;super(),this[_0x54ed01(0x11b)]=_0x3b463c,this[_0x54ed01(0x2ea)]=_0x58ec79,this[_0x54ed01(0xa0)]=_0x5d9336,this[_0x54ed01(0x23f)]=_0x16b1ba,this['_zenZoneService']=_0x19d19b,this[_0x54ed01(0x1a5)]();}['_init'](){const _0x3cc06a=_0x4f63e1;this[_0x3cc06a(0x104)](),this[_0x3cc06a(0x2e9)]();}[_0x4f63e1(0x104)](){const _0x2dc9db=_0x4f63e1;this[_0x2dc9db(0x2d7)](this['_hoverManagerService'][_0x2dc9db(0x190)]['pipe'](debounceTime(0x64))[_0x2dc9db(0xb0)](_0x84b5f=>{const _0x4191cf=_0x2dc9db;var _0x3f7e34,_0x424fe4;if(_0x84b5f){const _0xf904e6=this[_0x4191cf(0xa0)][_0x4191cf(0x16a)](UniverInstanceType[_0x4191cf(0x261)])['getActiveSheet']();if(!_0xf904e6)return;const _0x49f7b0=_0xf904e6['getCell'](_0x84b5f[_0x4191cf(0x177)][_0x4191cf(0xf1)],_0x84b5f[_0x4191cf(0x177)]['col']);if(((_0x3f7e34=_0x49f7b0==null?void 0x0:_0x49f7b0['dataValidation'])==null?void 0x0:_0x3f7e34[_0x4191cf(0x9b)])===DataValidationStatus[_0x4191cf(0x143)]){const _0xda8335=this[_0x4191cf(0x2ea)][_0x4191cf(0x10e)][_0x4191cf(0x29c)](ALERT_KEY),_0x58de77=(_0x424fe4=_0xda8335==null?void 0x0:_0xda8335[_0x4191cf(0x1e2)])==null?void 0x0:_0x424fe4['location'];if(_0x58de77&&_0x58de77['row']===_0x84b5f[_0x4191cf(0x177)][_0x4191cf(0xf1)]&&_0x58de77['col']===_0x84b5f['location']['col']&&_0x58de77[_0x4191cf(0x1b8)]===_0x84b5f[_0x4191cf(0x177)]['subUnitId']&&_0x58de77[_0x4191cf(0x24f)]===_0x84b5f[_0x4191cf(0x177)][_0x4191cf(0x24f)])return;const _0x4ab3b1=_0x49f7b0[_0x4191cf(0x2bf)][_0x4191cf(0x16c)],_0x4f892d=_0x49f7b0[_0x4191cf(0x2bf)][_0x4191cf(0x201)];if(!_0x4ab3b1)return;this[_0x4191cf(0x2ea)][_0x4191cf(0x1db)]({'type':CellAlertType['ERROR'],'title':this[_0x4191cf(0x23f)]['t'](_0x4191cf(0x145)),'message':_0x4ab3b1==null?void 0x0:_0x4ab3b1['getRuleFinalError'](_0x4f892d),'location':_0x84b5f[_0x4191cf(0x177)],'width':0xc8,'height':0x4a,'key':ALERT_KEY});return;}}this[_0x4191cf(0x2ea)][_0x4191cf(0x1e0)](ALERT_KEY);}));}[_0x4f63e1(0x2e9)](){const _0x2190a7=_0x4f63e1;this['disposeWithMe'](this[_0x2190a7(0x2ab)]['visible$'][_0x2190a7(0xb0)](_0x4a653a=>{_0x4a653a&&this['_cellAlertManagerService']['removeAlert'](ALERT_KEY);}));}},__name(_a4,_0x4f63e1(0x2e2)),_a4);DataValidationAlertController=__decorateClass$b([__decorateParam$b(0x0,Inject(HoverManagerService)),__decorateParam$b(0x1,Inject(CellAlertManagerService)),__decorateParam$b(0x2,IUniverInstanceService),__decorateParam$b(0x3,Inject(LocaleService)),__decorateParam$b(0x4,IZenZoneService)],DataValidationAlertController);var __defProp$a=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$a=Object[_0x4f63e1(0x21b)],__decorateClass$a=__name((_0x1d182,_0x1b51e1,_0x5143f6,_0x13c62d)=>{const _0x508d26=_0x4f63e1;for(var _0x4ecd9e=_0x13c62d>0x1?void 0x0:_0x13c62d?__getOwnPropDesc$a(_0x1b51e1,_0x5143f6):_0x1b51e1,_0x41a0d6=_0x1d182[_0x508d26(0x18a)]-0x1,_0x2115b9;_0x41a0d6>=0x0;_0x41a0d6--)(_0x2115b9=_0x1d182[_0x41a0d6])&&(_0x4ecd9e=(_0x13c62d?_0x2115b9(_0x1b51e1,_0x5143f6,_0x4ecd9e):_0x2115b9(_0x4ecd9e))||_0x4ecd9e);return _0x13c62d&&_0x4ecd9e&&__defProp$a(_0x1b51e1,_0x5143f6,_0x4ecd9e),_0x4ecd9e;},_0x4f63e1(0x15f)),__decorateParam$a=__name((_0x14b50b,_0x5cf372)=>(_0xeae830,_0x4dbebe)=>_0x5cf372(_0xeae830,_0x4dbebe,_0x14b50b),_0x4f63e1(0x134)),_a5;let DataValidationAutoFillController=(_a5=class extends Disposable{constructor(_0x41c5dd,_0x342426,_0x1bedf7){const _0x5e07c2=_0x4f63e1;super(),this[_0x5e07c2(0x222)]=_0x41c5dd,this['_dataValidationModel']=_0x342426,this[_0x5e07c2(0x25d)]=_0x1bedf7,this[_0x5e07c2(0xef)]();}[_0x4f63e1(0xef)](){const _0x3ae8a4=_0x4f63e1,_0x19e688=__name(()=>({'redos':[],'undos':[]}),'noopReturnFunc'),_0x277e09=__name((_0x3318ad,_0x2343ee)=>{const _0x121229=_0x4874,{source:_0x1c7354,target:_0x2e0e76,unitId:_0x2b903d,subUnitId:_0x4893d4}=_0x3318ad,_0x1836a0=this[_0x121229(0x11f)][_0x121229(0x14d)](_0x2b903d,_0x4893d4)[_0x121229(0x1b0)](),_0x1f191b=virtualizeDiscreteRanges([_0x1c7354,_0x2e0e76]),[_0x3952db,_0x18899f]=_0x1f191b[_0x121229(0x117)],{mapFunc:_0x2e513c}=_0x1f191b,_0x421104={'row':_0x3952db[_0x121229(0x27e)],'col':_0x3952db[_0x121229(0x310)]},_0x25620d=getAutoFillRepeatRange(_0x3952db,_0x18899f),_0x13a00d=new ObjectMatrix(),_0x4349dd=new Set();_0x25620d['forEach'](_0x39fb1a=>{const _0x2d8ff4=_0x121229,_0x5cb1ab=_0x39fb1a[_0x2d8ff4(0x14c)],_0x19c1f5=_0x39fb1a[_0x2d8ff4(0x22f)],_0xb08b2d={'startRow':_0x421104[_0x2d8ff4(0xf1)],'startColumn':_0x421104[_0x2d8ff4(0x2cf)],'endColumn':_0x421104[_0x2d8ff4(0x2cf)],'endRow':_0x421104['row']},_0x2db8cd={'startRow':_0x5cb1ab[_0x2d8ff4(0xf1)],'startColumn':_0x5cb1ab['col'],'endColumn':_0x5cb1ab[_0x2d8ff4(0x2cf)],'endRow':_0x5cb1ab['row']};Range[_0x2d8ff4(0x2db)](_0x19c1f5,(_0x4d548e,_0x4e3de3)=>{const _0x1a719d=_0x2d8ff4,_0xbab011=Rectangle[_0x1a719d(0x2ac)]({'startRow':_0x4d548e,'startColumn':_0x4e3de3,'endColumn':_0x4e3de3,'endRow':_0x4d548e},_0xb08b2d),{row:_0x33481e,col:_0x3ac105}=_0x2e513c(_0xbab011[_0x1a719d(0x27e)],_0xbab011[_0x1a719d(0x310)]),_0x386697=this[_0x1a719d(0x11f)][_0x1a719d(0x10f)](_0x2b903d,_0x4893d4,_0x33481e,_0x3ac105);if(_0x386697){const _0x41a1ef=Rectangle[_0x1a719d(0x2ac)]({'startRow':_0x4d548e,'startColumn':_0x4e3de3,'endColumn':_0x4e3de3,'endRow':_0x4d548e},_0x2db8cd),{row:_0x5b7198,col:_0x585c8c}=_0x2e513c(_0x41a1ef[_0x1a719d(0x27e)],_0x41a1ef[_0x1a719d(0x310)]);_0x13a00d[_0x1a719d(0x1df)](_0x5b7198,_0x585c8c,_0x386697),_0x4349dd[_0x1a719d(0xbf)](_0x386697);}});});const _0xef735a=Array[_0x121229(0x229)](_0x4349dd)[_0x121229(0xe5)](_0xb372b9=>({'id':_0xb372b9,'ranges':queryObjectMatrix(_0x13a00d,_0x443ea3=>_0x443ea3===_0xb372b9)}));_0x1836a0[_0x121229(0x1d6)](_0xef735a);const _0x456710=_0x1836a0[_0x121229(0x227)](this[_0x121229(0x11f)][_0x121229(0x1f2)](_0x2b903d,_0x4893d4)),{redoMutations:_0x37cc2b,undoMutations:_0x45b4db}=getDataValidationDiffMutations(_0x2b903d,_0x4893d4,_0x456710,this[_0x121229(0x25d)],'patched',_0x2343ee===APPLY_TYPE['ONLY_FORMAT']);return{'undos':_0x45b4db,'redos':_0x37cc2b};},_0x3ae8a4(0xd8)),_0x1416f7=[DataValidationType[_0x3ae8a4(0x2b7)]],_0x34ff74={'id':DATA_VALIDATION_PLUGIN_NAME,'onBeforeFillData':__name(_0x53b3b5=>{const _0x64ae3f=_0x3ae8a4,{source:_0x4052c8,unitId:_0x13c594,subUnitId:_0x3ab7a1}=_0x53b3b5;for(const _0x2a26ba of _0x4052c8[_0x64ae3f(0x193)])for(const _0x434e84 of _0x4052c8[_0x64ae3f(0x181)]){const _0x2e4d65=this[_0x64ae3f(0x11f)][_0x64ae3f(0x29d)](_0x13c594,_0x3ab7a1,_0x2a26ba,_0x434e84);if(_0x2e4d65&&_0x1416f7[_0x64ae3f(0xea)](_0x2e4d65[_0x64ae3f(0x28a)])>-0x1){this['_autoFillService'][_0x64ae3f(0x2c4)](APPLY_TYPE[_0x64ae3f(0x160)],!0x0);return;}}},_0x3ae8a4(0x8f)),'onFillData':__name((_0x132df5,_0x452f99,_0x91c8dd)=>_0x91c8dd===APPLY_TYPE[_0x3ae8a4(0x73)]||_0x91c8dd===APPLY_TYPE[_0x3ae8a4(0x99)]||_0x91c8dd===APPLY_TYPE['SERIES']?_0x277e09(_0x132df5,_0x91c8dd):_0x19e688(),'onFillData'),'onAfterFillData':__name(()=>{},_0x3ae8a4(0x18b))};this[_0x3ae8a4(0x2d7)](this[_0x3ae8a4(0x222)][_0x3ae8a4(0x1e4)](_0x34ff74));}},__name(_a5,'DataValidationAutoFillController'),_a5);DataValidationAutoFillController=__decorateClass$a([__decorateParam$a(0x0,IAutoFillService),__decorateParam$a(0x1,Inject(SheetDataValidationModel)),__decorateParam$a(0x2,Inject(Injector))],DataValidationAutoFillController);var __defProp$9=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$9=Object[_0x4f63e1(0x21b)],__decorateClass$9=__name((_0x2fe4c8,_0x125bcc,_0x26079e,_0x1f8ac5)=>{const _0x4bd069=_0x4f63e1;for(var _0x4a159e=_0x1f8ac5>0x1?void 0x0:_0x1f8ac5?__getOwnPropDesc$9(_0x125bcc,_0x26079e):_0x125bcc,_0x5af150=_0x2fe4c8[_0x4bd069(0x18a)]-0x1,_0x392960;_0x5af150>=0x0;_0x5af150--)(_0x392960=_0x2fe4c8[_0x5af150])&&(_0x4a159e=(_0x1f8ac5?_0x392960(_0x125bcc,_0x26079e,_0x4a159e):_0x392960(_0x4a159e))||_0x4a159e);return _0x1f8ac5&&_0x4a159e&&__defProp$9(_0x125bcc,_0x26079e,_0x4a159e),_0x4a159e;},_0x4f63e1(0x2dc)),__decorateParam$9=__name((_0x5cf312,_0x4db61c)=>(_0x2c5548,_0x2963ae)=>_0x4db61c(_0x2c5548,_0x2963ae,_0x5cf312),_0x4f63e1(0x1a9)),_a6;let DataValidationCopyPasteController=(_a6=class extends Disposable{constructor(_0x5530b5,_0x58bbd5,_0x276b1e){const _0x176069=_0x4f63e1;super(),__publicField(this,'_copyInfo'),(this[_0x176069(0xe1)]=_0x5530b5,this[_0x176069(0x80)]=_0x58bbd5,this['_injector']=_0x276b1e,this['_initCopyPaste']());}[_0x4f63e1(0x1bf)](){const _0x203250=_0x4f63e1;this[_0x203250(0xe1)][_0x203250(0x23d)]({'id':DATA_VALIDATION_PLUGIN_NAME,'onBeforeCopy':__name((_0xa8d8d9,_0x4e630b,_0x1826aa)=>this[_0x203250(0x2dd)](_0xa8d8d9,_0x4e630b,_0x1826aa),_0x203250(0x6f)),'onPasteCells':__name((_0x3cc246,_0x334e00,_0x118319,_0x5c3ab9)=>{const _0x3bfa5f=_0x203250,{copyType:copyType=COPY_TYPE['COPY'],pasteType:_0x15ae58}=_0x5c3ab9,{range:_0x516d1a}=_0x3cc246||{},{range:_0x2dd06f,unitId:_0x43bd7f,subUnitId:_0x50f536}=_0x334e00;return this[_0x3bfa5f(0x1cc)](_0x2dd06f,{'copyType':copyType,'pasteType':_0x15ae58,'copyRange':_0x516d1a,'unitId':_0x43bd7f,'subUnitId':_0x50f536});},'onPasteCells')});}[_0x4f63e1(0x2dd)](_0x258062,_0x332ef4,_0x32a4b3){const _0x5ccfc8=_0x4f63e1,_0x208909=new ObjectMatrix();this[_0x5ccfc8(0xb9)]={'unitId':_0x258062,'subUnitId':_0x332ef4,'matrix':_0x208909};const _0x1ba39e=this[_0x5ccfc8(0x25d)][_0x5ccfc8(0x8b)](_0x568a6d=>rangeToDiscreteRange(_0x32a4b3,_0x568a6d,_0x258062,_0x332ef4));if(!_0x1ba39e)return;const {rows:_0x5ee472,cols:_0xd314f}=_0x1ba39e;_0x5ee472[_0x5ccfc8(0xc9)]((_0x5c1dbd,_0x19c0ea)=>{const _0x3e1464=_0x5ccfc8;_0xd314f[_0x3e1464(0xc9)]((_0x12bf97,_0x4673d3)=>{const _0x4071d3=_0x3e1464,_0x3f3892=this[_0x4071d3(0x80)][_0x4071d3(0x10f)](_0x258062,_0x332ef4,_0x5c1dbd,_0x12bf97);_0x208909[_0x4071d3(0x1df)](_0x19c0ea,_0x4673d3,_0x3f3892!=null?_0x3f3892:'');});});}['_generateMutations'](_0x57eabb,_0x387d79){const _0x209ae6=_0x4f63e1;if(!this['_copyInfo'])return{'redos':[],'undos':[]};if(_0x387d79['copyType']===COPY_TYPE['CUT'])return this[_0x209ae6(0xb9)]=null,{'redos':[],'undos':[]};if(!this[_0x209ae6(0xb9)]||!this[_0x209ae6(0xb9)][_0x209ae6(0x2aa)][_0x209ae6(0x2e1)]()||!_0x387d79[_0x209ae6(0x274)])return{'redos':[],'undos':[]};if([PREDEFINED_HOOK_NAME[_0x209ae6(0xcb)],PREDEFINED_HOOK_NAME['SPECIAL_PASTE_VALUE'],PREDEFINED_HOOK_NAME[_0x209ae6(0xa3)],PREDEFINED_HOOK_NAME[_0x209ae6(0x265)]][_0x209ae6(0x1f4)](_0x387d79[_0x209ae6(0x12a)]))return{'redos':[],'undos':[]};const {unitId:_0x5bd05b,subUnitId:_0x547912}=this[_0x209ae6(0xb9)];if(_0x387d79['unitId']!==_0x5bd05b||_0x547912!==_0x387d79[_0x209ae6(0x1b8)]){const _0x391576=this[_0x209ae6(0x80)]['getRuleObjectMatrix'](_0x387d79[_0x209ae6(0x24f)],_0x387d79[_0x209ae6(0x1b8)])[_0x209ae6(0x1b0)](),_0x56b3ae=new ObjectMatrix(),_0x18f177=new Set(),{ranges:[_0xbe2ce,_0x42537b],mapFunc:_0x2abbf5}=virtualizeDiscreteRanges([_0x387d79[_0x209ae6(0x274)],_0x57eabb]),_0x3d4204=getRepeatRange(_0xbe2ce,_0x42537b,!0x0),_0x4febab=new Map();_0x3d4204['forEach'](({startRange:_0x18e176})=>{const _0xc69309=_0x209ae6;var _0x2ab6b0;(_0x2ab6b0=this[_0xc69309(0xb9)])==null||_0x2ab6b0[_0xc69309(0x2aa)][_0xc69309(0xcc)]((_0x5f15a9,_0x4661d4,_0xb85342)=>{const _0x1f4158=_0xc69309,_0x172591=Rectangle['getPositionRange']({'startRow':_0x5f15a9,'endRow':_0x5f15a9,'startColumn':_0x4661d4,'endColumn':_0x4661d4},_0x18e176),_0x6a11ea=_0x547912+'-'+_0xb85342,_0x2a079a=this[_0x1f4158(0x80)][_0x1f4158(0x25b)](_0x5bd05b,_0x547912,_0xb85342);!this[_0x1f4158(0x80)][_0x1f4158(0x25b)](_0x387d79[_0x1f4158(0x24f)],_0x387d79[_0x1f4158(0x1b8)],_0x6a11ea)&&_0x2a079a&&_0x4febab['set'](_0x6a11ea,{..._0x2a079a,'uid':_0x6a11ea});const {row:_0x27ec54,col:_0x1ebb91}=_0x2abbf5(_0x172591['startRow'],_0x172591['startColumn']);_0x18f177['add'](_0x6a11ea),_0x56b3ae[_0x1f4158(0x1df)](_0x27ec54,_0x1ebb91,_0x6a11ea);});});const _0x4fc9cf=Array['from'](_0x18f177)['map'](_0x57489c=>({'id':_0x57489c,'ranges':queryObjectMatrix(_0x56b3ae,_0x27d841=>_0x27d841===_0x57489c)}));_0x391576['addRangeRules'](_0x4fc9cf);const {redoMutations:_0x1febae,undoMutations:_0x752021}=getDataValidationDiffMutations(_0x387d79[_0x209ae6(0x24f)],_0x387d79[_0x209ae6(0x1b8)],_0x391576[_0x209ae6(0x131)](this[_0x209ae6(0x80)]['getRules'](_0x387d79[_0x209ae6(0x24f)],_0x387d79[_0x209ae6(0x1b8)]),_0x4febab[_0x209ae6(0x96)]()),this[_0x209ae6(0x25d)],_0x209ae6(0x1e9));return{'redos':_0x1febae,'undos':_0x752021};}else{const _0x4fb5b1=this[_0x209ae6(0x80)][_0x209ae6(0x14d)](_0x5bd05b,_0x547912)[_0x209ae6(0x1b0)](),_0x131528=new ObjectMatrix(),_0x4a3434=new Set(),{ranges:[_0x4b9fa3,_0x2c7ee4],mapFunc:_0x2d6a52}=virtualizeDiscreteRanges([_0x387d79['copyRange'],_0x57eabb]);getRepeatRange(_0x4b9fa3,_0x2c7ee4,!0x0)[_0x209ae6(0xc9)](({startRange:_0x383ae5})=>{const _0x2f5470=_0x209ae6;var _0x24883c;(_0x24883c=this['_copyInfo'])==null||_0x24883c[_0x2f5470(0x2aa)][_0x2f5470(0xcc)]((_0x2daf34,_0x3c69c8,_0x394854)=>{const _0x399e8d=_0x2f5470,_0x559c54=Rectangle[_0x399e8d(0x2ac)]({'startRow':_0x2daf34,'endRow':_0x2daf34,'startColumn':_0x3c69c8,'endColumn':_0x3c69c8},_0x383ae5),{row:_0x55be96,col:_0x882ce8}=_0x2d6a52(_0x559c54[_0x399e8d(0x27e)],_0x559c54[_0x399e8d(0x310)]);_0x131528[_0x399e8d(0x1df)](_0x55be96,_0x882ce8,_0x394854),_0x4a3434['add'](_0x394854);});});const _0x443651=Array[_0x209ae6(0x229)](_0x4a3434)[_0x209ae6(0xe5)](_0x2ab60a=>({'id':_0x2ab60a,'ranges':queryObjectMatrix(_0x131528,_0x15f496=>_0x15f496===_0x2ab60a)}));_0x4fb5b1['addRangeRules'](_0x443651);const {redoMutations:_0x5447e2,undoMutations:_0x25bb1b}=getDataValidationDiffMutations(_0x5bd05b,_0x547912,_0x4fb5b1[_0x209ae6(0x227)](this['_sheetDataValidationModel'][_0x209ae6(0x1f2)](_0x5bd05b,_0x547912)),this[_0x209ae6(0x25d)],_0x209ae6(0x1e9));return{'redos':_0x5447e2,'undos':_0x25bb1b};}}},__name(_a6,_0x4f63e1(0x76)),_a6);DataValidationCopyPasteController=__decorateClass$9([__decorateParam$9(0x0,ISheetClipboardService),__decorateParam$9(0x1,Inject(SheetDataValidationModel)),__decorateParam$9(0x2,Inject(Injector))],DataValidationCopyPasteController);var __defProp$8=Object['defineProperty'],__getOwnPropDesc$8=Object['getOwnPropertyDescriptor'],__decorateClass$8=__name((_0x124c44,_0x572e03,_0x3543bd,_0x46f48b)=>{const _0x4dfccd=_0x4f63e1;for(var _0x2c660d=_0x46f48b>0x1?void 0x0:_0x46f48b?__getOwnPropDesc$8(_0x572e03,_0x3543bd):_0x572e03,_0xeb3182=_0x124c44[_0x4dfccd(0x18a)]-0x1,_0x223e39;_0xeb3182>=0x0;_0xeb3182--)(_0x223e39=_0x124c44[_0xeb3182])&&(_0x2c660d=(_0x46f48b?_0x223e39(_0x572e03,_0x3543bd,_0x2c660d):_0x223e39(_0x2c660d))||_0x2c660d);return _0x46f48b&&_0x2c660d&&__defProp$8(_0x572e03,_0x3543bd,_0x2c660d),_0x2c660d;},'__decorateClass$8'),__decorateParam$8=__name((_0xa66d25,_0x3a0497)=>(_0x50db12,_0x1b9097)=>_0x3a0497(_0x50db12,_0x1b9097,_0xa66d25),'__decorateParam$8'),_a7;let DataValidationPermissionController=(_a7=class extends Disposable{constructor(_0x27a5f4,_0x51bc9b,_0x541fc8){const _0x1c7a02=_0x4f63e1;super(),this[_0x1c7a02(0x23f)]=_0x27a5f4,this[_0x1c7a02(0x2d4)]=_0x51bc9b,this[_0x1c7a02(0x2d8)]=_0x541fc8,this[_0x1c7a02(0x111)]();}[_0x4f63e1(0x111)](){const _0x164174=_0x4f63e1;this[_0x164174(0x2d7)](this[_0x164174(0x2d4)][_0x164174(0x11e)](_0x38da02=>{const _0x27a6e3=_0x164174;_0x38da02['id']===AddSheetDataValidationCommand['id']&&(this[_0x27a6e3(0x2d8)]['permissionCheckWithRanges']({'workbookTypes':[WorkbookEditablePermission],'rangeTypes':[RangeProtectionPermissionEditPoint],'worksheetTypes':[WorksheetEditPermission,WorksheetSetCellStylePermission]})||this['_sheetPermissionInterceptorBaseController']['haveNotPermissionHandle'](this[_0x27a6e3(0x23f)]['t']('permission.dialog.setStyleErr'))),_0x38da02['id']===UpdateSheetDataValidationRangeCommand['id']&&(this[_0x27a6e3(0x2d8)][_0x27a6e3(0x2bb)]({'workbookTypes':[WorkbookEditablePermission],'rangeTypes':[RangeProtectionPermissionEditPoint],'worksheetTypes':[WorksheetEditPermission,WorksheetSetCellStylePermission]},_0x38da02['params'][_0x27a6e3(0x117)])||this[_0x27a6e3(0x2d8)][_0x27a6e3(0xb3)](this['_localeService']['t'](_0x27a6e3(0x11d))));}));}},__name(_a7,_0x4f63e1(0x158)),_a7);DataValidationPermissionController=__decorateClass$8([__decorateParam$8(0x0,Inject(LocaleService)),__decorateParam$8(0x1,ICommandService),__decorateParam$8(0x2,Inject(SheetPermissionInterceptorBaseController))],DataValidationPermissionController);const DataValidationIcon=_0x4f63e1(0x2b4),DATA_VALIDATION_MENU_ID='sheet.menu.data-validation';function dataValidationMenuFactory(_0x3fa9c4){const _0x442523=_0x4f63e1;return{'id':DATA_VALIDATION_MENU_ID,'type':MenuItemType[_0x442523(0xa5)],'icon':DataValidationIcon,'tooltip':_0x442523(0x6e),'hidden$':getMenuHiddenObservable(_0x3fa9c4,UniverInstanceType['UNIVER_SHEET']),'disabled$':getCurrentRangeDisable$(_0x3fa9c4,{'workbookTypes':[WorkbookEditablePermission],'worksheetTypes':[WorksheetSetCellStylePermission,WorksheetEditPermission],'rangeTypes':[RangeProtectionPermissionEditPoint]})};}__name(dataValidationMenuFactory,'dataValidationMenuFactory');function openDataValidationMenuFactory(_0x47a5b6){const _0x5a4928=_0x4f63e1;return{'id':OpenValidationPanelOperation['id'],'title':_0x5a4928(0x2f8),'type':MenuItemType[_0x5a4928(0xc3)]};}__name(openDataValidationMenuFactory,'openDataValidationMenuFactory');function addDataValidationMenuFactory(_0x29a9a5){const _0x4de83e=_0x4f63e1;return{'id':AddSheetDataValidationAndOpenCommand['id'],'title':'dataValidation.panel.add','type':MenuItemType[_0x4de83e(0xc3)]};}__name(addDataValidationMenuFactory,_0x4f63e1(0x1ae));function _0x4874(_0x43ad5f,_0x4c051b){const _0x3d2905=_0x3d29();return _0x4874=function(_0x48745f,_0x584b57){_0x48745f=_0x48745f-0x6e;let _0x5e5a19=_0x3d2905[_0x48745f];return _0x5e5a19;},_0x4874(_0x43ad5f,_0x4c051b);}const menuSchema={[RibbonStartGroup[_0x4f63e1(0x239)]]:{[DATA_VALIDATION_MENU_ID]:{'order':0x9,'menuItemFactory':dataValidationMenuFactory,[OpenValidationPanelOperation['id']]:{'order':0x0,'menuItemFactory':openDataValidationMenuFactory},[AddSheetDataValidationAndOpenCommand['id']]:{'order':0x1,'menuItemFactory':addDataValidationMenuFactory}}}};var __defProp$7=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$7=Object['getOwnPropertyDescriptor'],__decorateClass$7=__name((_0x356d10,_0x522cc,_0xaa2f35,_0x5539c5)=>{const _0x46bd1d=_0x4f63e1;for(var _0x3ee5ee=_0x5539c5>0x1?void 0x0:_0x5539c5?__getOwnPropDesc$7(_0x522cc,_0xaa2f35):_0x522cc,_0xc624fa=_0x356d10[_0x46bd1d(0x18a)]-0x1,_0x2dce45;_0xc624fa>=0x0;_0xc624fa--)(_0x2dce45=_0x356d10[_0xc624fa])&&(_0x3ee5ee=(_0x5539c5?_0x2dce45(_0x522cc,_0xaa2f35,_0x3ee5ee):_0x2dce45(_0x3ee5ee))||_0x3ee5ee);return _0x5539c5&&_0x3ee5ee&&__defProp$7(_0x522cc,_0xaa2f35,_0x3ee5ee),_0x3ee5ee;},_0x4f63e1(0x1bd)),__decorateParam$7=__name((_0x20dcd9,_0x118718)=>(_0x2f4906,_0x5136a5)=>_0x118718(_0x2f4906,_0x5136a5,_0x20dcd9),_0x4f63e1(0xe8));const INVALID_MARK={'tr':{'size':0x6,'color':_0x4f63e1(0x270)}};var _a8;let SheetsDataValidationRenderController=(_a8=class extends RxDisposable{constructor(_0x5b74a3,_0x2f967d,_0x2366bd,_0x23ae1d,_0x569384,_0x28e5c4,_0x1b5ffb,_0x51e013,_0x1001c9,_0x3d57ee){const _0x124663=_0x4f63e1;super(),this[_0x124663(0x2d4)]=_0x5b74a3,this[_0x124663(0xec)]=_0x2f967d,this[_0x124663(0x238)]=_0x2366bd,this[_0x124663(0xa0)]=_0x23ae1d,this[_0x124663(0x223)]=_0x569384,this[_0x124663(0x9a)]=_0x28e5c4,this[_0x124663(0x80)]=_0x1b5ffb,this[_0x124663(0xbd)]=_0x51e013,this[_0x124663(0x77)]=_0x1001c9,this[_0x124663(0x2cd)]=_0x3d57ee,this[_0x124663(0x1f0)](),this[_0x124663(0xa7)](),this['_initViewModelIntercept'](),this[_0x124663(0x17a)]();}[_0x4f63e1(0x1f0)](){const _0x1946c6=_0x4f63e1;this[_0x1946c6(0xec)][_0x1946c6(0x74)](menuSchema);}['_initDropdown'](){const _0x284f82=_0x4f63e1;this[_0x284f82(0x2cd)]&&this[_0x284f82(0x2d7)](this['_editorBridgeService'][_0x284f82(0x148)][_0x284f82(0xb0)](_0x25a055=>{const _0x43d109=_0x284f82;var _0x11b2d9;if(!_0x25a055[_0x43d109(0x27f)]){((_0x11b2d9=this[_0x43d109(0x9a)][_0x43d109(0x1ba)])==null?void 0x0:_0x11b2d9[_0x43d109(0x219)])===_0x43d109(0x307)&&this['_dropdownManagerService'][_0x43d109(0x1eb)]();return;}const _0x40b7d9=this[_0x43d109(0x2cd)][_0x43d109(0xf2)]();if(_0x40b7d9){const {unitId:_0x2dc29d,sheetId:_0x15626b,row:_0x52d0ff,column:_0x5949ec}=_0x40b7d9,_0x42b4cc=this[_0x43d109(0xa0)][_0x43d109(0x17e)](_0x2dc29d);if(!_0x42b4cc)return;const _0x2e17dc=this[_0x43d109(0x80)][_0x43d109(0x29d)](_0x2dc29d,_0x15626b,_0x52d0ff,_0x5949ec);if(!_0x2e17dc)return;const _0x6d062a=this[_0x43d109(0xbd)][_0x43d109(0x90)](_0x2e17dc[_0x43d109(0x28a)]);if(!(_0x6d062a!=null&&_0x6d062a[_0x43d109(0x27c)]))return;const _0x433ba7=_0x42b4cc[_0x43d109(0x2fa)]();if(!_0x433ba7)return;const _0x44b209=this[_0x43d109(0x9a)][_0x43d109(0x1ba)],_0x4dd129=_0x44b209==null?void 0x0:_0x44b209[_0x43d109(0x177)];if(_0x4dd129&&_0x4dd129[_0x43d109(0x24f)]===_0x2dc29d&&_0x4dd129[_0x43d109(0x1b8)]===_0x15626b&&_0x4dd129[_0x43d109(0xf1)]===_0x52d0ff&&_0x4dd129[_0x43d109(0x2cf)]===_0x5949ec)return;this[_0x43d109(0x9a)]['showDropdown']({'location':{'unitId':_0x2dc29d,'subUnitId':_0x15626b,'row':_0x52d0ff,'col':_0x5949ec,'workbook':_0x42b4cc,'worksheet':_0x433ba7},'componentKey':_0x6d062a['dropdown'],'onHide':__name(()=>{},'onHide'),'trigger':_0x43d109(0x307)},!0x1);}}));}[_0x4f63e1(0x1fd)](){const _0x3990ae=_0x4f63e1;this['disposeWithMe'](this[_0x3990ae(0x77)][_0x3990ae(0x13b)](INTERCEPTOR_POINT[_0x3990ae(0x237)],{'effect':InterceptorEffectEnum[_0x3990ae(0x139)],'priority':InterceptCellContentPriority[_0x3990ae(0x1aa)],'handler':__name((_0x4e2733,_0x35b038,_0x31609b)=>{const _0x4462c1=_0x3990ae;var _0x506baa,_0x45ec0e,_0x1f3aec,_0x393525;const {row:_0x148e0b,col:_0x359851,unitId:_0x22ce0e,subUnitId:_0x4a2441,workbook:_0x344eef,worksheet:_0xb0a7d4}=_0x35b038,_0x3d9a9f=this[_0x4462c1(0x80)][_0x4462c1(0x10f)](_0x22ce0e,_0x4a2441,_0x148e0b,_0x359851);if(!_0x3d9a9f)return _0x31609b(_0x4e2733);const _0x262a47=this['_sheetDataValidationModel'][_0x4462c1(0x25b)](_0x22ce0e,_0x4a2441,_0x3d9a9f);if(!_0x262a47)return _0x31609b(_0x4e2733);const _0x37b43e=this['_sheetDataValidationModel'][_0x4462c1(0x16c)](_0x4e2733,_0x262a47,_0x35b038),_0x1bb444=this[_0x4462c1(0xbd)]['getValidatorItem'](_0x262a47[_0x4462c1(0x28a)]),_0x5609bb=_0x35b038[_0x4462c1(0x2b6)];let _0x4589d0;const _0x16f468={get 'value'(){var _0x3aadcc;return _0x4589d0!==void 0x0||(_0x4589d0=(_0x3aadcc=getCellValueOrigin(_0x5609bb))!=null?_0x3aadcc:null),_0x4589d0;}},_0x290f40={get 'value'(){var _0x9a303c;return''+((_0x9a303c=_0x16f468['value'])!=null?_0x9a303c:'');}};return _0x31609b({..._0x4e2733,'dataValidation':{'ruleId':_0x3d9a9f,'validStatus':_0x37b43e,'rule':_0x262a47,'validator':_0x1bb444},'markers':{..._0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x21a)],..._0x37b43e===DataValidationStatus['INVALID']?INVALID_MARK:null},'customRender':[...(_0x506baa=_0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0xf6)])!=null?_0x506baa:[],..._0x1bb444!=null&&_0x1bb444[_0x4462c1(0xa6)]?[_0x1bb444[_0x4462c1(0xa6)]]:[]],'fontRenderExtension':{..._0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x129)],'isSkip':((_0x45ec0e=_0x4e2733==null?void 0x0:_0x4e2733['fontRenderExtension'])==null?void 0x0:_0x45ec0e[_0x4462c1(0x2c6)])||((_0x1f3aec=_0x1bb444==null?void 0x0:_0x1bb444[_0x4462c1(0x2be)])==null?void 0x0:_0x1f3aec['call'](_0x1bb444,_0x262a47,_0x16f468[_0x4462c1(0x24d)],_0x35b038))},'interceptorStyle':{..._0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x25e)],..._0x1bb444==null?void 0x0:_0x1bb444['getExtraStyle'](_0x262a47,_0x290f40['value'],{get 'style'(){const _0x3e60b3=_0x4462c1,_0x2fea4a=_0x344eef[_0x3e60b3(0x220)]();return(typeof(_0x4e2733==null?void 0x0:_0x4e2733['s'])=='string'?_0x2fea4a[_0x3e60b3(0x29c)](_0x4e2733==null?void 0x0:_0x4e2733['s']):_0x4e2733==null?void 0x0:_0x4e2733['s'])||{};}})},'interceptorAutoHeight':__name(()=>{const _0x3d07c2=_0x4462c1;var _0x548b55,_0x3ba307,_0x280130,_0x13550b,_0x27b5dd,_0x50ce24;const _0x1f0b4a=(_0x3ba307=(_0x548b55=this['_renderManagerService']['getRenderById'](_0x22ce0e))==null?void 0x0:_0x548b55['with'](SheetSkeletonManagerService)[_0x3d07c2(0x253)](_0x4a2441))==null?void 0x0:_0x3ba307['skeleton'];if(!_0x1f0b4a)return;const _0x32f624=_0x1f0b4a[_0x3d07c2(0x75)][_0x3d07c2(0x2f1)](_0x148e0b,_0x359851),_0x8f2a1f={'data':{..._0x4e2733,'dataValidation':{'ruleId':_0x3d9a9f,'validStatus':_0x37b43e,'rule':_0x262a47,'validator':_0x1bb444}},'style':_0x1f0b4a['getsStyles']()[_0x3d07c2(0x1c4)](_0x4e2733),'primaryWithCoord':_0x1f0b4a['getCellByIndex']((_0x280130=_0x32f624==null?void 0x0:_0x32f624[_0x3d07c2(0x27e)])!=null?_0x280130:_0x148e0b,(_0x13550b=_0x32f624==null?void 0x0:_0x32f624[_0x3d07c2(0x310)])!=null?_0x13550b:_0x359851),'unitId':_0x22ce0e,'subUnitId':_0x4a2441,'row':_0x148e0b,'col':_0x359851,'workbook':_0x344eef,'worksheet':_0xb0a7d4};return(_0x50ce24=(_0x27b5dd=_0x1bb444==null?void 0x0:_0x1bb444[_0x3d07c2(0xa6)])==null?void 0x0:_0x27b5dd[_0x3d07c2(0x1af)])==null?void 0x0:_0x50ce24[_0x3d07c2(0x2cb)](_0x27b5dd,_0x8f2a1f);},'interceptorAutoHeight'),'coverable':((_0x393525=_0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x305)])!=null?_0x393525:!0x0)&&!(_0x262a47[_0x4462c1(0x28a)]===DataValidationType[_0x4462c1(0x1ab)]||_0x262a47[_0x4462c1(0x28a)]===DataValidationType[_0x4462c1(0xf0)])});},'handler')}));}[_0x4f63e1(0x17a)](){const _0x123e5e=_0x4f63e1;this[_0x123e5e(0x80)][_0x123e5e(0xd0)][_0x123e5e(0x8c)](filter(_0x28c8f4=>_0x28c8f4[_0x123e5e(0x122)]===_0x123e5e(0x2d1)),bufferTime(0x10))[_0x123e5e(0xb0)](_0x28cf51=>{const _0x17baf6=_0x123e5e,_0x53b8cb=[];if(_0x28cf51[_0x17baf6(0xc9)](_0x5b53c6=>{const _0x5063b6=_0x17baf6;var _0x468bf2;(_0x468bf2=_0x5b53c6[_0x5063b6(0x201)])!=null&&_0x468bf2[_0x5063b6(0x117)]&&_0x53b8cb[_0x5063b6(0x12f)](..._0x5b53c6[_0x5063b6(0x201)][_0x5063b6(0x117)]);}),_0x53b8cb['length']){const _0x48abc4=this[_0x17baf6(0x223)][_0x17baf6(0x2c8)](_0x53b8cb);sequenceExecute(_0x48abc4[_0x17baf6(0x144)],this[_0x17baf6(0x2d4)]);}});}},__name(_a8,_0x4f63e1(0x301)),_a8);SheetsDataValidationRenderController=__decorateClass$7([__decorateParam$7(0x0,ICommandService),__decorateParam$7(0x1,IMenuManagerService),__decorateParam$7(0x2,IRenderManagerService),__decorateParam$7(0x3,IUniverInstanceService),__decorateParam$7(0x4,Inject(AutoHeightController)),__decorateParam$7(0x5,Inject(DataValidationDropdownManagerService)),__decorateParam$7(0x6,Inject(SheetDataValidationModel)),__decorateParam$7(0x7,Inject(DataValidatorRegistryService)),__decorateParam$7(0x8,Inject(SheetInterceptorService)),__decorateParam$7(0x9,Optional(IEditorBridgeService))],SheetsDataValidationRenderController);var _a9;let SheetsDataValidationMobileRenderController=(_a9=class extends RxDisposable{constructor(_0x34dca5,_0x1ba326,_0x2cf99d,_0x3a5ffd,_0x46cd6c,_0x3ba63a){const _0x464a93=_0x4f63e1;super(),this[_0x464a93(0x2d4)]=_0x34dca5,this[_0x464a93(0x238)]=_0x1ba326,this[_0x464a93(0x223)]=_0x2cf99d,this[_0x464a93(0xbd)]=_0x3a5ffd,this[_0x464a93(0x77)]=_0x46cd6c,this[_0x464a93(0x80)]=_0x3ba63a,this[_0x464a93(0x1fd)](),this[_0x464a93(0x17a)]();}[_0x4f63e1(0x1fd)](){const _0x338251=_0x4f63e1;this[_0x338251(0x2d7)](this[_0x338251(0x77)][_0x338251(0x13b)](INTERCEPTOR_POINT['CELL_CONTENT'],{'effect':InterceptorEffectEnum[_0x338251(0x139)],'priority':InterceptCellContentPriority[_0x338251(0x1aa)],'handler':__name((_0x38b5b3,_0x30f2c0,_0x40b5d1)=>{const _0x4d0df0=_0x338251;var _0x25a59e,_0x3c826b,_0x2ea7dd,_0xb98f94;const {row:_0x811b86,col:_0x3c9341,unitId:_0x2def51,subUnitId:_0x4eac67,workbook:_0x45937c,worksheet:_0x1dd64e}=_0x30f2c0,_0xa1e7bc=this[_0x4d0df0(0x80)]['getRuleIdByLocation'](_0x2def51,_0x4eac67,_0x811b86,_0x3c9341);if(!_0xa1e7bc)return _0x40b5d1(_0x38b5b3);const _0x1b297b=this['_sheetDataValidationModel'][_0x4d0df0(0x25b)](_0x2def51,_0x4eac67,_0xa1e7bc);if(!_0x1b297b)return _0x40b5d1(_0x38b5b3);const _0x3baaa0=this[_0x4d0df0(0x80)][_0x4d0df0(0x16c)](_0x38b5b3,_0x1b297b,_0x30f2c0),_0x5a9fa7=this[_0x4d0df0(0xbd)]['getValidatorItem'](_0x1b297b['type']),_0x3693f3=_0x1dd64e[_0x4d0df0(0x167)](_0x811b86,_0x3c9341),_0x3ef402=getCellValueOrigin(_0x3693f3),_0x19c7d5=''+(_0x3ef402!=null?_0x3ef402:'');return _0x40b5d1({..._0x38b5b3,'dataValidation':{'ruleId':_0xa1e7bc,'validStatus':_0x3baaa0,'rule':_0x1b297b,'validator':_0x5a9fa7},'markers':{..._0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x21a)],..._0x3baaa0===DataValidationStatus[_0x4d0df0(0x143)]?INVALID_MARK:null},'customRender':[...(_0x25a59e=_0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0xf6)])!=null?_0x25a59e:[],..._0x5a9fa7!=null&&_0x5a9fa7[_0x4d0df0(0xa6)]?[_0x5a9fa7[_0x4d0df0(0xa6)]]:[]],'fontRenderExtension':{..._0x38b5b3==null?void 0x0:_0x38b5b3['fontRenderExtension'],'isSkip':((_0x3c826b=_0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x129)])==null?void 0x0:_0x3c826b[_0x4d0df0(0x2c6)])||((_0x2ea7dd=_0x5a9fa7==null?void 0x0:_0x5a9fa7[_0x4d0df0(0x2be)])==null?void 0x0:_0x2ea7dd[_0x4d0df0(0x2cb)](_0x5a9fa7,_0x1b297b,_0x3ef402,_0x30f2c0))},'interceptorStyle':{..._0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x25e)],..._0x5a9fa7==null?void 0x0:_0x5a9fa7[_0x4d0df0(0x234)](_0x1b297b,_0x19c7d5,{get 'style'(){const _0x466a28=_0x4d0df0,_0x585cdf=_0x45937c[_0x466a28(0x220)]();return(typeof(_0x38b5b3==null?void 0x0:_0x38b5b3['s'])==_0x466a28(0xdf)?_0x585cdf['get'](_0x38b5b3==null?void 0x0:_0x38b5b3['s']):_0x38b5b3==null?void 0x0:_0x38b5b3['s'])||{};}})},'interceptorAutoHeight':__name(()=>{const _0x13ebe1=_0x4d0df0;var _0x46ba2c,_0xb9121d,_0x3bf966,_0x501f85,_0x3681a8,_0x1a2c5a;const _0xe67b6a=(_0xb9121d=(_0x46ba2c=this[_0x13ebe1(0x238)][_0x13ebe1(0xb4)](_0x2def51))==null?void 0x0:_0x46ba2c[_0x13ebe1(0x198)](SheetSkeletonManagerService)[_0x13ebe1(0x253)](_0x4eac67))==null?void 0x0:_0xb9121d['skeleton'];if(!_0xe67b6a)return;const _0x86bca6=_0xe67b6a['worksheet'][_0x13ebe1(0x2f1)](_0x811b86,_0x3c9341),_0x8a17ec={'data':{..._0x38b5b3,'dataValidation':{'ruleId':_0xa1e7bc,'validStatus':_0x3baaa0,'rule':_0x1b297b,'validator':_0x5a9fa7}},'style':_0xe67b6a['getsStyles']()[_0x13ebe1(0x1c4)](_0x38b5b3),'primaryWithCoord':_0xe67b6a[_0x13ebe1(0x200)]((_0x3bf966=_0x86bca6==null?void 0x0:_0x86bca6[_0x13ebe1(0x27e)])!=null?_0x3bf966:_0x811b86,(_0x501f85=_0x86bca6==null?void 0x0:_0x86bca6[_0x13ebe1(0x310)])!=null?_0x501f85:_0x3c9341),'unitId':_0x2def51,'subUnitId':_0x4eac67,'row':_0x811b86,'col':_0x3c9341,'workbook':_0x45937c,'worksheet':_0x1dd64e};return(_0x1a2c5a=(_0x3681a8=_0x5a9fa7==null?void 0x0:_0x5a9fa7[_0x13ebe1(0xa6)])==null?void 0x0:_0x3681a8[_0x13ebe1(0x1af)])==null?void 0x0:_0x1a2c5a['call'](_0x3681a8,_0x8a17ec);},_0x4d0df0(0x258)),'coverable':((_0xb98f94=_0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x305)])!=null?_0xb98f94:!0x0)&&!(_0x1b297b[_0x4d0df0(0x28a)]===DataValidationType[_0x4d0df0(0x1ab)]||_0x1b297b[_0x4d0df0(0x28a)]===DataValidationType[_0x4d0df0(0xf0)])});},_0x338251(0x266))}));}[_0x4f63e1(0x17a)](){const _0x17f8d2=_0x4f63e1;this[_0x17f8d2(0x80)]['ruleChange$']['pipe'](filter(_0x1cafd4=>_0x1cafd4['source']===_0x17f8d2(0x2d1)),bufferTime(0x10))[_0x17f8d2(0xb0)](_0x81688d=>{const _0x14e1b3=_0x17f8d2,_0x2ba75f=[];if(_0x81688d['forEach'](_0x37535b=>{const _0x26514c=_0x4874;var _0x29245b;(_0x29245b=_0x37535b['rule'])!=null&&_0x29245b[_0x26514c(0x117)]&&_0x2ba75f['push'](..._0x37535b[_0x26514c(0x201)][_0x26514c(0x117)]);}),_0x2ba75f[_0x14e1b3(0x18a)]){const _0x37f5a4=this[_0x14e1b3(0x223)]['getUndoRedoParamsOfAutoHeight'](_0x2ba75f);sequenceExecute(_0x37f5a4[_0x14e1b3(0x144)],this[_0x14e1b3(0x2d4)]);}});}},__name(_a9,_0x4f63e1(0x7a)),_a9);SheetsDataValidationMobileRenderController=__decorateClass$7([__decorateParam$7(0x0,ICommandService),__decorateParam$7(0x1,IRenderManagerService),__decorateParam$7(0x2,Inject(AutoHeightController)),__decorateParam$7(0x3,Inject(DataValidatorRegistryService)),__decorateParam$7(0x4,Inject(SheetInterceptorService)),__decorateParam$7(0x5,Inject(SheetDataValidationModel))],SheetsDataValidationMobileRenderController);const dataValidationFormula=_0x4f63e1(0x209),dataValidationFormulaAnd='univer-data-validation-formula-and',dataValidationFormulaListItem=_0x4f63e1(0x17b),dataValidationFormulaListItemIcon='univer-data-validation-formula-list-item-icon',dataValidationFormulaListItemDrag=_0x4f63e1(0x18e),dataValidationFormulaListAdd=_0x4f63e1(0x308),dataValidationFormulaColorSelect=_0x4f63e1(0xff),dataValidationFormulaColorSelectPanel=_0x4f63e1(0x2c9),dataValidationFormulaColorItem=_0x4f63e1(0x1a6),styles={'dataValidationFormula':dataValidationFormula,'dataValidationFormulaAnd':dataValidationFormulaAnd,'dataValidationFormulaListItem':dataValidationFormulaListItem,'dataValidationFormulaListItemIcon':dataValidationFormulaListItemIcon,'dataValidationFormulaListItemDrag':dataValidationFormulaListItemDrag,'dataValidationFormulaListAdd':dataValidationFormulaListAdd,'dataValidationFormulaColorSelect':dataValidationFormulaColorSelect,'dataValidationFormulaColorSelectPanel':dataValidationFormulaColorSelectPanel,'dataValidationFormulaColorItem':dataValidationFormulaColorItem},BaseFormulaInput=__name(_0x404984=>{const _0x38b496=_0x4f63e1,{isTwoFormula:isTwoFormula=!0x1,value:_0x337e8f,onChange:_0x5968c1,showError:_0xf9dc71,validResult:_0x30de21}=_0x404984,_0x2fe7a7=useDependency(LocaleService),_0x16a52c=_0xf9dc71?_0x30de21==null?void 0x0:_0x30de21[_0x38b496(0x170)]:'',_0x1ee79d=_0xf9dc71?_0x30de21==null?void 0x0:_0x30de21['formula2']:'';return isTwoFormula?jsxRuntimeExports[_0x38b496(0x18c)](jsxRuntimeExports[_0x38b496(0x316)],{'children':[jsxRuntimeExports['jsx'](FormLayout,{'error':_0x16a52c,'children':jsxRuntimeExports[_0x38b496(0xe9)](Input,{'className':styles[_0x38b496(0x1c2)],'placeholder':_0x2fe7a7['t']('dataValidation.panel.formulaPlaceholder'),'value':_0x337e8f==null?void 0x0:_0x337e8f['formula1'],'onChange':__name(_0x21f7f5=>{_0x5968c1==null||_0x5968c1({..._0x337e8f,'formula1':_0x21f7f5});},_0x38b496(0xd3))})}),jsxRuntimeExports[_0x38b496(0xe9)](_0x38b496(0x1ce),{'className':styles[_0x38b496(0x119)],'children':_0x2fe7a7['t']('dataValidation.panel.formulaAnd')}),jsxRuntimeExports[_0x38b496(0xe9)](FormLayout,{'error':_0x1ee79d,'children':jsxRuntimeExports[_0x38b496(0xe9)](Input,{'className':styles['dataValidationFormula'],'placeholder':_0x2fe7a7['t'](_0x38b496(0x1bc)),'value':_0x337e8f==null?void 0x0:_0x337e8f['formula2'],'onChange':__name(_0x2fb394=>{_0x5968c1==null||_0x5968c1({..._0x337e8f,'formula2':_0x2fb394});},_0x38b496(0xd3))})})]}):jsxRuntimeExports['jsx'](FormLayout,{'error':_0x16a52c,'children':jsxRuntimeExports[_0x38b496(0xe9)](Input,{'className':styles[_0x38b496(0x1c2)],'placeholder':_0x2fe7a7['t'](_0x38b496(0x1bc)),'value':_0x337e8f==null?void 0x0:_0x337e8f[_0x38b496(0x170)],'onChange':__name(_0x4eab89=>{_0x5968c1==null||_0x5968c1({'formula1':_0x4eab89});},'onChange')})});},'BaseFormulaInput');function CheckboxFormulaInput(_0x8738fa){const _0x4ad65a=_0x4f63e1,{value:_0xa27ef8,onChange:_0x481558,showError:_0x410a6e,validResult:_0x99fd88}=_0x8738fa,_0x495b04=useDependency(LocaleService),_0x42c35c=_0x410a6e?_0x99fd88==null?void 0x0:_0x99fd88['formula1']:'',_0x6d2c97=_0x410a6e?_0x99fd88==null?void 0x0:_0x99fd88['formula2']:'',[_0x2410af,_0x2dc523]=useState(!((_0xa27ef8==null?void 0x0:_0xa27ef8[_0x4ad65a(0x170)])===void 0x0&&(_0xa27ef8==null?void 0x0:_0xa27ef8[_0x4ad65a(0x16b)])===void 0x0));return jsxRuntimeExports[_0x4ad65a(0x18c)](jsxRuntimeExports['Fragment'],{'children':[jsxRuntimeExports['jsx'](FormLayout,{'children':jsxRuntimeExports[_0x4ad65a(0xe9)](Checkbox,{'checked':_0x2410af,'onChange':__name(_0x36d33f=>{_0x36d33f?_0x2dc523(!0x0):(_0x2dc523(!0x1),_0x481558==null||_0x481558({..._0xa27ef8,'formula1':void 0x0,'formula2':void 0x0}));},_0x4ad65a(0xd3)),'children':_0x495b04['t'](_0x4ad65a(0x86))})}),_0x2410af?jsxRuntimeExports['jsx'](FormLayout,{'label':_0x495b04['t'](_0x4ad65a(0x228)),'error':_0x42c35c,'children':jsxRuntimeExports['jsx'](Input,{'className':styles[_0x4ad65a(0x1c2)],'placeholder':_0x495b04['t']('dataValidation.panel.valuePlaceholder'),'value':_0xa27ef8==null?void 0x0:_0xa27ef8[_0x4ad65a(0x170)],'onChange':__name(_0x97c163=>{_0x481558==null||_0x481558({..._0xa27ef8,'formula1':_0x97c163||void 0x0});},_0x4ad65a(0xd3))})}):null,_0x2410af?jsxRuntimeExports['jsx'](FormLayout,{'label':_0x495b04['t']('dataValidation.checkbox.unchecked'),'error':_0x6d2c97,'children':jsxRuntimeExports['jsx'](Input,{'className':styles[_0x4ad65a(0x1c2)],'placeholder':_0x495b04['t'](_0x4ad65a(0x282)),'value':_0xa27ef8==null?void 0x0:_0xa27ef8['formula2'],'onChange':__name(_0x5d8671=>{_0x481558==null||_0x481558({..._0xa27ef8,'formula2':_0x5d8671||void 0x0});},_0x4ad65a(0xd3))})}):null]});}__name(CheckboxFormulaInput,_0x4f63e1(0x2b5));function CustomFormulaInput(_0x1acfbc){const _0x49a34c=_0x4f63e1;var _0x42ce26;const {unitId:_0xfed0c7,subUnitId:_0x74e8e1,value:_0xfcf05,onChange:_0x3621e8,showError:_0xd52578,validResult:_0x588ba3}=_0x1acfbc,_0x2e5753=_0xd52578?_0x588ba3==null?void 0x0:_0x588ba3[_0x49a34c(0x170)]:'';return jsxRuntimeExports[_0x49a34c(0xe9)](FormLayout,{'error':_0x2e5753,'children':jsxRuntimeExports[_0x49a34c(0xe9)](TextEditor,{'value':(_0x42ce26=_0xfcf05==null?void 0x0:_0xfcf05[_0x49a34c(0x170)])!=null?_0x42ce26:'','id':createInternalEditorID(_0x49a34c(0x26f)+_0xfed0c7+'-'+_0x74e8e1),'onChange':__name(_0x13b386=>{const _0xb6d87e=_0x49a34c;_0x3621e8==null||_0x3621e8({..._0xfcf05,'formula1':(_0x13b386!=null?_0x13b386:'')[_0xb6d87e(0x147)]()});},_0x49a34c(0xd3)),'onlyInputFormula':!0x0,'openForSheetUnitId':_0xfed0c7,'openForSheetSubUnitId':_0x74e8e1})});}__name(CustomFormulaInput,_0x4f63e1(0x213));const DEFAULT_COLOR_PRESET=['#FFFFFF','#FEE7E7',_0x4f63e1(0x281),'#EFFBD0',_0x4f63e1(0x300),_0x4f63e1(0x89),_0x4f63e1(0x2ee),_0x4f63e1(0x1d1),_0x4f63e1(0x100),_0x4f63e1(0x2a2),'#FDC49B','#DEF6A2',_0x4f63e1(0xf3),_0x4f63e1(0x1b1),'#E3D5F6',_0x4f63e1(0xb6),_0x4f63e1(0x224),_0x4f63e1(0x8e),_0x4f63e1(0xb1),_0x4f63e1(0x12b),_0x4f63e1(0x2f5),_0x4f63e1(0x259),_0x4f63e1(0x2d0),'#F248A6'],ColorSelect=__name(_0x3847be=>{const _0x4945f8=_0x4f63e1,{value:_0x453d84,onChange:_0x20a6ee,disabled:_0x20e39b}=_0x3847be,[_0x30e4c9,_0x15ee3a]=useState(!0x1);return jsxRuntimeExports[_0x4945f8(0xe9)](Select,{'disabled':_0x20e39b,'open':_0x30e4c9,'onDropdownVisibleChange':_0x15ee3a,'dropdownStyle':{'width':0x70},'className':styles[_0x4945f8(0x20b)],'value':_0x453d84,'onChange':_0x20a6ee,'labelRender':__name(_0x2d76e7=>jsxRuntimeExports[_0x4945f8(0xe9)](_0x4945f8(0x1ce),{'className':styles[_0x4945f8(0x29a)],'style':{'background':_0x2d76e7['value'],'marginTop':0x5}}),_0x4945f8(0x1fa)),'dropdownRender':__name(()=>jsxRuntimeExports[_0x4945f8(0xe9)](_0x4945f8(0x1ce),{'className':styles['dataValidationFormulaColorSelectPanel'],'children':DEFAULT_COLOR_PRESET['map'](_0x44f9f0=>jsxRuntimeExports[_0x4945f8(0xe9)]('div',{'onClick':__name(()=>{_0x20a6ee(_0x44f9f0),_0x15ee3a(!0x1);},_0x4945f8(0x30f)),'className':styles['dataValidationFormulaColorItem'],'style':{'background':_0x44f9f0}},_0x44f9f0))}),_0x4945f8(0x25a))});},_0x4f63e1(0x287)),Template=__name(_0x39d1ab=>{const _0x201438=_0x4f63e1,{item:_0x231fb0,commonProps:_0x198df8,style:_0x3d83c9}=_0x39d1ab,{onItemChange:_0xbd442b,onItemDelete:_0x45077d}=_0x198df8;return jsxRuntimeExports['jsxs']('div',{'className':styles[_0x201438(0x2e4)],'style':_0x3d83c9,'children':[_0x231fb0[_0x201438(0xa4)]?null:jsxRuntimeExports[_0x201438(0xe9)](_0x201438(0x1ce),{'className':_0x2db511(styles[_0x201438(0x72)],_0x201438(0x7e)),'children':jsxRuntimeExports[_0x201438(0xe9)](SequenceSingle,{})}),jsxRuntimeExports[_0x201438(0xe9)](ColorSelect,{'value':_0x231fb0[_0x201438(0x188)],'onChange':__name(_0x5bcba3=>{_0xbd442b(_0x231fb0['id'],_0x231fb0['label'],_0x5bcba3);},_0x201438(0xd3))}),jsxRuntimeExports[_0x201438(0xe9)](Input,{'disabled':_0x231fb0[_0x201438(0xa4)],'value':_0x231fb0[_0x201438(0x284)],'onChange':__name(_0x716ac4=>{const _0x59ba3f=_0x201438;_0xbd442b(_0x231fb0['id'],_0x716ac4,_0x231fb0[_0x59ba3f(0x188)]);},_0x201438(0xd3))}),_0x231fb0[_0x201438(0xa4)]?null:jsxRuntimeExports[_0x201438(0xe9)](_0x201438(0x1ce),{'className':styles[_0x201438(0x91)],'children':jsxRuntimeExports['jsx'](DeleteSingle,{'onClick':__name(()=>_0x45077d(_0x231fb0['id']),_0x201438(0x30f))})})]});},_0x4f63e1(0x10b));function ListFormulaInput(_0x24e7de){const _0x27e42a=_0x4f63e1,{value:_0x339bfe,onChange:_0x55d56f=__name(()=>{},_0x27e42a(0x16f)),unitId:_0x20ef55,subUnitId:_0x5d2e03,validResult:_0x1ac01f,showError:_0x1eb953,ruleId:_0x3e0bda}=_0x24e7de,{formula1:formula1='',formula2:formula2=''}=_0x339bfe||{},_0x22e7c5=useRef(null),[_0x2c2ef3,_0x339550]=useState(()=>isFormulaString(formula1)?'1':'0'),[_0x522c1f,_0x2cf8f1]=useState(_0x2c2ef3==='1'?formula1:'='),[_0xbfb02f,_0x31eb2b]=useState(_0x2c2ef3==='1'?formula1:'='),_0x40207a=useDependency(LocaleService),_0x284614=useDependency(DataValidatorRegistryService),_0x5903fc=useDependency(DataValidationModel),_0x39cf67=useDependency(DataValidationFormulaController),[_0x5591a4,_0x58b973]=useState(()=>formula2[_0x27e42a(0x24a)](',')),_0xeaeff7=_0x284614[_0x27e42a(0x90)](DataValidationType[_0x27e42a(0x1ab)]),[_0x2b2eb9,_0x4bac48]=useState([]),[_0x30ee63,_0x27aeec]=useState(''),_0x440b94=_0x1eb953?_0x1ac01f==null?void 0x0:_0x1ac01f['formula1']:'',_0x35690d=useMemo(()=>_0x5903fc['ruleChange$'][_0x27e42a(0x8c)](debounceTime(0x10)),[]),_0xbcd450=useObservable(_0x35690d),_0xd94867=useEvent(_0x55d56f);useEffect(()=>{((async()=>{const _0x17be3b=_0x4874;await new Promise(_0x31f5c8=>{setTimeout(()=>_0x31f5c8(!0x0),0x64);});const _0x1d28d8=_0x5903fc[_0x17be3b(0x25b)](_0x20ef55,_0x5d2e03,_0x3e0bda),_0xf7d2c0=_0x1d28d8==null?void 0x0:_0x1d28d8[_0x17be3b(0x170)];if(isFormulaString(_0xf7d2c0)&&_0xeaeff7&&_0x1d28d8){const _0x55de6e=await _0xeaeff7[_0x17be3b(0x13f)](_0x1d28d8,_0x20ef55,_0x5d2e03);_0x4bac48(_0x55de6e);}})());},[_0x5903fc,_0xbcd450,_0xeaeff7,_0x3e0bda,_0x5d2e03,_0x20ef55]),useEffect(()=>{isFormulaString(formula1)&&formula1!==_0xbfb02f&&(_0x2cf8f1(formula1),_0x31eb2b(_0xbfb02f));},[_0xbfb02f,formula1]);const [_0x3a4648,_0xd2d060]=useState(()=>{const _0x54ff29=_0x27e42a,_0x2f0e44=_0x2c2ef3!=='1'?deserializeListOptions(formula1):[],_0x5849b4=formula2['split'](',');return _0x2f0e44[_0x54ff29(0xe5)]((_0x1d9ca9,_0x604605)=>({'label':_0x1d9ca9,'color':_0x5849b4[_0x604605]||DROP_DOWN_DEFAULT_COLOR,'isRef':!0x1,'id':Tools[_0x54ff29(0x1a0)](0x4)}));}),_0x98a2e3=__name((_0x36c6fd,_0x4fcb9a,_0xfaafb2)=>{const _0x58827a=_0x27e42a,_0x994315=_0x3a4648[_0x58827a(0x1c8)](_0x471227=>_0x471227['id']===_0x36c6fd);_0x994315&&(_0x994315['label']=_0x4fcb9a,_0x994315['color']=_0xfaafb2,_0xd2d060([..._0x3a4648]));},_0x27e42a(0xf4)),_0x273d8a=__name(_0x5208b8=>{const _0x33ea2c=_0x27e42a,_0x3d3678=_0x3a4648[_0x33ea2c(0x107)](_0x126160=>_0x126160['id']===_0x5208b8);_0x3d3678!==-0x1&&(_0x3a4648['splice'](_0x3d3678,0x1),_0xd2d060([..._0x3a4648]));},'handleStrItemDelete'),_0x5e4bac=formula2[_0x27e42a(0x24a)](','),_0xb9cc36=useMemo(()=>_0x2b2eb9[_0x27e42a(0xe5)]((_0xc93146,_0x2310ca)=>({'label':_0xc93146,'color':_0x5e4bac[_0x2310ca]||DROP_DOWN_DEFAULT_COLOR,'id':''+_0x2310ca,'isRef':!0x0})),[_0x5e4bac,_0x2b2eb9]),_0x1f24f2=__name((_0x5875a4,_0x4b891c,_0x2d5c60)=>{const _0x37b77e=_0x27e42a,_0x4c8b54=[..._0x5591a4];_0x4c8b54[+_0x5875a4]=_0x2d5c60,_0x58b973(_0x4c8b54),_0xd94867({'formula1':formula1,'formula2':_0x4c8b54[_0x37b77e(0x2e6)](',')});},_0x27e42a(0x1d0)),_0x50154e=__name(()=>{const _0x1439ec=_0x27e42a;_0xd2d060([..._0x3a4648,{'label':'','color':DROP_DOWN_DEFAULT_COLOR,'isRef':!0x1,'id':Tools[_0x1439ec(0x1a0)](0x4)}]);},_0x27e42a(0xaa));useEffect(()=>{const _0x1fae4f=_0x27e42a;if(_0x2c2ef3==='1')return;const _0x2dc2b7=new Set(),_0x483b97=[];_0x3a4648[_0x1fae4f(0xe5)](_0x2db00f=>({'labelList':_0x2db00f[_0x1fae4f(0x284)][_0x1fae4f(0x24a)](','),'item':_0x2db00f}))[_0x1fae4f(0xc9)](({item:_0x12cbb5,labelList:_0x124c81})=>{const _0x202a69=_0x1fae4f;_0x124c81[_0x202a69(0xc9)](_0x452bed=>{const _0x3d6a1f=_0x202a69;_0x2dc2b7[_0x3d6a1f(0x1ed)](_0x452bed)||(_0x2dc2b7[_0x3d6a1f(0xbf)](_0x452bed),_0x483b97[_0x3d6a1f(0x12f)]({'label':_0x452bed,'color':_0x12cbb5['color']}));});}),_0xd94867({'formula1':serializeListOptions(_0x483b97['map'](_0x258d59=>_0x258d59['label'])),'formula2':_0x483b97[_0x1fae4f(0xe5)](_0x126356=>_0x126356['color']===DROP_DOWN_DEFAULT_COLOR?'':_0x126356[_0x1fae4f(0x188)])[_0x1fae4f(0x2e6)](',')});},[_0x3a4648,_0xd94867,_0x2c2ef3,_0xbfb02f,_0x5591a4]);const _0x5076fd=useMemo(()=>async _0x4461b0=>{const _0xe470cb=_0x27e42a;if(!isFormulaString(_0x4461b0)){_0xd94867==null||_0xd94867({'formula1':'','formula2':formula2});return;}_0x39cf67[_0xe470cb(0x189)](_0x4461b0)?(_0xd94867==null||_0xd94867({'formula1':isFormulaString(_0x4461b0)?_0x4461b0:'','formula2':formula2}),_0x27aeec('')):(_0xd94867==null||_0xd94867({'formula1':'','formula2':formula2}),_0x2cf8f1('='),_0x27aeec(_0x40207a['t']('dataValidation.validFail.formulaError')));},[formula2,_0xd94867]);return jsxRuntimeExports[_0x27e42a(0x18c)](jsxRuntimeExports[_0x27e42a(0x316)],{'children':[jsxRuntimeExports[_0x27e42a(0xe9)](FormLayout,{'label':_0x40207a['t'](_0x27e42a(0x2f7)),'children':jsxRuntimeExports['jsxs'](RadioGroup,{'value':_0x2c2ef3,'onChange':__name(_0x393f48=>{_0x339550(_0x393f48),_0x2cf8f1(_0xbfb02f),_0x393f48==='1'&&_0xd94867({'formula1':_0xbfb02f==='='?'':_0xbfb02f,'formula2':_0x5591a4['join'](',')});},_0x27e42a(0xd3)),'children':[jsxRuntimeExports[_0x27e42a(0xe9)](Radio,{'value':'0','children':_0x40207a['t'](_0x27e42a(0x1e1))}),jsxRuntimeExports[_0x27e42a(0xe9)](Radio,{'value':'1','children':_0x40207a['t'](_0x27e42a(0x163))})]})}),_0x2c2ef3==='1'?jsxRuntimeExports['jsxs'](jsxRuntimeExports[_0x27e42a(0x316)],{'children':[jsxRuntimeExports[_0x27e42a(0xe9)](FormLayout,{'error':_0x440b94||_0x30ee63,'children':jsxRuntimeExports[_0x27e42a(0xe9)](TextEditor,{'id':createInternalEditorID(_0x27e42a(0x70)+_0x20ef55+'-'+_0x5d2e03),'value':_0x522c1f,'openForSheetUnitId':_0x20ef55,'openForSheetSubUnitId':_0x5d2e03,'onlyInputFormula':!0x0,'onChange':__name(async _0x28eb59=>{const _0x45c7f6=(_0x28eb59!=null?_0x28eb59:'')['trim']();_0x31eb2b(_0x45c7f6),_0x5076fd(_0x45c7f6);},_0x27e42a(0xd3))})}),jsxRuntimeExports['jsx'](FormLayout,{'children':jsxRuntimeExports[_0x27e42a(0xe9)](_0x27e42a(0x1ce),{'ref':_0x22e7c5,'children':_0xb9cc36[_0x27e42a(0xe5)](_0x4dba74=>jsxRuntimeExports['jsx'](Template,{'item':_0x4dba74,'commonProps':{'onItemChange':_0x1f24f2},'style':{'marginBottom':0xc}},_0x4dba74['id']))})})]}):jsxRuntimeExports[_0x27e42a(0xe9)](FormLayout,{'error':_0x440b94,'children':jsxRuntimeExports[_0x27e42a(0x18c)](_0x27e42a(0x1ce),{'ref':_0x22e7c5,'style':{'marginTop':_0x27e42a(0x16d)},'children':[jsxRuntimeExports[_0x27e42a(0xe9)](DraggableList,{'list':_0x3a4648,'onListChange':_0xd2d060,'rowHeight':0x20,'margin':[0x0,0xc],'draggableHandle':_0x27e42a(0x179),'itemRender':__name(_0x567d9e=>jsxRuntimeExports[_0x27e42a(0xe9)](Template,{'item':_0x567d9e,'commonProps':{'onItemChange':_0x98a2e3,'onItemDelete':_0x273d8a}},_0x567d9e['id']),_0x27e42a(0x1f7)),'idKey':'id'}),jsxRuntimeExports[_0x27e42a(0x18c)]('a',{'className':styles[_0x27e42a(0x288)],'onClick':_0x50154e,'children':[jsxRuntimeExports['jsx'](IncreaseSingle,{}),_0x40207a['t'](_0x27e42a(0x9d))]})]})})]});}__name(ListFormulaInput,'ListFormulaInput');const CUSTOM_FORMULA_INPUT_NAME=_0x4f63e1(0x2af),BASE_FORMULA_INPUT_NAME$1=_0x4f63e1(0x273),LIST_FORMULA_INPUT_NAME=_0x4f63e1(0x1ff),CHECKBOX_FORMULA_INPUT_NAME=_0x4f63e1(0x2b8),FORMULA_INPUTS=[[CUSTOM_FORMULA_INPUT_NAME,CustomFormulaInput],[BASE_FORMULA_INPUT_NAME$1,BaseFormulaInput],[LIST_FORMULA_INPUT_NAME,ListFormulaInput],[CHECKBOX_FORMULA_INPUT_NAME,CheckboxFormulaInput]],LIST_RENDER_MODE_OPTION_INPUT=_0x4f63e1(0x1a1);function ListRenderModeInput(_0x344e44){const _0x17ae70=_0x4f63e1;var _0x4d81de;const {value:_0x5655fa,onChange:_0x51ce5a}=_0x344e44,_0x36e52c=useDependency(LocaleService);return jsxRuntimeExports[_0x17ae70(0xe9)](FormLayout,{'label':_0x36e52c['t'](_0x17ae70(0x247)),'children':jsxRuntimeExports[_0x17ae70(0x18c)](RadioGroup,{'value':''+((_0x4d81de=_0x5655fa['renderMode'])!=null?_0x4d81de:DataValidationRenderMode[_0x17ae70(0x191)]),'onChange':__name(_0x18a32b=>_0x51ce5a({..._0x5655fa,'renderMode':+_0x18a32b}),_0x17ae70(0xd3)),'children':[jsxRuntimeExports[_0x17ae70(0xe9)](Radio,{'value':''+DataValidationRenderMode[_0x17ae70(0x191)],'children':_0x36e52c['t'](_0x17ae70(0x242))}),jsxRuntimeExports[_0x17ae70(0xe9)](Radio,{'value':''+DataValidationRenderMode['ARROW'],'children':_0x36e52c['t'](_0x17ae70(0x2cc))}),jsxRuntimeExports['jsx'](Radio,{'value':''+DataValidationRenderMode[_0x17ae70(0x205)],'children':_0x36e52c['t']('dataValidation.renderMode.text')})]})});}__name(ListRenderModeInput,_0x4f63e1(0xe4)),ListRenderModeInput['componentKey']=LIST_RENDER_MODE_OPTION_INPUT;const DATE_SHOW_TIME_OPTION='DATE_SHOW_TIME_OPTION';function DateShowTimeOption(_0x5b380c){const _0x479d5e=_0x4f63e1;var _0x4a3b7f;const {value:_0x7383f4,onChange:_0x3bf08a}=_0x5b380c,_0x5d53d5=useDependency(LocaleService);return jsxRuntimeExports[_0x479d5e(0xe9)](FormLayout,{'children':jsxRuntimeExports['jsx'](Checkbox,{'checked':(_0x4a3b7f=_0x7383f4[_0x479d5e(0x17c)])==null?void 0x0:_0x4a3b7f[_0x479d5e(0x2c1)],'onChange':__name(_0x220fd9=>{_0x3bf08a({..._0x7383f4,'bizInfo':{..._0x7383f4['bizInfo'],'showTime':_0x220fd9}});},_0x479d5e(0xd3)),'children':_0x5d53d5['t'](_0x479d5e(0x1d8))})});}__name(DateShowTimeOption,_0x4f63e1(0x10c)),DateShowTimeOption[_0x4f63e1(0x291)]=DATE_SHOW_TIME_OPTION;var __defProp$6=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$6=Object[_0x4f63e1(0x21b)],__decorateClass$6=__name((_0x3812fd,_0x3b0f1b,_0x4e555e,_0x398f41)=>{const _0x4098dd=_0x4f63e1;for(var _0x10e868=_0x398f41>0x1?void 0x0:_0x398f41?__getOwnPropDesc$6(_0x3b0f1b,_0x4e555e):_0x3b0f1b,_0x2d372c=_0x3812fd[_0x4098dd(0x18a)]-0x1,_0x1c3a7b;_0x2d372c>=0x0;_0x2d372c--)(_0x1c3a7b=_0x3812fd[_0x2d372c])&&(_0x10e868=(_0x398f41?_0x1c3a7b(_0x3b0f1b,_0x4e555e,_0x10e868):_0x1c3a7b(_0x10e868))||_0x10e868);return _0x398f41&&_0x10e868&&__defProp$6(_0x3b0f1b,_0x4e555e,_0x10e868),_0x10e868;},_0x4f63e1(0x23b)),__decorateParam$6=__name((_0x4a04b2,_0x43cc23)=>(_0x538564,_0x3f27b3)=>_0x43cc23(_0x538564,_0x3f27b3,_0x4a04b2),'__decorateParam$6');const MARGIN_H$2=0x6;var _a10;function _0x3d29(){const _0x282818=['errorStyle','_zenVisible','71780PwjKUD','_themeService','onPanelChange','button','__decorateClass$a','SERIES','parse','dataValidation.panel.removeAll','dataValidation.list.refOptions','Dropdown','activeSheet$','useContext','getCellRaw','dispose','sheet.operation.show-data-validation-dropdown','getCurrentUnitForType','formula2','validator','-12px','WholeValidatorView','_onChange','formula1','handleUpdateRuleSetting','onHide','disabledDate','primaryWithCoord','svg','injector','location','data-validation.operation.open-validation-panel','.draggableHandle','_initAutoHeight','univer-data-validation-formula-list-item','bizInfo','SequenceSingle','getUniverSheetInstance','onRendered','M4.75332\x205.22217C3.86966\x205.22217\x203.15332\x205.93851\x203.15332\x206.82217V12.5331C3.15332\x2013.9691\x204.31738\x2015.1332\x205.75332\x2015.1332H10.2465C11.6825\x2015.1332\x2012.8465\x2013.9691\x2012.8465\x2012.5331V6.82217C12.8465\x205.93851\x2012.1302\x205.22217\x2011.2465\x205.22217H4.75332ZM4.35332\x206.82217C4.35332\x206.60125\x204.53241\x206.42217\x204.75332\x206.42217H11.2465C11.4674\x206.42217\x2011.6465\x206.60125\x2011.6465\x206.82217V12.5331C11.6465\x2013.3063\x2011.0197\x2013.9332\x2010.2465\x2013.9332H5.75332C4.98012\x2013.9332\x204.35332\x2013.3063\x204.35332\x2012.5331V6.82217Z','cols','_formulaService','showErrorMessage','valueOf','top','evenodd','reject-input-dialog','color','getFormulaRefCheck','length','onAfterFillData','jsxs','YYYY-MM-DDTHH:mm:ss[Z]','univer-data-validation-formula-list-item-drag','createDocSkeleton','currentCell$','CUSTOM','dataValidation.listMultiple.dropdown','rows','alpha','random','dataValidationOptionsButtonIcon','dvListDropdownList','with','RIGHT','data-validation.operation.close-validation-panel','univer-data-validation-detail-form-item','DataValidationRejectInputController','getUTCHours','getListWithColorMap','dataStream','generateRandomId','LIST_RENDER_MODE_OPTION_INPUT','data-validation.command.addRuleAndOpen','showDropdown','react.fragment','_init','univer-data-validation-formula-color-item','dvListDropdownTitle','allowBlank','__decorateParam$9','DATA_VALIDATION','LIST','url(#$1','__decorateClass$c','addDataValidationMenuFactory','calcCellAutoHeight','clone','#D0D9FB','BOTTOM','max','register','__decorateClass$d','data-validation.list.dropdown','toLowerCase','subUnitId','$ms','activeDropdown','utcOffset','dataValidation.panel.formulaPlaceholder','__decorateClass$7','isValid','_initCopyPaste','setCloseDisposable','success','dataValidationFormula','resolve','getStyleByCell','toUTCString','STOP','renderMode','find','dvListDropdownSelectedIcon','complete','restore','_generateMutations','symbol','div','getMatrix','handleRefItemChange','#FDE8F3','name','0\x200\x2016\x2016','getUTCSeconds','COMMAND','addRangeRules','TOP','dataValidation.showTime.label','DataValidationPanelService','Keyboard','showAlert','handleOk','8dintwE','UniverIcon','setValue','removeAlert','dataValidation.list.customOptions','alert','12ezooSj','addHook','disable','result','DataValidationOptions','onStarting','patched','__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED','hideDropdown','defaultProps','has','onClose','222469CFTjnO','_initMenu','dvListDropdown','getRules','zIndex','includes','startX','clip','itemRender','dataValidation.panel.add','__decorateClass$5','labelRender','init','isVisible','_initViewModelIntercept','DeleteSingle','data-validation.list-formula-input','getCellByIndex','rule','hasOwnProperty','ListDropDown','colorChannel1','TEXT','_currentPopup','dvListDropdownItemContainer','dataValidation.panel.messageInfo','univer-data-validation-formula','replace','dataValidationFormulaColorSelect','_sidebarService','getRuleFinalError','DataValidationSingle','transparent','left','dataValidationDetailFormItem','univer-data-validation-detail-buttons','CustomFormulaInput','_activeDropdown','DropdownMultipleWidget','POSITIVE_INFINITY','dataValidation.list.edit','handleSave','trigger','markers','getOwnPropertyDescriptor','__decorateParam$d','columnHeaderHeight','univer-data-validation-item-icon','assign','getStyles','children','_autoFillService','_autoHeightController','#656565','DataValidationItem','render','diff','dataValidation.checkbox.checked','from','AFTER_CELL_EDIT_ASYNC','CustomFormulaValidatorView','_activeRule','dvListDropdownListContainer','endY','relativeRange','__decorateParam$3','isOpen','CENTER','UniverSheetsDataValidationUIPlugin','getExtraStyle','right','endX','CELL_CONTENT','_renderManagerService','FORMULAS_INSERT','onCommandExecuted','__decorateClass$6','width','addClipboardHook','univer-dv-list-dropdown','_localeService','getSheetBySheetId','DataValidationPanel','dataValidation.renderMode.chip','fill','utc','_getDropdownByCell','handleUpdateRuleOptions','dataValidation.renderMode.label','isHit','yyyy-MM-dd\x20HH:mm:ss','split','toISOString','DropdownWidget','value','dataValidation.alert.title','unitId','univer-dv-date-dropdown','_sheetsSelectionsService','__decorateParam$1','getWorksheetSkeleton','rgb','4954242sQIuWp','getUTCFullYear','onSteady','interceptorAutoHeight','#3A60F7','dropdownRender','getRuleById','endRow','_injector','interceptorStyle','getConfig','more-up-single','UNIVER_SHEET','showDataValidationDropdown','_initComponents','__esModule','SPECIAL_PASTE_FORMULA','handler','drawWith','actualColumn','createInstance','substring','getTransform','currentColor','_open$','dvListDropdownEdit','dataValidation-custom-formula-','#fe4b4b','getOwnPropertySymbols','_calc','data-validation.formula-input','copyRange','tag','getUnit','idSuffix','SHEET_DATA_VALIDATION_ALERT','dataValidation.panel.showInfo','activeDropdown$','composeMatrix','dropdown','save','startRow','visible','[DataValidationDropdownManagerService]:\x20cannot\x20show\x20dropdown!','#FEF0E6','dataValidation.panel.valuePlaceholder','yyyy-MM-dd\x20hh:mm:ss','label','displayName','filter','ColorSelect','dataValidationFormulaListAdd','$localOffset','type','lines','toString','onReady','exports','registerCommand','$offset','componentKey','actualRow','executeCommand','__decorateClass$b','font','uid','univer-data-validation-detail-button','dataValidation.panel.type','ListMultipleValidatorView','dataValidationFormulaColorItem','__decorateParam$5','get','getRuleByLocation','getInterceptPoints','body','dataValidation.panel.removeRule','_configService','#FDCECE','rect','onPointerDown','setActiveRule','selectionMoveEnd$','getCurrentTypeOfUnit$','menu','startY','matrix','_zenZoneService','getPositionRange','interceptor','M14.6175\x202.45279C14.8518\x202.68711\x2014.8518\x203.06701\x2014.6175\x203.30132L11.6151\x206.30365C11.3957\x206.52307\x2011.0451\x206.53897\x2010.8067\x206.34031L8.80915\x204.67566C8.55458\x204.46352\x208.52019\x204.08518\x208.73233\x203.83062\x208.94447\x203.57605\x209.32281\x203.54166\x209.57737\x203.7538L11.154\x205.06767\x2013.769\x202.45278C14.0033\x202.21847\x2014.3832\x202.21848\x2014.6175\x202.45279zM14.1175\x209.19746C14.3518\x209.43178\x2014.3518\x209.81168\x2014.1175\x2010.046L12.5418\x2011.6217\x2014.1175\x2013.1975C14.3518\x2013.4318\x2014.3518\x2013.8117\x2014.1175\x2014.046\x2013.8832\x2014.2803\x2013.5033\x2014.2803\x2013.269\x2014.046L11.6933\x2012.4703\x2010.1175\x2014.046C9.88321\x2014.2803\x209.50331\x2014.2803\x209.269\x2014.046\x209.03468\x2013.8117\x209.03468\x2013.4318\x209.269\x2013.1975L10.8447\x2011.6217\x209.269\x2010.046C9.03468\x209.81168\x209.03468\x209.43178\x209.269\x209.19746\x209.50331\x208.96315\x209.88321\x208.96315\x2010.1175\x209.19746L11.6933\x2010.7732\x2013.269\x209.19746C13.5033\x208.96315\x2013.8832\x208.96315\x2014.1175\x209.19746z','data-validation.custom-formula-input','activeRule','_initEditorBridgeInterceptor','getCell','validatorFormula','data-validation-single','CheckboxFormulaInput','rawData','CHECKBOX','data-validation.checkbox-formula-input','univer-dv-list-dropdown-item-container','parseDate','permissionCheckWithRanges','list','_closeDisposable','skipDefaultFontRender','dataValidation','format','showTime','none','concat','setDisableApplyType','1em','isSkip','__decorateParam$2','getUndoRedoParamsOfAutoHeight','univer-data-validation-formula-color-select-panel','dataValidation.panel.options','call','dataValidation.renderMode.arrow','_editorBridgeService','some','col','#9E6DE3','command','hideFn','univer-dv-list-dropdown-title','_commandService','1157865JpFxAQ','use','disposeWithMe','_sheetPermissionInterceptorBaseController','dataValidationListButton','createDocuments','foreach','__decorateClass$9','_collect','dataValidationItemTitle','handleClick','height','getSizeOf','DataValidationAlertController','engine','dataValidationFormulaListItem','2304ADzISF','join','style','WARNING','_initZenService','_cellAlertManagerService','key','YYYY-MM-DD\x20HH:mm:ss:SSS','#565656','#F1EAFA','DataValidationListWithWorkbook','setConfig','getMergedCell','_parseFormula','getPlainText','WRAP','#0B9EFB','create','dataValidation.list.options','dataValidation.panel.title','items','getActiveSheet','attrs','showReject','primary','502132lXthpH','OPERATION','#E4F4FE','SheetsDataValidationRenderController','boolean','path','dvDateDropdownBtns','coverable','operators','editor-bridge','univer-data-validation-formula-list-add','contentWidth','prototype','unsubscribe','isMergedMainCell','dataValidationDetailButton','range','onClick','startColumn','CheckboxValidatorView','operatorNames','error','univer-data-validation-detail','M0\x200H16V16H0z','Fragment','dataValidation.title','onBeforeCopy','list-ref-range-','attachPopupToCell','dataValidationFormulaListItemDrag','COPY','mergeMenu','worksheet','DataValidationCopyPasteController','_sheetInterceptorService','cellAutoHeight','handleAddRule','SheetsDataValidationMobileRenderController','parseCellValue','default','defIds','draggableHandle','delete-single','_sheetDataValidationModel','onPointerEnter','_dropdownInfoMap','totalHeight','MoreUpSingle','stopPropagation','dataValidation.checkbox.tips','getUnitId','calculate','#E8ECFD','next','invoke','pipe','addShape','#FE4B4B','onBeforeFillData','getValidatorItem','dataValidationFormulaListItemIcon','fillText','object','endColumn','M5.3313\x201.4667C5.3313\x201.13533\x205.59993.866699\x205.9313.866699H10.069C10.4004.866699\x2010.669\x201.13533\x2010.669\x201.4667\x2010.669\x201.79807\x2010.4004\x202.0667\x2010.069\x202.0667H5.9313C5.59993\x202.0667\x205.3313\x201.79807\x205.3313\x201.4667zM1.09985\x203.64443C1.09985\x203.31306\x201.36848\x203.04443\x201.69985\x203.04443H14.2999C14.6312\x203.04443\x2014.8999\x203.31306\x2014.8999\x203.64443\x2014.8999\x203.9758\x2014.6312\x204.24443\x2014.2999\x204.24443H1.69985C1.36848\x204.24443\x201.09985\x203.9758\x201.09985\x203.64443zM6.12398\x208.30171C6.35829\x208.0674\x206.73819\x208.0674\x206.97251\x208.30171L8.00007\x209.32928\x209.02764\x208.30171C9.26195\x208.0674\x209.64185\x208.0674\x209.87617\x208.30171\x2010.1105\x208.53603\x2010.1105\x208.91593\x209.87617\x209.15024L8.8486\x2010.1778\x209.87617\x2011.2054C10.1105\x2011.4397\x2010.1105\x2011.8196\x209.87617\x2012.0539\x209.64185\x2012.2882\x209.26195\x2012.2882\x209.02764\x2012.0539L8.00007\x2011.0263\x206.97251\x2012.0539C6.73819\x2012.2882\x206.35829\x2012.2882\x206.12398\x2012.0539\x205.88966\x2011.8196\x205.88966\x2011.4397\x206.12398\x2011.2054L7.15154\x2010.1778\x206.12398\x209.15024C5.88966\x208.91593\x205.88966\x208.53603\x206.12398\x208.30171z','values','DateDropdown','onClickOutside','ONLY_FORMAT','_dropdownManagerService','validStatus','dataValidationItemContent','dataValidation.list.add','showEditOnDropdown','_canvasPopupManagerService','_univerInstanceService','getTimezoneOffset','open$','SPECIAL_PASTE_FORMAT','isRef','SUBITEMS','canvasRender','_initDropdown','updateDocumentDataPageSize','changeVisible','handleAdd','_config','getCurrentLastSelection','__decorateParam','bold','rgba(73,\x20184,\x2017,\x200.05)','subscribe','#FF8C51','dataValidationListButtons','haveNotPermissionHandle','getRenderById','4441129SeYjmj','#FBD0E8','handleRemoveAll','M4.64645\x209.85355C4.45118\x209.65829\x204.45118\x209.34171\x204.64645\x209.14645L7.64645\x206.14645C7.84171\x205.95118\x208.15829\x205.95118\x208.35355\x206.14645L11.3536\x209.14645C11.5488\x209.34171\x2011.5488\x209.65829\x2011.3536\x209.85355C11.1583\x2010.0488\x2010.8417\x2010.0488\x2010.6464\x209.85355L8\x207.20711L5.35355\x209.85355C5.15829\x2010.0488\x204.84171\x2010.0488\x204.64645\x209.85355Z','_copyInfo','getUTCMilliseconds','DecimalValidatorView','CheckboxRender','_dataValidatorRegistryService','BaseSheetDataValidatorView','add','transform','UniverSheetsDataValidationMobileUIPlugin','activeRule$','BUTTON','_initSelectionChange','dataValidationDetailButtons','univer-data-validation-list-button','translate','getValidatorsByScope','forEach','FALSE','SPECIAL_PASTE_COL_WIDTH','forValue','dvListDropdownSplit','TextLengthValidatorView','current','ruleChange$','_drawDownIcon','defineProperty','onChange','univer-data-validation-options-button-icon','calcPadding','MIDDLE','getListWithColor','generalApplyFunc','check-mark-single','span','dataValidation.panel.addTitle','handleDelete','univer-dv-list-dropdown-item','__decorateClass$3','string','__decorateClass$2','_sheetClipboardService','local','formulaInput','ListRenderModeInput','map','_componentManger','getSnapshot','__decorateParam$7','jsx','indexOf','minute','_menuManagerService','sequence-single','SelectList','_initAutoFill','LIST_MULTIPLE','row','getEditCellState','#9FDAFF','handleStrItemChange','open','customRender','operator','entries','className','fillStyle','dataValidation.list.dropdown','univer-data-validation-list','1110417aHhsdQ','getDropdownItemSize','univer-data-validation-formula-color-select','#E5E5E5','set','CheckMarkSingle','translateWithPrecision','_initCellAlertPopup','DataValidationDetail','mask0_622_8','findIndex','univer-data-validation-item-title','sheet.ui.dropdown','onSelect','Template','DateShowTimeOption','M1.4917\x203.07803C1.4917\x202.19437\x202.20804\x201.47803\x203.0917\x201.47803H5.6917C6.57536\x201.47803\x207.2917\x202.19437\x207.2917\x203.07803V5.67803C7.2917\x206.56168\x206.57535\x207.27803\x205.6917\x207.27803H3.0917C2.20804\x207.27803\x201.4917\x206.56168\x201.4917\x205.67803V3.07803ZM3.0917\x202.67803C2.87078\x202.67803\x202.6917\x202.85711\x202.6917\x203.07803V5.67803C2.6917\x205.89894\x202.87079\x206.07803\x203.0917\x206.07803H5.6917C5.91261\x206.07803\x206.0917\x205.89894\x206.0917\x205.67803V3.07803C6.0917\x202.85711\x205.91261\x202.67803\x205.6917\x202.67803H3.0917Z','currentAlert','getRuleIdByLocation','__decorateClass$4','_commandExecutedListener','setSelections','DATE','mergeInfo','#D9D9D9','removeShape','ranges','optionsInput','dataValidationFormulaAnd','transformDate','_hoverManagerService','YYYY-MM-DD\x2000:00:00','permission.dialog.setStyleErr','beforeCommandExecuted','_dataValidationModel','getDefaultExportFromCjs','univer-dv-list-dropdown-split','source','extend','_generateKey','propertyIsEnumerable','M3.32201\x204.84556C3.14417\x205.05148\x202.85583\x205.05148\x202.67799\x204.84556L0.134292\x201.90016C-0.152586\x201.56798\x200.0505937\x201\x200.456301\x201L5.5437\x201C5.94941\x201\x206.15259\x201.56798\x205.86571\x201.90016L3.32201\x204.84556Z','sheetId','0\x200\x2017\x2016','fontRenderExtension','pasteType','#8BBB11','dataValidationOptionsButton','_dialogService','toDate','push','origin','diffWithAddition','__decorateParam$c','icon','__decorateParam$a','asObservable','YYYY-MM-DD','NUMBER','getSheetId','Style','YYYY-MM-DD\x20HH:mm:ss','intercept','contentHeight','createElement','params','getListAsync','close','dataValidation.alert.ok','for','INVALID','redos','dataValidation.error.title','generateShortUuid','trim','visible$','yyyy-MM-dd','$utils','dataValidation.panel.operator','repeatStartCell','getRuleObjectMatrix','date','_activeDropdown$','SHEET_DATA_VALIDATION_UI_PLUGIN','function','_activeRule$','SheetsDataValidationUIController','beginPath','pattern','dvListDropdownItem','ESC','DataValidationPermissionController'];_0x3d29=function(){return _0x282818;};return _0x3d29();}let CheckboxRender=(_a10=class{constructor(_0xc75e7f,_0x3dfc89,_0x10e7f6){const _0x6c78ab=_0x4f63e1;this[_0x6c78ab(0x2d4)]=_0xc75e7f,this[_0x6c78ab(0x182)]=_0x3dfc89,this[_0x6c78ab(0x15c)]=_0x10e7f6;}[_0x4f63e1(0x272)](_0x331d19,_0x200bbc){const _0x445948=_0x4f63e1;var _0x2b9295,_0xd1c784,_0xc635e3;const {vt:_0x3e9797,ht:_0xa16c2c}=_0x200bbc||{},_0x47d5e7=_0x331d19[_0x445948(0x236)]-_0x331d19[_0x445948(0x1f5)]-MARGIN_H$2*0x2,_0x349282=_0x331d19[_0x445948(0x22e)]-_0x331d19[_0x445948(0x2a9)],_0x4dab5b=((_0x2b9295=_0x200bbc==null?void 0x0:_0x200bbc['fs'])!=null?_0x2b9295:0xa)*1.6;let _0x221210=0x0,_0x3a3b7e=0x0;switch(_0x3e9797){case VerticalAlign[_0x445948(0x1d7)]:_0x3a3b7e=0x0;break;case VerticalAlign[_0x445948(0x1b2)]:_0x3a3b7e=0x0+(_0x349282-_0x4dab5b);break;default:_0x3a3b7e=0x0+(_0x349282-_0x4dab5b)/0x2;break;}switch(_0xa16c2c){case HorizontalAlign['LEFT']:_0x221210=MARGIN_H$2;break;case HorizontalAlign['RIGHT']:_0x221210=MARGIN_H$2+(_0x47d5e7-_0x4dab5b);break;default:_0x221210=MARGIN_H$2+(_0x47d5e7-_0x4dab5b)/0x2;break;}return{'left':_0x331d19['startX']+_0x221210,'top':_0x331d19[_0x445948(0x2a9)]+_0x3a3b7e,'width':((_0xd1c784=_0x200bbc==null?void 0x0:_0x200bbc['fs'])!=null?_0xd1c784:0xa)*1.6,'height':((_0xc635e3=_0x200bbc==null?void 0x0:_0x200bbc['fs'])!=null?_0xc635e3:0xa)*1.6};}[_0x4f63e1(0x1af)](_0x2e4f0a){var _0x27b2dc;const {style:_0x175520}=_0x2e4f0a;return((_0x27b2dc=_0x175520==null?void 0x0:_0x175520['fs'])!=null?_0x27b2dc:0xa)*1.6;}async[_0x4f63e1(0x2f2)](_0x514249,_0x4f7a45,_0x41fb7a){const _0x508519=_0x4f63e1;var _0x5a47fc,_0x387072;const {formula1:formula1=CHECKBOX_FORMULA_1,formula2:formula2=CHECKBOX_FORMULA_2}=_0x514249,_0xe827ec=await this[_0x508519(0x182)]['getRuleFormulaResult'](_0x4f7a45,_0x41fb7a,_0x514249['uid']);return{'formula1':isFormulaString(formula1)?getFormulaResult((_0x5a47fc=_0xe827ec==null?void 0x0:_0xe827ec[0x0])==null?void 0x0:_0x5a47fc[_0x508519(0x1e6)]):formula1,'formula2':isFormulaString(formula2)?getFormulaResult((_0x387072=_0xe827ec==null?void 0x0:_0xe827ec[0x1])==null?void 0x0:_0x387072[_0x508519(0x1e6)]):formula2};}[_0x4f63e1(0x267)](_0x2cdc62,_0x194cae){const _0x2b80c1=_0x4f63e1;var _0x331509,_0x58b04b,_0x42cbf6,_0x17a412,_0x5eec36,_0x384962;const {style:_0x5b8c1f,data:_0x203c20,primaryWithCoord:_0x351b40,unitId:_0x5238d0,subUnitId:_0x21d4ef,worksheet:_0xffbfc1,row:_0x2de0a5,col:_0x12c0a1}=_0x194cae,_0x28aafd=_0x351b40[_0x2b80c1(0x30c)]?_0x351b40[_0x2b80c1(0x114)]:_0x351b40,_0x2ee055=getCellValueOrigin(_0xffbfc1[_0x2b80c1(0x167)](_0x2de0a5,_0x12c0a1)),_0x36a02f=(_0x331509=_0x203c20[_0x2b80c1(0x2bf)])==null?void 0x0:_0x331509['rule'],_0x52a197=(_0x58b04b=_0x203c20[_0x2b80c1(0x2bf)])==null?void 0x0:_0x58b04b[_0x2b80c1(0x16c)];if(!_0x36a02f||!_0x52a197)return;const _0xb40e5d=this[_0x2b80c1(0x15c)]['getCurrentTheme']();if(!((_0x42cbf6=_0x52a197['skipDefaultFontRender'])!=null&&_0x42cbf6['call'](_0x52a197,_0x36a02f,_0x2ee055,{'unitId':_0x5238d0,'subUnitId':_0x21d4ef})))return;const _0x5d1d4b=_0x52a197['parseFormulaSync'](_0x36a02f,_0x5238d0,_0x21d4ef),{formula1:_0xd7e97e}=_0x5d1d4b,_0x430bec=this[_0x2b80c1(0x272)](_0x28aafd,_0x5b8c1f),{a:_0x1114f9,d:_0x371069}=_0x2cdc62[_0x2b80c1(0x26b)](),_0x421efb=fixLineWidthByScale(_0x430bec[_0x2b80c1(0x210)],_0x1114f9),_0x19c29a=fixLineWidthByScale(_0x430bec[_0x2b80c1(0x185)],_0x371069),_0x6534d6=Transform['create']()[_0x2b80c1(0x27b)]({'left':_0x421efb,'top':_0x19c29a,'scaleX':0x1,'scaleY':0x1,'angle':0x0,'skewX':0x0,'skewY':0x0,'flipX':!0x1,'flipY':!0x1}),_0x557ce6=_0x28aafd[_0x2b80c1(0x236)]-_0x28aafd[_0x2b80c1(0x1f5)],_0x4fc65b=_0x28aafd[_0x2b80c1(0x22e)]-_0x28aafd[_0x2b80c1(0x2a9)];_0x2cdc62[_0x2b80c1(0x27d)](),_0x2cdc62['beginPath'](),_0x2cdc62[_0x2b80c1(0x2a3)](_0x28aafd['startX'],_0x28aafd['startY'],_0x557ce6,_0x4fc65b),_0x2cdc62[_0x2b80c1(0x1f6)]();const _0x5b84ea=_0x6534d6[_0x2b80c1(0x1cf)]();_0x2cdc62['transform'](_0x5b84ea[0x0],_0x5b84ea[0x1],_0x5b84ea[0x2],_0x5b84ea[0x3],_0x5b84ea[0x4],_0x5b84ea[0x5]);const _0xca16ea=((_0x17a412=_0x5b8c1f==null?void 0x0:_0x5b8c1f['fs'])!=null?_0x17a412:0xa)*1.6,_0xec91dc=String(_0x2ee055)===String(_0xd7e97e),_0x24adcf=_0xb40e5d['hyacinth500'];_0x1581b0['drawWith'](_0x2cdc62,{'checked':_0xec91dc,'width':_0xca16ea,'height':_0xca16ea,'fill':(_0x384962=(_0x5eec36=_0x5b8c1f==null?void 0x0:_0x5b8c1f['cl'])==null?void 0x0:_0x5eec36[_0x2b80c1(0x254)])!=null?_0x384962:_0x24adcf}),_0x2cdc62[_0x2b80c1(0x1cb)]();}[_0x4f63e1(0x248)](_0x17b9cb,_0x173609){const _0x12824b=_0x4f63e1,_0x52ec41=_0x173609[_0x12824b(0x174)]['isMergedMainCell']?_0x173609[_0x12824b(0x174)][_0x12824b(0x114)]:_0x173609['primaryWithCoord'],_0x287f22=this[_0x12824b(0x272)](_0x52ec41,_0x173609[_0x12824b(0x2e7)]),_0x457998=_0x287f22[_0x12824b(0x185)],_0x402c34=_0x287f22[_0x12824b(0x185)]+_0x287f22['height'],_0x55f53a=_0x287f22[_0x12824b(0x210)],_0x59e47b=_0x287f22['left']+_0x287f22[_0x12824b(0x23c)],{x:_0x1aef17,y:_0x3e3382}=_0x17b9cb;return _0x1aef17<=_0x59e47b&&_0x1aef17>=_0x55f53a&&_0x3e3382<=_0x402c34&&_0x3e3382>=_0x457998;}async[_0x4f63e1(0x2a4)](_0x4bcff1,_0x15aef8){const _0x149a3b=_0x4f63e1;var _0x50b0d4,_0xcecee8,_0x1d20c9;if(_0x15aef8['button']===0x2)return;const {primaryWithCoord:_0x222363,unitId:_0x58bd01,subUnitId:_0x392da1,data:_0x416325,worksheet:_0x2251f7,row:_0xdc2378,col:_0x19c4bb}=_0x4bcff1,_0x16fbc7=getCellValueOrigin(_0x2251f7[_0x149a3b(0x167)](_0xdc2378,_0x19c4bb)),_0x41ebc9=(_0x50b0d4=_0x416325[_0x149a3b(0x2bf)])==null?void 0x0:_0x50b0d4[_0x149a3b(0x201)],_0x97dbd=(_0xcecee8=_0x416325[_0x149a3b(0x2bf)])==null?void 0x0:_0xcecee8[_0x149a3b(0x16c)];if(!_0x41ebc9||!_0x97dbd||!((_0x1d20c9=_0x97dbd[_0x149a3b(0x2be)])!=null&&_0x1d20c9[_0x149a3b(0x2cb)](_0x97dbd,_0x41ebc9,_0x16fbc7,{'unitId':_0x58bd01,'subUnitId':_0x392da1})))return;const {formula1:_0x1e43d4,formula2:_0x2c0450}=await this[_0x149a3b(0x2f2)](_0x41ebc9,_0x58bd01,_0x392da1),_0x186b1a={'range':{'startColumn':_0x222363[_0x149a3b(0x268)],'endColumn':_0x222363['actualColumn'],'startRow':_0x222363[_0x149a3b(0x292)],'endRow':_0x222363[_0x149a3b(0x292)]},'value':{'v':String(_0x16fbc7)===transformCheckboxValue(String(_0x1e43d4))?_0x2c0450:_0x1e43d4,'p':null}};this[_0x149a3b(0x2d4)]['executeCommand'](SetRangeValuesCommand['id'],_0x186b1a);}},__name(_a10,_0x4f63e1(0xbc)),_a10);CheckboxRender=__decorateClass$6([__decorateParam$6(0x0,ICommandService),__decorateParam$6(0x1,Inject(DataValidationFormulaService)),__decorateParam$6(0x2,Inject(ThemeService))],CheckboxRender);var __defProp$5=Object['defineProperty'],__getOwnPropDesc$5=Object[_0x4f63e1(0x21b)],__decorateClass$5=__name((_0x49675a,_0x1bd3fa,_0x21a3d9,_0x27f38f)=>{const _0x5e1290=_0x4f63e1;for(var _0x5a1e1b=_0x27f38f>0x1?void 0x0:_0x27f38f?__getOwnPropDesc$5(_0x1bd3fa,_0x21a3d9):_0x1bd3fa,_0xfec5d=_0x49675a[_0x5e1290(0x18a)]-0x1,_0x59da04;_0xfec5d>=0x0;_0xfec5d--)(_0x59da04=_0x49675a[_0xfec5d])&&(_0x5a1e1b=(_0x27f38f?_0x59da04(_0x1bd3fa,_0x21a3d9,_0x5a1e1b):_0x59da04(_0x5a1e1b))||_0x5a1e1b);return _0x27f38f&&_0x5a1e1b&&__defProp$5(_0x1bd3fa,_0x21a3d9,_0x5a1e1b),_0x5a1e1b;},_0x4f63e1(0x1f9)),__decorateParam$5=__name((_0x3f71df,_0x7670a7)=>(_0x5b1c65,_0xf7c12e)=>_0x7670a7(_0x5b1c65,_0xf7c12e,_0x3f71df),_0x4f63e1(0x29b)),_a11;let BaseSheetDataValidatorView=(_a11=class{constructor(_0x4ecbb2){const _0x5412bf=_0x4f63e1;__publicField(this,_0x5412bf(0xa6),null),__publicField(this,_0x5412bf(0x27c)),__publicField(this,_0x5412bf(0x118)),__publicField(this,_0x5412bf(0xe3),LIST_FORMULA_INPUT_NAME),this[_0x5412bf(0x176)]=_0x4ecbb2;}},__name(_a11,_0x4f63e1(0xbe)),_a11);BaseSheetDataValidatorView=__decorateClass$5([__decorateParam$5(0x0,Inject(Injector))],BaseSheetDataValidatorView);const _CheckboxValidatorView=class _CheckboxValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x20f21a=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType[_0x20f21a(0x2b7)]),__publicField(this,_0x20f21a(0xa6),this[_0x20f21a(0x176)]['createInstance'](CheckboxRender)),__publicField(this,_0x20f21a(0xe3),CHECKBOX_FORMULA_INPUT_NAME);}};__name(_CheckboxValidatorView,_0x4f63e1(0x311));let CheckboxValidatorView=_CheckboxValidatorView;const _CustomFormulaValidatorView=class _CustomFormulaValidatorView extends BaseSheetDataValidatorView{constructor(){super(...arguments),__publicField(this,'id',DataValidationType['CUSTOM']),__publicField(this,'formulaInput',CUSTOM_FORMULA_INPUT_NAME);}};__name(_CustomFormulaValidatorView,_0x4f63e1(0x22b));let CustomFormulaValidatorView=_CustomFormulaValidatorView;const BASE_FORMULA_INPUT_NAME=_0x4f63e1(0x273),_DateValidatorView=class _DateValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x556b26=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType[_0x556b26(0x113)]),__publicField(this,_0x556b26(0xe3),BASE_FORMULA_INPUT_NAME),__publicField(this,_0x556b26(0x118),DateShowTimeOption[_0x556b26(0x291)]),__publicField(this,'dropdown',DATE_DROPDOWN_KEY);}};__name(_DateValidatorView,'DateValidatorView');let DateValidatorView=_DateValidatorView;const _DecimalValidatorView=class _DecimalValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x19841e=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['DECIMAL']),__publicField(this,_0x19841e(0xe3),BASE_FORMULA_INPUT_NAME$1);}};__name(_DecimalValidatorView,_0x4f63e1(0xbb));let DecimalValidatorView=_DecimalValidatorView;const PADDING_H$1=0x4,PADDING_V=0x0,MARGIN_H$1=0x4,MARGIN_V$1=0x4,CELL_PADDING_H=0x6,CELL_PADDING_V=0x6,ICON_PLACE$1=0xe;function getDropdownItemSize(_0x172d7f,_0x1a5b6e){const _0x3dd6c4=_0x4f63e1,_0x2b9a4d=FontCache['getTextSize'](_0x172d7f,_0x1a5b6e),_0x24e36a=_0x2b9a4d[_0x3dd6c4(0x23c)]+PADDING_H$1*0x2,{ba:_0x2bee05,bd:_0x542d0d}=_0x2b9a4d,_0x4bc1c9=_0x2bee05+_0x542d0d;return{'width':_0x24e36a,'height':_0x4bc1c9+PADDING_V*0x2,'ba':_0x2bee05};}__name(getDropdownItemSize,_0x4f63e1(0xfe));function layoutDropdowns(_0x59189b,_0x3c2eda,_0x230e98,_0x4199f9){const _0x59107f=_0x4f63e1,_0x25d1b8=_0x230e98-ICON_PLACE$1-CELL_PADDING_H,_0x4ec742=_0x4199f9-CELL_PADDING_V*0x2,_0x371788=_0x59189b['map'](_0x1ded89=>({'layout':getDropdownItemSize(_0x1ded89,_0x3c2eda),'text':_0x1ded89}));let _0x16c620;const _0xd583f4=[];_0x371788[_0x59107f(0xc9)](_0x124672=>{const _0x226da3=_0x59107f,{layout:_0x2fb6e6}=_0x124672,{width:_0x3a5e33,height:_0xab401}=_0x2fb6e6;!_0x16c620||_0x16c620['width']+_0x3a5e33+MARGIN_H$1>_0x25d1b8?(_0x16c620={'width':_0x3a5e33,'height':_0xab401,'items':[{..._0x124672,'left':0x0}]},_0xd583f4[_0x226da3(0x12f)](_0x16c620)):(_0x16c620[_0x226da3(0x2f9)]['push']({..._0x124672,'left':_0x16c620[_0x226da3(0x23c)]+MARGIN_H$1}),_0x16c620[_0x226da3(0x23c)]=_0x16c620[_0x226da3(0x23c)]+_0x3a5e33+MARGIN_H$1);});let _0x440cbd=0x0;return _0xd583f4[_0x59107f(0xc9)]((_0x1ca568,_0x2ae65d)=>{const _0x5d1cc4=_0x59107f;_0x2ae65d===_0xd583f4['length']-0x1?_0x440cbd+=_0x1ca568[_0x5d1cc4(0x2e0)]:_0x440cbd+=_0x1ca568['height']+MARGIN_V$1;}),{'lines':_0xd583f4,'totalHeight':_0x440cbd,'contentWidth':_0x25d1b8,'contentHeight':_0x4ec742,'cellAutoHeight':_0x440cbd+CELL_PADDING_V*0x2};}__name(layoutDropdowns,'layoutDropdowns');const RADIUS=0x8,_Dropdown=class _Dropdown extends Shape{static[_0x4f63e1(0x267)](_0x79e0b7,_0x106766){const _0x5f638a=_0x4f63e1,{fontString:_0x1a1531,info:_0x4dda89,fill:_0x8484ce,color:_0x414e44}=_0x106766,{layout:_0x415244,text:_0x4ebf23}=_0x4dda89;_0x79e0b7[_0x5f638a(0x27d)](),Rect[_0x5f638a(0x267)](_0x79e0b7,{'width':_0x415244[_0x5f638a(0x23c)],'height':_0x415244['height'],'radius':RADIUS,'fill':_0x8484ce||DROP_DOWN_DEFAULT_COLOR}),_0x79e0b7[_0x5f638a(0x103)](PADDING_H$1,_0x415244['ba']),_0x79e0b7[_0x5f638a(0x295)]=_0x1a1531,_0x79e0b7['fillStyle']=_0x414e44,_0x79e0b7[_0x5f638a(0x92)](_0x4ebf23,0x0,0x0),_0x79e0b7[_0x5f638a(0x1cb)]();}};__name(_Dropdown,_0x4f63e1(0x164));let Dropdown=_Dropdown;var __defProp$4=Object['defineProperty'],__getOwnPropDesc$4=Object[_0x4f63e1(0x21b)],__decorateClass$4=__name((_0x3d3ca5,_0xcd2f27,_0x3813ea,_0x55f4c2)=>{const _0x324822=_0x4f63e1;for(var _0x527341=_0x55f4c2>0x1?void 0x0:_0x55f4c2?__getOwnPropDesc$4(_0xcd2f27,_0x3813ea):_0xcd2f27,_0x389d0b=_0x3d3ca5[_0x324822(0x18a)]-0x1,_0x5e9085;_0x389d0b>=0x0;_0x389d0b--)(_0x5e9085=_0x3d3ca5[_0x389d0b])&&(_0x527341=(_0x55f4c2?_0x5e9085(_0xcd2f27,_0x3813ea,_0x527341):_0x5e9085(_0x527341))||_0x527341);return _0x55f4c2&&_0x527341&&__defProp$4(_0xcd2f27,_0x3813ea,_0x527341),_0x527341;},_0x4f63e1(0x110)),__decorateParam$4=__name((_0xa98f03,_0x1098d3)=>(_0x565846,_0x5cd601)=>_0x1098d3(_0x565846,_0x5cd601,_0xa98f03),'__decorateParam$4');const downPath$1=new Path2D(_0x4f63e1(0x126));var _a12;let DropdownMultipleWidget=(_a12=class{constructor(_0x3fd878){const _0x57cbb7=_0x4f63e1;__publicField(this,_0x57cbb7(0x1f3)),__publicField(this,_0x57cbb7(0x82),new Map()),this[_0x57cbb7(0x2d4)]=_0x3fd878;}['_ensureMap'](_0x37c7c4){const _0x3ecdfc=_0x4f63e1;let _0x447d7a=this[_0x3ecdfc(0x82)][_0x3ecdfc(0x29c)](_0x37c7c4);return _0x447d7a||(_0x447d7a=new Map(),this[_0x3ecdfc(0x82)][_0x3ecdfc(0x101)](_0x37c7c4,_0x447d7a)),_0x447d7a;}[_0x4f63e1(0x124)](_0x43d1db,_0x26ccd0){return _0x43d1db+'.'+_0x26ccd0;}['_drawDownIcon'](_0x2d1b12,_0xf3f7a3,_0x2e1594,_0x4918ed,_0x16b52f){const _0x5a4fda=_0x4f63e1,_0x2b58bb=_0x2e1594-ICON_PLACE$1+0x4;let _0xae569=0x4;switch(_0x16b52f){case VerticalAlign[_0x5a4fda(0xd6)]:_0xae569=(_0x4918ed-ICON_PLACE$1)/0x2+0x4;break;case VerticalAlign[_0x5a4fda(0x1b2)]:_0xae569=_0x4918ed-ICON_PLACE$1+0x4;break;}_0x2d1b12['save'](),_0x2d1b12[_0x5a4fda(0x103)](_0xf3f7a3[_0x5a4fda(0x1f5)]+_0x2b58bb,_0xf3f7a3[_0x5a4fda(0x2a9)]+_0xae569),_0x2d1b12[_0x5a4fda(0xfa)]=_0x5a4fda(0x2ed),_0x2d1b12['fill'](downPath$1),_0x2d1b12['restore']();}[_0x4f63e1(0x267)](_0x55e2af,_0x132d9d,_0x3337cf,_0xfc822){const _0x18556f=_0x4f63e1;var _0x5549d2,_0x5a8542;const {primaryWithCoord:_0x41565b,row:_0x33e776,col:_0x59cb1c,style:_0x346951,data:_0x40f729,subUnitId:_0xa9b04a}=_0x132d9d,_0x5ca035=_0x41565b['isMergedMainCell']?_0x41565b['mergeInfo']:_0x41565b,_0xd4ea1f=_0x40f729['fontRenderExtension'],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0xd4ea1f||{},_0x292912=_0x40f729['dataValidation'],_0x4cd10e=this['_ensureMap'](_0xa9b04a),_0x41d78e=this[_0x18556f(0x124)](_0x33e776,_0x59cb1c);if(!_0x292912)return;const _0x51681b={'startX':_0x5ca035[_0x18556f(0x1f5)]+leftOffset,'endX':_0x5ca035['endX']-rightOffset,'startY':_0x5ca035['startY']+topOffset,'endY':_0x5ca035[_0x18556f(0x22e)]-downOffset},_0x428f74=_0x51681b[_0x18556f(0x236)]-_0x51681b[_0x18556f(0x1f5)],_0x4e6eba=_0x51681b[_0x18556f(0x22e)]-_0x51681b[_0x18556f(0x2a9)],{cl:_0x28a1e1}=_0x346951||{},_0x30284a=(_0x5549d2=typeof _0x28a1e1==_0x18556f(0x93)?_0x28a1e1==null?void 0x0:_0x28a1e1[_0x18556f(0x254)]:_0x28a1e1)!=null?_0x5549d2:'#000',_0x4e32f5=getFontStyleString(_0x346951!=null?_0x346951:void 0x0),{rule:_0x124d1a,validator:_0x54c844}=_0x292912,_0x2aad3b=_0x54c844,{vt:_0x159414,ht:_0xfe80d3}=_0x346951||{},_0x4833dd=_0x159414!=null?_0x159414:VerticalAlign[_0x18556f(0xd6)],_0xd8efd3=(_0x5a8542=getCellValueOrigin(_0x40f729))!=null?_0x5a8542:'',_0x24e1c2=_0x2aad3b[_0x18556f(0x7b)](_0xd8efd3),_0x17f391=_0x2aad3b[_0x18556f(0x19e)](_0x124d1a),_0x527761=layoutDropdowns(_0x24e1c2,_0x4e32f5,_0x428f74,_0x4e6eba);this['_drawDownIcon'](_0x55e2af,_0x51681b,_0x428f74,_0x4e6eba,_0x4833dd),_0x55e2af[_0x18556f(0x27d)](),_0x55e2af['translateWithPrecision'](_0x51681b[_0x18556f(0x1f5)],_0x51681b[_0x18556f(0x2a9)]),_0x55e2af['beginPath'](),_0x55e2af['rect'](0x0,0x0,_0x428f74-ICON_PLACE$1,_0x4e6eba),_0x55e2af['clip'](),_0x55e2af['translateWithPrecision'](CELL_PADDING_H,CELL_PADDING_V);let _0x3b4225=0x0;switch(_0x4833dd){case VerticalAlign['MIDDLE']:_0x3b4225=(_0x527761[_0x18556f(0x13c)]-_0x527761[_0x18556f(0x83)])/0x2;break;case VerticalAlign[_0x18556f(0x1b2)]:_0x3b4225=_0x527761[_0x18556f(0x13c)]-_0x527761[_0x18556f(0x83)];break;}_0x55e2af[_0x18556f(0x103)](0x0,_0x3b4225),_0x527761[_0x18556f(0x28b)][_0x18556f(0xc9)]((_0x45447b,_0x46a2e5)=>{const _0x3c697a=_0x18556f;_0x55e2af[_0x3c697a(0x27d)]();const {width:_0x4fd4c7,height:_0x12393d,items:_0x4fd4e1}=_0x45447b;let _0x1bcc47=0x0;switch(_0xfe80d3){case HorizontalAlign[_0x3c697a(0x199)]:_0x1bcc47=_0x527761[_0x3c697a(0x309)]-_0x4fd4c7;break;case HorizontalAlign['CENTER']:_0x1bcc47=(_0x527761[_0x3c697a(0x309)]-_0x4fd4c7)/0x2;break;}_0x55e2af[_0x3c697a(0xc7)](_0x1bcc47,_0x46a2e5*(_0x12393d+MARGIN_V$1)),_0x4fd4e1[_0x3c697a(0xc9)](_0x7cf099=>{const _0x19f21e=_0x3c697a;_0x55e2af['save'](),_0x55e2af['translateWithPrecision'](_0x7cf099[_0x19f21e(0x210)],0x0),Dropdown[_0x19f21e(0x267)](_0x55e2af,{..._0x4e32f5,'info':_0x7cf099,'color':_0x30284a,'fill':_0x17f391[_0x7cf099['text']]}),_0x55e2af[_0x19f21e(0x1cb)]();}),_0x55e2af[_0x3c697a(0x1cb)]();}),_0x55e2af['restore'](),_0x4cd10e['set'](_0x41d78e,{'left':_0x51681b[_0x18556f(0x1f5)],'top':_0x51681b[_0x18556f(0x2a9)],'width':_0x527761[_0x18556f(0x309)]+CELL_PADDING_H+ICON_PLACE$1,'height':_0x527761[_0x18556f(0x13c)]+CELL_PADDING_V*0x2});}['calcCellAutoHeight'](_0x220346){const _0x200e6c=_0x4f63e1;var _0x50474a;const {primaryWithCoord:_0x2f495c,style:_0x5576d3,data:_0x34f8e1}=_0x220346,_0xd43be7=_0x34f8e1[_0x200e6c(0x129)],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0xd43be7||{},_0x585902=_0x2f495c[_0x200e6c(0x30c)]?_0x2f495c['mergeInfo']:_0x2f495c,_0x33039f={'startX':_0x585902[_0x200e6c(0x1f5)]+leftOffset,'endX':_0x585902[_0x200e6c(0x236)]-rightOffset,'startY':_0x585902[_0x200e6c(0x2a9)]+topOffset,'endY':_0x585902[_0x200e6c(0x22e)]-downOffset},_0x3d5118=_0x34f8e1[_0x200e6c(0x2bf)];if(!_0x3d5118)return;const _0x17c03b=_0x33039f[_0x200e6c(0x236)]-_0x33039f[_0x200e6c(0x1f5)],_0x12d675=_0x33039f[_0x200e6c(0x22e)]-_0x33039f['startY'],_0x5d5520=(_0x50474a=getCellValueOrigin(_0x34f8e1))!=null?_0x50474a:'',{validator:_0x71313f}=_0x3d5118,_0x1af25a=_0x71313f['parseCellValue'](_0x5d5520),_0x429020=getFontStyleString(_0x5576d3!=null?_0x5576d3:void 0x0);return layoutDropdowns(_0x1af25a,_0x429020,_0x17c03b,_0x12d675)[_0x200e6c(0x78)];}['isHit'](_0x30a0e6,_0x301291){const _0x34827e=_0x4f63e1,{primaryWithCoord:_0x5a2720}=_0x301291,_0x2226c4=_0x5a2720[_0x34827e(0x30c)]?_0x5a2720[_0x34827e(0x114)]:_0x5a2720,{endX:_0x2fcffb}=_0x2226c4,{x:_0x19aaa0}=_0x30a0e6;return _0x19aaa0>=_0x2fcffb-ICON_PLACE$1&&_0x19aaa0<=_0x2fcffb;}[_0x4f63e1(0x2a4)](_0x24003b,_0x21a78d){const _0x58c454=_0x4f63e1;if(_0x21a78d[_0x58c454(0x15e)]===0x2)return;const {unitId:_0x2f68f5,subUnitId:_0x57be57,row:_0x175c24,col:_0x13992c}=_0x24003b,_0x124cdc={'unitId':_0x2f68f5,'subUnitId':_0x57be57,'row':_0x175c24,'column':_0x13992c};this[_0x58c454(0x2d4)][_0x58c454(0x293)](ShowDataValidationDropdown['id'],_0x124cdc);}},__name(_a12,_0x4f63e1(0x215)),_a12);DropdownMultipleWidget=__decorateClass$4([__decorateParam$4(0x0,ICommandService)],DropdownMultipleWidget);const _ListMultipleValidatorView=class _ListMultipleValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x21e885=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['LIST_MULTIPLE']),__publicField(this,_0x21e885(0xa6),this[_0x21e885(0x176)][_0x21e885(0x269)](DropdownMultipleWidget));}};__name(_ListMultipleValidatorView,_0x4f63e1(0x299));let ListMultipleValidatorView=_ListMultipleValidatorView;var __defProp$3=Object['defineProperty'],__getOwnPropDesc$3=Object[_0x4f63e1(0x21b)],__decorateClass$3=__name((_0x566759,_0x73bd3,_0x33680e,_0x26620b)=>{const _0x6b7bbc=_0x4f63e1;for(var _0x42ec5e=_0x26620b>0x1?void 0x0:_0x26620b?__getOwnPropDesc$3(_0x73bd3,_0x33680e):_0x73bd3,_0x3a5898=_0x566759[_0x6b7bbc(0x18a)]-0x1,_0x256e51;_0x3a5898>=0x0;_0x3a5898--)(_0x256e51=_0x566759[_0x3a5898])&&(_0x42ec5e=(_0x26620b?_0x256e51(_0x73bd3,_0x33680e,_0x42ec5e):_0x256e51(_0x42ec5e))||_0x42ec5e);return _0x26620b&&_0x42ec5e&&__defProp$3(_0x73bd3,_0x33680e,_0x42ec5e),_0x42ec5e;},_0x4f63e1(0xde)),__decorateParam$3=__name((_0x264ef7,_0x1c6743)=>(_0x134980,_0x5ac16d)=>_0x1c6743(_0x134980,_0x5ac16d,_0x264ef7),_0x4f63e1(0x230));const PADDING_H=0x4,ICON_SIZE=0x4,ICON_PLACE=0xe,MARGIN_H=0x6,MARGIN_V=0x4,DROP_DOWN_ICON_COLOR=_0x4f63e1(0x2ed),downPath=new Path2D(_0x4f63e1(0x126));function convertToDocumentData(_0x198ec6,_0x500405){const _0x4f12b0=_0x4f63e1,_0xae53ec=_0x198ec6[_0x4f12b0(0x18a)];return{'id':'d','body':{'dataStream':''+_0x198ec6+DEFAULT_EMPTY_DOCUMENT_VALUE,'textRuns':[{'ts':{'fs':0xb,'ff':void 0x0,'it':BooleanNumber['FALSE'],'bl':BooleanNumber['FALSE'],'ul':{'s':BooleanNumber['FALSE']},'st':{'s':BooleanNumber[_0x4f12b0(0xca)]},'ol':{'s':BooleanNumber['FALSE']},'cl':void 0x0,..._0x500405,'bg':void 0x0,'bd':void 0x0},'st':0x0,'ed':_0xae53ec}]},'documentStyle':{'pageSize':{'width':Number[_0x4f12b0(0x216)],'height':Number[_0x4f12b0(0x216)]}}};}__name(convertToDocumentData,'convertToDocumentData');function createDocSkeleton(_0x51025d,_0x58ac81,_0x3f3661){const _0x527ddc=_0x4f63e1,_0x15420c=convertToDocumentData(_0x51025d,_0x3f3661),_0x35a2a1=new DocumentDataModel(_0x15420c),_0x47213d=new DocumentViewModel(_0x35a2a1);return{'documentSkeleton':DocumentSkeleton[_0x527ddc(0x2f6)](_0x47213d,_0x58ac81),'docModel':_0x35a2a1,'docViewModel':_0x47213d};}__name(createDocSkeleton,_0x4f63e1(0x18f));function createDocuments(_0x425597,_0x37b7b0,_0x3ef610){const _0x2002ff=_0x4f63e1,{documentSkeleton:_0x238478,docModel:_0x4bc932,docViewModel:_0x13658c}=createDocSkeleton(_0x425597,_0x37b7b0,_0x3ef610);return{'documents':new Documents('DOCUMENTS_'+Tools[_0x2002ff(0x1a0)](),_0x238478,{'pageMarginLeft':0x0,'pageMarginTop':0x0}),'documentSkeleton':_0x238478,'docModel':_0x4bc932,'docViewModel':_0x13658c};}__name(createDocuments,_0x4f63e1(0x2da));function calcPadding(_0x1e10c6,_0x492dbd,_0x451f2d,_0x6e1f6b,_0x1d06f6,_0x3dc6cc,_0x586f43=!0x0){const _0x59155d=_0x4f63e1;let _0x272674=0x0;const _0x56b1=_0x586f43?MARGIN_V:0x0;switch(_0x1d06f6){case VerticalAlign[_0x59155d(0x1b2)]:_0x272674=_0x492dbd-_0x6e1f6b-_0x56b1;break;case VerticalAlign[_0x59155d(0xd6)]:_0x272674=(_0x492dbd-_0x6e1f6b)/0x2;break;default:_0x272674=_0x56b1;break;}_0x272674=Math[_0x59155d(0x1b3)](MARGIN_V,_0x272674);let _0x5d4202=0x0;switch(_0x3dc6cc){case HorizontalAlign[_0x59155d(0x232)]:_0x5d4202=(_0x1e10c6-_0x451f2d)/0x2;break;case HorizontalAlign[_0x59155d(0x199)]:_0x5d4202=_0x1e10c6-_0x451f2d;break;}return _0x5d4202=Math['max'](MARGIN_H,_0x5d4202),{'paddingLeft':_0x5d4202,'paddingTop':_0x272674};}__name(calcPadding,_0x4f63e1(0xd5));var _a13;let DropdownWidget=(_a13=class{constructor(_0x1e3ab5,_0x23d352){const _0x4a9b9a=_0x4f63e1;__publicField(this,_0x4a9b9a(0x82),new Map()),__publicField(this,_0x4a9b9a(0x1f3)),__publicField(this,_0x4a9b9a(0x81)),__publicField(this,'onPointerLeave'),(this[_0x4a9b9a(0x23f)]=_0x1e3ab5,this['_commandService']=_0x23d352);}['_ensureMap'](_0x2676d5){const _0x4ae062=_0x4f63e1;let _0x217e4a=this[_0x4ae062(0x82)][_0x4ae062(0x29c)](_0x2676d5);return _0x217e4a||(_0x217e4a=new Map(),this[_0x4ae062(0x82)]['set'](_0x2676d5,_0x217e4a)),_0x217e4a;}['_generateKey'](_0x2b967d,_0x4e311c){return _0x2b967d+'.'+_0x4e311c;}['_drawDownIcon'](_0x2b50e3,_0x3b1aa3,_0x5bb83f,_0x4d13ea,_0x134211,_0x443099,_0x5e8189){const _0x41623e=_0x4f63e1,{t:t=DEFAULT_STYLES['pd']['t'],b:b=DEFAULT_STYLES['pd']['b']}=_0x5e8189,_0x518faa=_0x5bb83f-ICON_PLACE;let _0x527068;switch(_0x443099){case VerticalAlign['MIDDLE']:_0x527068=(_0x4d13ea-ICON_SIZE)/0x2;break;case VerticalAlign[_0x41623e(0x1b2)]:_0x527068=_0x4d13ea-b-_0x134211-MARGIN_V+(_0x134211/0x2-ICON_SIZE/0x2);break;default:_0x527068=t+MARGIN_V+(_0x134211/0x2-ICON_SIZE/0x2);break;}_0x2b50e3[_0x41623e(0x27d)](),_0x2b50e3[_0x41623e(0x103)](_0x3b1aa3['startX']+_0x518faa,_0x3b1aa3[_0x41623e(0x2a9)]+_0x527068),_0x2b50e3[_0x41623e(0xfa)]='#565656',_0x2b50e3[_0x41623e(0x243)](downPath),_0x2b50e3[_0x41623e(0x1cb)]();}['drawWith'](_0x3f3974,_0x511810,_0x46bd2f){const _0x5a40e2=_0x4f63e1;var _0x588ddb,_0x4f9d91;const {primaryWithCoord:_0x58fcde,row:_0x527212,col:_0x5eb2d5,style:_0x2b52f9,data:_0x5cf737,subUnitId:_0x55805b}=_0x511810,_0x1340d1=_0x58fcde[_0x5a40e2(0x30c)]?_0x58fcde[_0x5a40e2(0x114)]:_0x58fcde,_0x590a6c=(_0x588ddb=_0x5cf737[_0x5a40e2(0x2bf)])==null?void 0x0:_0x588ddb[_0x5a40e2(0x201)],_0x52f301=(_0x4f9d91=_0x5cf737[_0x5a40e2(0x2bf)])==null?void 0x0:_0x4f9d91[_0x5a40e2(0x16c)],_0x5df1ed=_0x5cf737['fontRenderExtension'],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0x5df1ed||{};if(!_0x590a6c||!_0x52f301||!_0x52f301||_0x52f301['id'][_0x5a40e2(0xea)](DataValidationType[_0x5a40e2(0x1ab)])!==0x0||!_0x52f301[_0x5a40e2(0x2be)](_0x590a6c))return;const _0x213bbd={'startX':_0x1340d1['startX']+leftOffset,'endX':_0x1340d1['endX']-rightOffset,'startY':_0x1340d1[_0x5a40e2(0x2a9)]+topOffset,'endY':_0x1340d1[_0x5a40e2(0x22e)]-downOffset},_0x49e0b8=_0x213bbd[_0x5a40e2(0x236)]-_0x213bbd[_0x5a40e2(0x1f5)],_0x524a8f=_0x213bbd[_0x5a40e2(0x22e)]-_0x213bbd['startY'],_0x46e469=this['_ensureMap'](_0x55805b),_0x5a83a1=this['_generateKey'](_0x527212,_0x5eb2d5),_0x494229=_0x52f301[_0x5a40e2(0xd7)](_0x590a6c),_0x5132d1=getCellValueOrigin(_0x5cf737),_0x175a34=''+(_0x5132d1!=null?_0x5132d1:''),_0x40bb4e=_0x494229[_0x5a40e2(0x1c8)](_0x329a8e=>_0x329a8e[_0x5a40e2(0x284)]===_0x175a34);let {tb:_0x8fa22d,vt:_0x2f6512,ht:_0x514df1,pd:_0x16293d}=_0x2b52f9||{};if(_0x8fa22d=_0x8fa22d!=null?_0x8fa22d:WrapStrategy['WRAP'],_0x2f6512=_0x2f6512!=null?_0x2f6512:VerticalAlign[_0x5a40e2(0x1b2)],_0x514df1=_0x514df1!=null?_0x514df1:DEFAULT_STYLES['ht'],_0x16293d=_0x16293d!=null?_0x16293d:DEFAULT_STYLES['pd'],_0x590a6c[_0x5a40e2(0x1c7)]===DataValidationRenderMode['ARROW']){const {l:_0x2a0aed=DEFAULT_STYLES['pd']['l'],t:t=DEFAULT_STYLES['pd']['t'],r:r=DEFAULT_STYLES['pd']['r'],b:b=DEFAULT_STYLES['pd']['b']}=_0x16293d,_0x925e36=_0x49e0b8-_0x2a0aed-r-ICON_PLACE-0x4,{documentSkeleton:_0x132ac1,documents:_0x34f595,docModel:_0x2c09d9}=createDocuments(_0x175a34,this['_localeService'],_0x2b52f9);_0x8fa22d===WrapStrategy[_0x5a40e2(0x2f4)]&&_0x2c09d9[_0x5a40e2(0xa8)](Math[_0x5a40e2(0x1b3)](_0x925e36,0x1)),_0x132ac1[_0x5a40e2(0x88)](),_0x132ac1['getActualSize']();const _0x32361d=getDocsSkeletonPageSize(_0x132ac1),{height:_0x5126e1,width:_0x3d2cad}=_0x32361d,{paddingTop:_0x2e603d,paddingLeft:_0x22a674}=calcPadding(_0x925e36,_0x524a8f-t-b,_0x3d2cad,_0x5126e1,_0x2f6512,_0x514df1,!0x0);this[_0x5a40e2(0xd1)](_0x3f3974,_0x213bbd,_0x49e0b8,_0x524a8f,_0x5126e1,_0x2f6512,_0x16293d),_0x3f3974['save'](),_0x3f3974[_0x5a40e2(0x103)](_0x213bbd[_0x5a40e2(0x1f5)]+_0x2a0aed,_0x213bbd[_0x5a40e2(0x2a9)]+t),_0x3f3974[_0x5a40e2(0x154)](),_0x3f3974[_0x5a40e2(0x2a3)](0x0,0x0,_0x49e0b8-_0x2a0aed-r,_0x524a8f-t-b),_0x3f3974[_0x5a40e2(0x1f6)](),_0x3f3974[_0x5a40e2(0x103)](0x0,_0x2e603d),_0x3f3974[_0x5a40e2(0x27d)](),_0x3f3974['translateWithPrecision'](PADDING_H,0x0),_0x3f3974[_0x5a40e2(0x154)](),_0x3f3974['rect'](0x0,0x0,_0x925e36,_0x5126e1),_0x3f3974[_0x5a40e2(0x1f6)](),_0x34f595[_0x5a40e2(0x226)](_0x3f3974),_0x3f3974[_0x5a40e2(0x103)](_0x22a674,0x0),_0x3f3974[_0x5a40e2(0x1cb)](),_0x3f3974[_0x5a40e2(0x1cb)](),_0x46e469[_0x5a40e2(0x101)](_0x5a83a1,{'left':_0x213bbd[_0x5a40e2(0x236)]+_0x2a0aed+_0x46bd2f['rowHeaderWidth']-ICON_PLACE,'top':_0x213bbd[_0x5a40e2(0x2a9)]+t+_0x46bd2f[_0x5a40e2(0x21d)],'width':ICON_PLACE,'height':_0x524a8f-t-b});}else{_0x3f3974['save'](),_0x3f3974[_0x5a40e2(0x103)](_0x213bbd['startX'],_0x213bbd[_0x5a40e2(0x2a9)]),_0x3f3974['beginPath'](),_0x3f3974['rect'](0x0,0x0,_0x49e0b8,_0x524a8f),_0x3f3974[_0x5a40e2(0x1f6)]();const _0x3db71f=_0x49e0b8-MARGIN_H*0x2-PADDING_H-ICON_PLACE-0x4,{documentSkeleton:_0x5a1e06,documents:_0x2cbd1c,docModel:_0xd2072d}=createDocuments(_0x175a34,this['_localeService'],_0x2b52f9);_0x8fa22d===WrapStrategy[_0x5a40e2(0x2f4)]&&_0xd2072d[_0x5a40e2(0xa8)](Math['max'](_0x3db71f,0x1)),_0x5a1e06[_0x5a40e2(0x88)]();const _0x4e3f96=getDocsSkeletonPageSize(_0x5a1e06),{height:_0x315fa1,width:_0x1cde17}=_0x4e3f96,{paddingTop:_0x341b9,paddingLeft:_0xca2b20}=calcPadding(_0x3db71f,_0x524a8f,_0x1cde17,_0x315fa1,_0x2f6512,_0x514df1);_0x3f3974[_0x5a40e2(0x103)](MARGIN_H,_0x341b9);const _0x13ad8f=Math[_0x5a40e2(0x1b3)](_0x49e0b8-MARGIN_H*0x2,0x1),_0x5c1070=_0x315fa1;Rect[_0x5a40e2(0x267)](_0x3f3974,{'width':_0x13ad8f,'height':_0x5c1070,'fill':(_0x40bb4e==null?void 0x0:_0x40bb4e[_0x5a40e2(0x188)])||DROP_DOWN_DEFAULT_COLOR,'radius':0x8}),_0x3f3974['save'](),_0x3f3974[_0x5a40e2(0x103)](PADDING_H,0x0),_0x3f3974[_0x5a40e2(0x154)](),_0x3f3974[_0x5a40e2(0x2a3)](0x0,0x0,_0x3db71f,_0x315fa1),_0x3f3974[_0x5a40e2(0x1f6)](),_0x3f3974[_0x5a40e2(0x103)](_0xca2b20,0x0),_0x2cbd1c[_0x5a40e2(0x226)](_0x3f3974),_0x3f3974['restore'](),_0x3f3974[_0x5a40e2(0x103)](_0x3db71f+PADDING_H+0x4,(_0x315fa1-ICON_SIZE)/0x2),_0x3f3974[_0x5a40e2(0xfa)]=DROP_DOWN_ICON_COLOR,_0x3f3974[_0x5a40e2(0x243)](downPath),_0x3f3974['restore'](),_0x46e469[_0x5a40e2(0x101)](_0x5a83a1,{'left':_0x213bbd['startX']+MARGIN_H+_0x46bd2f['rowHeaderWidth'],'top':_0x213bbd[_0x5a40e2(0x2a9)]+_0x341b9+_0x46bd2f['columnHeaderHeight'],'width':_0x13ad8f,'height':_0x5c1070});}}[_0x4f63e1(0x1af)](_0x5a617f){const _0x1e6c12=_0x4f63e1;var _0x1f816d;const {primaryWithCoord:_0x1a4818,style:_0x13b818,data:_0x5fd7dd}=_0x5a617f,_0x5e10fe=_0x1a4818[_0x1e6c12(0x30c)]?_0x1a4818[_0x1e6c12(0x114)]:_0x1a4818,_0x4a9d26=_0x5fd7dd[_0x1e6c12(0x129)],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0x4a9d26||{},_0x47b428=(_0x1f816d=_0x5fd7dd[_0x1e6c12(0x2bf)])==null?void 0x0:_0x1f816d[_0x1e6c12(0x201)];if(!_0x47b428||_0x47b428[_0x1e6c12(0x1c7)]===DataValidationRenderMode[_0x1e6c12(0x205)])return;const _0x643234={'startX':_0x5e10fe[_0x1e6c12(0x1f5)]+leftOffset,'endX':_0x5e10fe['endX']-rightOffset,'startY':_0x5e10fe[_0x1e6c12(0x2a9)]+topOffset,'endY':_0x5e10fe['endY']-downOffset},_0xe71b92=_0x643234[_0x1e6c12(0x236)]-_0x643234[_0x1e6c12(0x1f5)],_0x49449e=getCellValueOrigin(_0x5fd7dd),_0x6de7c9=''+(_0x49449e!=null?_0x49449e:'');let {tb:_0x4869fe,pd:_0xdbb6c0}=_0x13b818||{};const {t:t=DEFAULT_STYLES['pd']['t'],b:b=DEFAULT_STYLES['pd']['b']}=_0xdbb6c0!=null?_0xdbb6c0:{};if(_0x4869fe=_0x4869fe!=null?_0x4869fe:WrapStrategy[_0x1e6c12(0x2f4)],_0x47b428[_0x1e6c12(0x1c7)]===DataValidationRenderMode['ARROW']){const _0xd37af2=_0xe71b92-ICON_PLACE,{documentSkeleton:_0x4832da,docModel:_0x4a903d}=createDocuments(_0x6de7c9,this[_0x1e6c12(0x23f)],_0x13b818);_0x4869fe===WrapStrategy[_0x1e6c12(0x2f4)]&&_0x4a903d[_0x1e6c12(0xa8)](Math[_0x1e6c12(0x1b3)](_0xd37af2,0x1)),_0x4832da['calculate'](),_0x4832da['getActualSize']();const _0x38295e=getDocsSkeletonPageSize(_0x4832da),{height:_0x24512c}=_0x38295e;return _0x24512c+t+b+MARGIN_V*0x2;}else{const _0x59f715=_0xe71b92-MARGIN_H*0x2-PADDING_H-ICON_PLACE,{documentSkeleton:_0x453a2e,docModel:_0x1e90e8}=createDocSkeleton(_0x6de7c9,this[_0x1e6c12(0x23f)],_0x13b818);_0x4869fe===WrapStrategy['WRAP']&&_0x1e90e8[_0x1e6c12(0xa8)](Math[_0x1e6c12(0x1b3)](_0x59f715,0x1)),_0x453a2e[_0x1e6c12(0x88)]();const _0x4abe1b=getDocsSkeletonPageSize(_0x453a2e),{height:_0x340bc8}=_0x4abe1b;return _0x340bc8+MARGIN_V*0x2;}}[_0x4f63e1(0x248)](_0x1b5ddf,_0x16e8ae){const _0x384e6f=_0x4f63e1,{data:_0x2c7b15,subUnitId:_0x6aba5a,row:_0x4f8102,col:_0x583a9b}=_0x16e8ae,_0x119bcc=this['_ensureMap'](_0x6aba5a)[_0x384e6f(0x29c)](this[_0x384e6f(0x124)](_0x4f8102,_0x583a9b)),_0xa63c89=_0x2c7b15[_0x384e6f(0x2bf)];if(!_0xa63c89||!_0x119bcc||_0xa63c89[_0x384e6f(0x201)][_0x384e6f(0x1c7)]===DataValidationRenderMode['TEXT'])return!0x1;const {top:_0x50bd69,left:_0x46bb78,width:_0x4f3f51,height:_0x16472f}=_0x119bcc,{x:_0x174fb4,y:_0x14c437}=_0x1b5ddf;return _0x174fb4>=_0x46bb78&&_0x174fb4<=_0x46bb78+_0x4f3f51&&_0x14c437>=_0x50bd69&&_0x14c437<=_0x50bd69+_0x16472f;}[_0x4f63e1(0x2a4)](_0x38b922,_0x5cd145){const _0x34763=_0x4f63e1;if(_0x5cd145[_0x34763(0x15e)]===0x2)return;const {unitId:_0xb770df,subUnitId:_0x7e0457,row:_0x5762a4,col:_0x4394ac}=_0x38b922,_0x3fd561={'unitId':_0xb770df,'subUnitId':_0x7e0457,'row':_0x5762a4,'column':_0x4394ac};this[_0x34763(0x2d4)][_0x34763(0x293)](ShowDataValidationDropdown['id'],_0x3fd561);}},__name(_a13,_0x4f63e1(0x24c)),_a13);DropdownWidget=__decorateClass$3([__decorateParam$3(0x0,Inject(LocaleService)),__decorateParam$3(0x1,ICommandService)],DropdownWidget);const _ListValidatorView=class _ListValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x2ee67d=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType[_0x2ee67d(0x1ab)]),__publicField(this,'canvasRender',this['injector'][_0x2ee67d(0x269)](DropdownWidget)),__publicField(this,_0x2ee67d(0x27c),LIST_DROPDOWN_KEY),__publicField(this,_0x2ee67d(0x118),ListRenderModeInput['componentKey']),__publicField(this,_0x2ee67d(0xe3),LIST_FORMULA_INPUT_NAME);}};__name(_ListValidatorView,'ListValidatorView');let ListValidatorView=_ListValidatorView;const _TextLengthValidatorView=class _TextLengthValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x501658=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['TEXT_LENGTH']),__publicField(this,_0x501658(0xe3),BASE_FORMULA_INPUT_NAME$1);}};__name(_TextLengthValidatorView,_0x4f63e1(0xce));let TextLengthValidatorView=_TextLengthValidatorView;const _WholeValidatorView=class _WholeValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x2f2d23=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['WHOLE']),__publicField(this,_0x2f2d23(0xe3),BASE_FORMULA_INPUT_NAME$1);}};__name(_WholeValidatorView,_0x4f63e1(0x16e));let WholeValidatorView=_WholeValidatorView;var __defProp$2=Object['defineProperty'],__getOwnPropDesc$2=Object[_0x4f63e1(0x21b)],__decorateClass$2=__name((_0x3c2d04,_0x4c5e35,_0x4dc0d5,_0x1f1a42)=>{for(var _0x2aab3f=_0x1f1a42>0x1?void 0x0:_0x1f1a42?__getOwnPropDesc$2(_0x4c5e35,_0x4dc0d5):_0x4c5e35,_0x4368df=_0x3c2d04['length']-0x1,_0x291ccd;_0x4368df>=0x0;_0x4368df--)(_0x291ccd=_0x3c2d04[_0x4368df])&&(_0x2aab3f=(_0x1f1a42?_0x291ccd(_0x4c5e35,_0x4dc0d5,_0x2aab3f):_0x291ccd(_0x2aab3f))||_0x2aab3f);return _0x1f1a42&&_0x2aab3f&&__defProp$2(_0x4c5e35,_0x4dc0d5,_0x2aab3f),_0x2aab3f;},_0x4f63e1(0xe0)),__decorateParam$2=__name((_0x5e1ec7,_0x14bfc4)=>(_0x1b1861,_0x5962b7)=>_0x14bfc4(_0x1b1861,_0x5962b7,_0x5e1ec7),_0x4f63e1(0x2c7)),_a14;let SheetsDataValidationUIController=(_a14=class extends RxDisposable{constructor(_0x5d2417,_0x570540,_0x42e2a6){const _0x5e7cb1=_0x4f63e1;super(),this[_0x5e7cb1(0x25d)]=_0x5d2417,this[_0x5e7cb1(0xe6)]=_0x570540,this[_0x5e7cb1(0xbd)]=_0x42e2a6,this[_0x5e7cb1(0x263)](),this['_registerValidatorViews']();}[_0x4f63e1(0x263)](){const _0x165ae5=_0x4f63e1;[[DataValidationIcon,DataValidationSingle],[DATA_VALIDATION_PANEL,DataValidationPanel],[DROP_DOWN_KEY,CellDropdown],[LIST_DROPDOWN_KEY,ListDropDown],[DATE_DROPDOWN_KEY,DateDropdown],[ListRenderModeInput[_0x165ae5(0x291)],ListRenderModeInput],[DateShowTimeOption[_0x165ae5(0x291)],DateShowTimeOption],...FORMULA_INPUTS]['forEach'](([_0x4e26ac,_0x5919c1])=>{const _0x4b4ca7=_0x165ae5;this[_0x4b4ca7(0x2d7)](this[_0x4b4ca7(0xe6)][_0x4b4ca7(0x1b4)](_0x4e26ac,_0x5919c1));});}['_registerValidatorViews'](){const _0x3a2ffa=_0x4f63e1;[DecimalValidatorView,WholeValidatorView,TextLengthValidatorView,DateValidatorView,CheckboxValidatorView,ListValidatorView,ListMultipleValidatorView,CustomFormulaValidatorView][_0x3a2ffa(0xc9)](_0x102fa7=>{const _0x2e99bc=_0x3a2ffa,_0x566e69=this['_injector']['createInstance'](_0x102fa7),_0x59307e=this['_dataValidatorRegistryService'][_0x2e99bc(0x90)](_0x566e69['id']);_0x59307e&&(_0x59307e[_0x2e99bc(0xe3)]=_0x566e69[_0x2e99bc(0xe3)],_0x59307e[_0x2e99bc(0xa6)]=_0x566e69[_0x2e99bc(0xa6)],_0x59307e[_0x2e99bc(0x27c)]=_0x566e69[_0x2e99bc(0x27c)],_0x59307e[_0x2e99bc(0x118)]=_0x566e69[_0x2e99bc(0x118)]);});}},__name(_a14,_0x4f63e1(0x153)),_a14);SheetsDataValidationUIController=__decorateClass$2([__decorateParam$2(0x0,Inject(Injector)),__decorateParam$2(0x1,Inject(ComponentManager)),__decorateParam$2(0x2,Inject(DataValidatorRegistryService))],SheetsDataValidationUIController);var __defProp$1=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$1=Object[_0x4f63e1(0x21b)],__decorateClass$1=__name((_0x4ce53,_0x45404a,_0x35198a,_0x48233e)=>{const _0x4839fa=_0x4f63e1;for(var _0x1be48d=_0x48233e>0x1?void 0x0:_0x48233e?__getOwnPropDesc$1(_0x45404a,_0x35198a):_0x45404a,_0x16dd6b=_0x4ce53[_0x4839fa(0x18a)]-0x1,_0xbaf7cd;_0x16dd6b>=0x0;_0x16dd6b--)(_0xbaf7cd=_0x4ce53[_0x16dd6b])&&(_0x1be48d=(_0x48233e?_0xbaf7cd(_0x45404a,_0x35198a,_0x1be48d):_0xbaf7cd(_0x1be48d))||_0x1be48d);return _0x48233e&&_0x1be48d&&__defProp$1(_0x45404a,_0x35198a,_0x1be48d),_0x1be48d;},'__decorateClass$1'),__decorateParam$1=__name((_0x51fdf9,_0x3c6344)=>(_0x1000c8,_0x33eef3)=>_0x3c6344(_0x1000c8,_0x33eef3,_0x51fdf9),_0x4f63e1(0x252));const PLUGIN_NAME$1=_0x4f63e1(0x150);var _a15;let UniverSheetsDataValidationUIPlugin=(_a15=class extends Plugin{constructor(_0xdd5c2b=defaultPluginConfig,_0x5e65db,_0x8bf6aa,_0x4fef82){const _0x13dd49=_0x4f63e1;super(),this[_0x13dd49(0xab)]=_0xdd5c2b,this[_0x13dd49(0x25d)]=_0x5e65db,this[_0x13dd49(0x2d4)]=_0x8bf6aa,this[_0x13dd49(0x2a1)]=_0x4fef82;const {menu:_0x3e8425,..._0x37f27a}=this['_config'];_0x3e8425&&this[_0x13dd49(0x2a1)][_0x13dd49(0x2f0)]('menu',_0x3e8425,{'merge':!0x0}),this[_0x13dd49(0x2a1)][_0x13dd49(0x2f0)](PLUGIN_CONFIG_KEY,_0x37f27a);}[_0x4f63e1(0x1e8)](){const _0x3c8af4=_0x4f63e1;[[DataValidationPanelService],[DataValidationDropdownManagerService],[DataValidationAlertController],[DataValidationAutoFillController],[SheetsDataValidationRenderController],[DataValidationPermissionController],[DataValidationCopyPasteController],[DataValidationRejectInputController],[SheetsDataValidationUIController]][_0x3c8af4(0xc9)](_0x118153=>{const _0x1eddf4=_0x3c8af4;this['_injector'][_0x1eddf4(0xbf)](_0x118153);}),[AddSheetDataValidationAndOpenCommand,ShowDataValidationDropdown,HideDataValidationDropdown,CloseValidationPanelOperation,OpenValidationPanelOperation,ToggleValidationPanelOperation][_0x3c8af4(0xc9)](_0x5c11c3=>{const _0x4210a1=_0x3c8af4;this['_commandService'][_0x4210a1(0x28f)](_0x5c11c3);});}[_0x4f63e1(0x28d)](){const _0x333795=_0x4f63e1;this[_0x333795(0x25d)][_0x333795(0x29c)](DataValidationCopyPasteController),this[_0x333795(0x25d)][_0x333795(0x29c)](DataValidationPermissionController),this[_0x333795(0x25d)][_0x333795(0x29c)](DataValidationRejectInputController),this[_0x333795(0x25d)]['get'](DataValidationAlertController);}[_0x4f63e1(0x17f)](){const _0x52dd48=_0x4f63e1;this[_0x52dd48(0x25d)][_0x52dd48(0x29c)](SheetsDataValidationUIController),this[_0x52dd48(0x25d)][_0x52dd48(0x29c)](SheetsDataValidationRenderController);}[_0x4f63e1(0x257)](){const _0x16e8d1=_0x4f63e1;this[_0x16e8d1(0x25d)]['get'](DataValidationAutoFillController);}},__name(_a15,_0x4f63e1(0x233)),__publicField(_a15,'pluginName',PLUGIN_NAME$1),__publicField(_a15,'type',UniverInstanceType['UNIVER_SHEET']),_a15);UniverSheetsDataValidationUIPlugin=__decorateClass$1([__decorateParam$1(0x1,Inject(Injector)),__decorateParam$1(0x2,ICommandService),__decorateParam$1(0x3,IConfigService)],UniverSheetsDataValidationUIPlugin);var __defProp2=Object['defineProperty'],__getOwnPropDesc=Object[_0x4f63e1(0x21b)],__decorateClass=__name((_0x4ce885,_0x7c16c6,_0x2a46dc,_0x2a6f10)=>{const _0x18498c=_0x4f63e1;for(var _0xe7a4dd=_0x2a6f10>0x1?void 0x0:_0x2a6f10?__getOwnPropDesc(_0x7c16c6,_0x2a46dc):_0x7c16c6,_0x55cec8=_0x4ce885[_0x18498c(0x18a)]-0x1,_0x398b03;_0x55cec8>=0x0;_0x55cec8--)(_0x398b03=_0x4ce885[_0x55cec8])&&(_0xe7a4dd=(_0x2a6f10?_0x398b03(_0x7c16c6,_0x2a46dc,_0xe7a4dd):_0x398b03(_0xe7a4dd))||_0xe7a4dd);return _0x2a6f10&&_0xe7a4dd&&__defProp2(_0x7c16c6,_0x2a46dc,_0xe7a4dd),_0xe7a4dd;},'__decorateClass'),__decorateParam=__name((_0x57cb9e,_0x596ba7)=>(_0xca8c85,_0x21985d)=>_0x596ba7(_0xca8c85,_0x21985d,_0x57cb9e),_0x4f63e1(0xad));const PLUGIN_NAME=_0x4f63e1(0x150);var _a16;let UniverSheetsDataValidationMobileUIPlugin=(_a16=class extends Plugin{constructor(_0x4cad1d=defaultPluginConfig,_0x1f20f9,_0x231421,_0x340698){const _0x32761c=_0x4f63e1;super(),this[_0x32761c(0xab)]=_0x4cad1d,this['_injector']=_0x1f20f9,this[_0x32761c(0x2d4)]=_0x231421,this[_0x32761c(0x2a1)]=_0x340698;const {menu:_0x13f47f,..._0x3691e7}=this[_0x32761c(0xab)];_0x13f47f&&this[_0x32761c(0x2a1)][_0x32761c(0x2f0)](_0x32761c(0x2a8),_0x13f47f,{'merge':!0x0}),this['_configService'][_0x32761c(0x2f0)](PLUGIN_CONFIG_KEY,_0x3691e7);}[_0x4f63e1(0x1e8)](){const _0x52b6e3=_0x4f63e1;[[DataValidationPanelService],[DataValidationDropdownManagerService],[DataValidationAlertController],[DataValidationAutoFillController],[SheetsDataValidationRenderController],[DataValidationPermissionController],[DataValidationCopyPasteController],[SheetsDataValidationUIController]][_0x52b6e3(0xc9)](_0x5dc9b5=>{const _0x2e4384=_0x52b6e3;this[_0x2e4384(0x25d)]['add'](_0x5dc9b5);}),[AddSheetDataValidationAndOpenCommand,ShowDataValidationDropdown,HideDataValidationDropdown,CloseValidationPanelOperation,OpenValidationPanelOperation,ToggleValidationPanelOperation][_0x52b6e3(0xc9)](_0x41e408=>{const _0x31568e=_0x52b6e3;this[_0x31568e(0x2d4)][_0x31568e(0x28f)](_0x41e408);});}[_0x4f63e1(0x28d)](){const _0x376c9c=_0x4f63e1;this[_0x376c9c(0x25d)]['get'](DataValidationCopyPasteController),this['_injector'][_0x376c9c(0x29c)](DataValidationPermissionController);}[_0x4f63e1(0x17f)](){const _0x34bf3f=_0x4f63e1;this[_0x34bf3f(0x25d)][_0x34bf3f(0x29c)](SheetsDataValidationUIController),this['_injector'][_0x34bf3f(0x29c)](SheetsDataValidationRenderController);}[_0x4f63e1(0x257)](){const _0x375d22=_0x4f63e1;this['_injector'][_0x375d22(0x29c)](DataValidationAutoFillController);}},__name(_a16,_0x4f63e1(0xc1)),__publicField(_a16,'pluginName',PLUGIN_NAME),__publicField(_a16,_0x4f63e1(0x28a),UniverInstanceType[_0x4f63e1(0x261)]),_a16);UniverSheetsDataValidationMobileUIPlugin=__decorateClass([__decorateParam(0x1,Inject(Injector)),__decorateParam(0x2,ICommandService),__decorateParam(0x3,IConfigService)],UniverSheetsDataValidationMobileUIPlugin);export{DATE_DROPDOWN_KEY,LIST_DROPDOWN_KEY,UniverSheetsDataValidationMobileUIPlugin,UniverSheetsDataValidationUIPlugin};
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
3
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
5
|
+
import React, { useState, forwardRef, useRef, createElement, useMemo, useEffect } from "react";
|
6
|
+
import { Inject, LocaleService, Disposable, DataValidationErrorStyle, useDependency, ICommandService, numfmt, CellValueType, UniverInstanceType, toDisposable, IUniverInstanceService, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DisposableCollection, CommandType, BuildTextUtils, DataValidationRenderMode, DataValidationType, IConfigService, UndoCommand, RedoCommand, isUnitRangesEqual, createInternalEditorID, isValidRange, debounce, shallowEqual, Injector, DataValidationStatus, ObjectMatrix, Range, Rectangle, queryObjectMatrix, Optional, RxDisposable, InterceptorEffectEnum, sequenceExecute, isFormulaString, Tools, ThemeService, VerticalAlign, HorizontalAlign, DEFAULT_STYLES, WrapStrategy, DocumentDataModel, DEFAULT_EMPTY_DOCUMENT_VALUE, BooleanNumber, Plugin } from "@univerjs/core";
|
7
|
+
import { Button, DatePanel, RectPopup, Scrollbar, FormLayout, RadioGroup, Radio, Checkbox, Input, Select, DraggableList } from "@univerjs/design";
|
8
|
+
import { SetRangeValuesCommand, SheetsSelectionsService, getSheetCommandTarget, WorkbookEditablePermission, RangeProtectionPermissionEditPoint, WorksheetEditPermission, checkRangesEditablePermission, WorksheetSetCellStylePermission, SheetInterceptorService, INTERCEPTOR_POINT, InterceptCellContentPriority } from "@univerjs/sheets";
|
9
|
+
import { SheetDataValidationModel, getCellValueOrigin, getDataValidationCellValue, deserializeListOptions, serializeListOptions, UpdateSheetDataValidationRangeCommand, UpdateSheetDataValidationSettingCommand, RemoveSheetDataValidationCommand, UpdateSheetDataValidationOptionsCommand, createDefaultNewRule, AddSheetDataValidationCommand, RemoveSheetAllDataValidationCommand, DATA_VALIDATION_PLUGIN_NAME, getDataValidationDiffMutations, DataValidationFormulaController, DataValidationFormulaService, getFormulaResult, transformCheckboxValue, CHECKBOX_FORMULA_1, CHECKBOX_FORMULA_2 } from "@univerjs/sheets-data-validation";
|
10
|
+
import { getPatternType } from "@univerjs/sheets-numfmt";
|
11
|
+
import dayjs from "dayjs";
|
12
|
+
import { DataValidatorRegistryService, DataValidationModel, DataValidatorRegistryScope, TWO_FORMULA_OPERATOR_COUNT, getRuleOptions, getRuleSetting } from "@univerjs/data-validation";
|
13
|
+
import { IEditorBridgeService, SheetCanvasPopManagerService, SheetPermissionInterceptorBaseController, IMarkSelectionService, HoverManagerService, CellAlertManagerService, CellAlertType, IAutoFillService, APPLY_TYPE, virtualizeDiscreteRanges, getAutoFillRepeatRange, COPY_TYPE, rangeToDiscreteRange, PREDEFINED_HOOK_NAME, getRepeatRange, ISheetClipboardService, getCurrentRangeDisable$, AutoHeightController, SheetSkeletonManagerService } from "@univerjs/sheets-ui";
|
14
|
+
import { IDialogService, ISidebarService, useObservable, ComponentManager, IZenZoneService, KeyCode, useEvent, MenuItemType, getMenuHiddenObservable, RibbonStartGroup, IMenuManagerService } from "@univerjs/ui";
|
15
|
+
import { RichTextEditingMutation } from "@univerjs/docs";
|
16
|
+
import { IRenderManagerService, DeviceInputEventType, fixLineWidthByScale, Transform, Checkbox as Checkbox$1, FontCache, Shape, Rect, getFontStyleString, getDocsSkeletonPageSize, DocumentViewModel, DocumentSkeleton, Documents } from "@univerjs/engine-render";
|
17
|
+
import { filter, BehaviorSubject, distinctUntilChanged, Subject, debounceTime, bufferTime } from "rxjs";
|
18
|
+
import { RangeSelector, TextEditor } from "@univerjs/docs-ui";
|
19
|
+
import { serializeRange } from "@univerjs/engine-formula";
|
20
|
+
import cs from "clsx";
|
21
|
+
var commonjsGlobal = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
22
|
+
function getDefaultExportFromCjs(x) {
|
23
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x.default : x;
|
24
|
+
}
|
25
|
+
__name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
|
26
|
+
var jsxRuntime = { exports: {} }, reactJsxRuntime_production_min = {};
|
27
|
+
/**
|
28
|
+
* @license React
|
29
|
+
* react-jsx-runtime.production.min.js
|
30
|
+
*
|
31
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
32
|
+
*
|
33
|
+
* This source code is licensed under the MIT license found in the
|
34
|
+
* LICENSE file in the root directory of this source tree.
|
35
|
+
*/
|
36
|
+
var f = React, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
|
37
|
+
function q(c, a, g) {
|
38
|
+
var b, d = {}, e = null, h = null;
|
39
|
+
g !== void 0 && (e = "" + g), a.key !== void 0 && (e = "" + a.key), a.ref !== void 0 && (h = a.ref);
|
40
|
+
for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
|
41
|
+
if (c && c.defaultProps) for (b in a = c.defaultProps, a) d[b] === void 0 && (d[b] = a[b]);
|
42
|
+
return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
|
43
|
+
}
|
44
|
+
__name(q, "q");
|
45
|
+
reactJsxRuntime_production_min.Fragment = l;
|
46
|
+
reactJsxRuntime_production_min.jsx = q;
|
47
|
+
reactJsxRuntime_production_min.jsxs = q;
|
48
|
+
jsxRuntime.exports = reactJsxRuntime_production_min;
|
49
|
+
var jsxRuntimeExports = jsxRuntime.exports, utc$1 = { exports: {} };
|
50
|
+
(function(module, exports) {
|
51
|
+
(function(t, i) {
|
52
|
+
module.exports = i();
|
53
|
+
})(commonjsGlobal, function() {
|
54
|
+
var t = "minute", i = /[+-]\d\d(?::?\d\d)?/g, e = /([+-]|\d\d)/g;
|
55
|
+
return function(s, f2, n2) {
|
56
|
+
var u = f2.prototype;
|
57
|
+
n2.utc = function(t2) {
|
58
|
+
var i2 = { date: t2, utc: !0, args: arguments };
|
59
|
+
return new f2(i2);
|
60
|
+
}, u.utc = function(i2) {
|
61
|
+
var e2 = n2(this.toDate(), { locale: this.$L, utc: !0 });
|
62
|
+
return i2 ? e2.add(this.utcOffset(), t) : e2;
|
63
|
+
}, u.local = function() {
|
64
|
+
return n2(this.toDate(), { locale: this.$L, utc: !1 });
|
65
|
+
};
|
66
|
+
var o = u.parse;
|
67
|
+
u.parse = function(t2) {
|
68
|
+
t2.utc && (this.$u = !0), this.$utils().u(t2.$offset) || (this.$offset = t2.$offset), o.call(this, t2);
|
69
|
+
};
|
70
|
+
var r = u.init;
|
71
|
+
u.init = function() {
|
72
|
+
if (this.$u) {
|
73
|
+
var t2 = this.$d;
|
74
|
+
this.$y = t2.getUTCFullYear(), this.$M = t2.getUTCMonth(), this.$D = t2.getUTCDate(), this.$W = t2.getUTCDay(), this.$H = t2.getUTCHours(), this.$m = t2.getUTCMinutes(), this.$s = t2.getUTCSeconds(), this.$ms = t2.getUTCMilliseconds();
|
75
|
+
} else r.call(this);
|
76
|
+
};
|
77
|
+
var a = u.utcOffset;
|
78
|
+
u.utcOffset = function(s2, f3) {
|
79
|
+
var n3 = this.$utils().u;
|
80
|
+
if (n3(s2)) return this.$u ? 0 : n3(this.$offset) ? a.call(this) : this.$offset;
|
81
|
+
if (typeof s2 == "string" && (s2 = function(t2) {
|
82
|
+
t2 === void 0 && (t2 = "");
|
83
|
+
var s3 = t2.match(i);
|
84
|
+
if (!s3) return null;
|
85
|
+
var f4 = ("" + s3[0]).match(e) || ["-", 0, 0], n4 = f4[0], u3 = 60 * +f4[1] + +f4[2];
|
86
|
+
return u3 === 0 ? 0 : n4 === "+" ? u3 : -u3;
|
87
|
+
}(s2), s2 === null)) return this;
|
88
|
+
var u2 = Math.abs(s2) <= 16 ? 60 * s2 : s2, o2 = this;
|
89
|
+
if (f3) return o2.$offset = u2, o2.$u = s2 === 0, o2;
|
90
|
+
if (s2 !== 0) {
|
91
|
+
var r2 = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
|
92
|
+
(o2 = this.local().add(u2 + r2, t)).$offset = u2, o2.$x.$localOffset = r2;
|
93
|
+
} else o2 = this.utc();
|
94
|
+
return o2;
|
95
|
+
};
|
96
|
+
var h = u.format;
|
97
|
+
u.format = function(t2) {
|
98
|
+
var i2 = t2 || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
|
99
|
+
return h.call(this, i2);
|
100
|
+
}, u.valueOf = function() {
|
101
|
+
var t2 = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
|
102
|
+
return this.$d.valueOf() - 6e4 * t2;
|
103
|
+
}, u.isUTC = function() {
|
104
|
+
return !!this.$u;
|
105
|
+
}, u.toISOString = function() {
|
106
|
+
return this.toDate().toISOString();
|
107
|
+
}, u.toString = function() {
|
108
|
+
return this.toDate().toUTCString();
|
109
|
+
};
|
110
|
+
var l2 = u.toDate;
|
111
|
+
u.toDate = function(t2) {
|
112
|
+
return t2 === "s" && this.$offset ? n2(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l2.call(this);
|
113
|
+
};
|
114
|
+
var c = u.diff;
|
115
|
+
u.diff = function(t2, i2, e2) {
|
116
|
+
if (t2 && this.$u === t2.$u) return c.call(this, t2, i2, e2);
|
117
|
+
var s2 = this.local(), f3 = n2(t2).local();
|
118
|
+
return c.call(s2, f3, i2, e2);
|
119
|
+
};
|
120
|
+
};
|
121
|
+
});
|
122
|
+
})(utc$1);
|
123
|
+
var utcExports = utc$1.exports;
|
124
|
+
const utc = /* @__PURE__ */ getDefaultExportFromCjs(utcExports);
|
125
|
+
var __defProp$e = Object.defineProperty, __getOwnPropDesc$e = Object.getOwnPropertyDescriptor, __decorateClass$e = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
126
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
127
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
128
|
+
return kind && result && __defProp$e(target, key, result), result;
|
129
|
+
}, "__decorateClass$e"), __decorateParam$e = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$e"), _a;
|
130
|
+
let DataValidationRejectInputController = (_a = class extends Disposable {
|
131
|
+
constructor(_editorBridgeService, _dataValidationModel, _dataValidatorRegistryService, _dialogService, _localeService) {
|
132
|
+
super(), this._editorBridgeService = _editorBridgeService, this._dataValidationModel = _dataValidationModel, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._dialogService = _dialogService, this._localeService = _localeService, this._initEditorBridgeInterceptor();
|
133
|
+
}
|
134
|
+
_initEditorBridgeInterceptor() {
|
135
|
+
this._editorBridgeService.interceptor.intercept(
|
136
|
+
this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC,
|
137
|
+
{
|
138
|
+
handler: /* @__PURE__ */ __name(async (cellPromise, context, next) => {
|
139
|
+
var _a17;
|
140
|
+
const cell = await cellPromise, { worksheet, row, col, unitId, subUnitId, workbook } = context, ruleId = this._dataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col), rule = ruleId ? this._dataValidationModel.getRuleById(unitId, subUnitId, ruleId) : void 0;
|
141
|
+
if (!rule || rule.errorStyle !== DataValidationErrorStyle.STOP)
|
142
|
+
return next(Promise.resolve(cell));
|
143
|
+
const validator = await this._dataValidatorRegistryService.getValidatorItem(rule.type);
|
144
|
+
if (!validator || await validator.validator(
|
145
|
+
{
|
146
|
+
value: getCellValueOrigin(cell),
|
147
|
+
interceptValue: getCellValueOrigin((_a17 = context == null ? void 0 : context.origin) != null ? _a17 : cell),
|
148
|
+
row,
|
149
|
+
column: col,
|
150
|
+
unitId,
|
151
|
+
subUnitId,
|
152
|
+
worksheet,
|
153
|
+
workbook,
|
154
|
+
t: cell == null ? void 0 : cell.t
|
155
|
+
},
|
156
|
+
rule
|
157
|
+
))
|
158
|
+
return next(Promise.resolve(cell));
|
159
|
+
const oldCell = worksheet.getCellRaw(row, col);
|
160
|
+
return this._dialogService.open({
|
161
|
+
width: 368,
|
162
|
+
title: {
|
163
|
+
title: this._localeService.t("dataValidation.alert.title")
|
164
|
+
},
|
165
|
+
id: "reject-input-dialog",
|
166
|
+
children: {
|
167
|
+
title: validator.getRuleFinalError(rule)
|
168
|
+
},
|
169
|
+
footer: {
|
170
|
+
title: React.createElement(
|
171
|
+
Button,
|
172
|
+
{
|
173
|
+
type: "primary",
|
174
|
+
onClick: /* @__PURE__ */ __name(() => this._dialogService.close("reject-input-dialog"), "onClick")
|
175
|
+
},
|
176
|
+
this._localeService.t("dataValidation.alert.ok")
|
177
|
+
)
|
178
|
+
},
|
179
|
+
onClose: /* @__PURE__ */ __name(() => {
|
180
|
+
this._dialogService.close("reject-input-dialog");
|
181
|
+
}, "onClose")
|
182
|
+
}), next(Promise.resolve(oldCell));
|
183
|
+
}, "handler")
|
184
|
+
}
|
185
|
+
);
|
186
|
+
}
|
187
|
+
showReject(title) {
|
188
|
+
this._dialogService.open({
|
189
|
+
width: 368,
|
190
|
+
title: {
|
191
|
+
title: this._localeService.t("dataValidation.alert.title")
|
192
|
+
},
|
193
|
+
id: "reject-input-dialog",
|
194
|
+
children: {
|
195
|
+
title
|
196
|
+
},
|
197
|
+
footer: {
|
198
|
+
title: React.createElement(
|
199
|
+
Button,
|
200
|
+
{
|
201
|
+
type: "primary",
|
202
|
+
onClick: /* @__PURE__ */ __name(() => this._dialogService.close("reject-input-dialog"), "onClick")
|
203
|
+
},
|
204
|
+
this._localeService.t("dataValidation.alert.ok")
|
205
|
+
)
|
206
|
+
},
|
207
|
+
onClose: /* @__PURE__ */ __name(() => {
|
208
|
+
this._dialogService.close("reject-input-dialog");
|
209
|
+
}, "onClose")
|
210
|
+
});
|
211
|
+
}
|
212
|
+
}, __name(_a, "DataValidationRejectInputController"), _a);
|
213
|
+
DataValidationRejectInputController = __decorateClass$e([
|
214
|
+
__decorateParam$e(0, IEditorBridgeService),
|
215
|
+
__decorateParam$e(1, Inject(SheetDataValidationModel)),
|
216
|
+
__decorateParam$e(2, Inject(DataValidatorRegistryService)),
|
217
|
+
__decorateParam$e(3, IDialogService),
|
218
|
+
__decorateParam$e(4, Inject(LocaleService))
|
219
|
+
], DataValidationRejectInputController);
|
220
|
+
const dvDateDropdown = "univer-dv-date-dropdown", dvDateDropdownBtns = "univer-dv-date-dropdown-btns", styles$6 = {
|
221
|
+
dvDateDropdown,
|
222
|
+
dvDateDropdownBtns
|
223
|
+
};
|
224
|
+
dayjs.extend(utc);
|
225
|
+
const transformDate = /* @__PURE__ */ __name((value) => {
|
226
|
+
if (value == null || typeof value == "boolean")
|
227
|
+
return;
|
228
|
+
if (typeof value == "number" || !Number.isNaN(+value))
|
229
|
+
return dayjs(numfmt.format("yyyy-MM-dd HH:mm:ss", Number(value)));
|
230
|
+
const date = dayjs(value);
|
231
|
+
if (date.isValid())
|
232
|
+
return date;
|
233
|
+
}, "transformDate");
|
234
|
+
function DateDropdown(props) {
|
235
|
+
var _a17, _b, _c;
|
236
|
+
const { location, hideFn } = props, { worksheet, row, col, unitId, subUnitId, workbook } = location, commandService = useDependency(ICommandService), rejectInputController = useDependency(DataValidationRejectInputController), cellData = worksheet.getCell(row, col), rule = (_a17 = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _b.validator, cellStr = getCellValueOrigin(worksheet.getCellRaw(row, col)), originDate = transformDate(cellStr), [localDate, setLocalDate] = useState(originDate), showTime = !!((_c = rule == null ? void 0 : rule.bizInfo) != null && _c.showTime), date = localDate && localDate.isValid() ? localDate : dayjs(), localeService = useDependency(LocaleService);
|
237
|
+
if (!cellData || !rule || !validator)
|
238
|
+
return;
|
239
|
+
const handleSave = /* @__PURE__ */ __name(async () => {
|
240
|
+
var _a18, _b2, _c2;
|
241
|
+
if (!date)
|
242
|
+
return;
|
243
|
+
const dateStr = date.format(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD 00:00:00"), serialTime = (_a18 = numfmt.parseDate(dateStr)) == null ? void 0 : _a18.v, cellStyle = workbook.getStyles().getStyleByCell(cellData), format = (_c2 = (_b2 = cellStyle == null ? void 0 : cellStyle.n) == null ? void 0 : _b2.pattern) != null ? _c2 : "", patternType = getPatternType(format);
|
244
|
+
rule.errorStyle !== DataValidationErrorStyle.STOP || await validator.validator({
|
245
|
+
value: serialTime,
|
246
|
+
unitId,
|
247
|
+
subUnitId,
|
248
|
+
row,
|
249
|
+
column: col,
|
250
|
+
worksheet,
|
251
|
+
workbook,
|
252
|
+
interceptValue: dateStr.replace("Z", "").replace("T", " "),
|
253
|
+
t: CellValueType.NUMBER
|
254
|
+
}, rule) ? (commandService.executeCommand(SetRangeValuesCommand.id, {
|
255
|
+
unitId,
|
256
|
+
subUnitId,
|
257
|
+
range: {
|
258
|
+
startColumn: col,
|
259
|
+
endColumn: col,
|
260
|
+
startRow: row,
|
261
|
+
endRow: row
|
262
|
+
},
|
263
|
+
value: {
|
264
|
+
v: serialTime,
|
265
|
+
t: 2,
|
266
|
+
p: null,
|
267
|
+
f: null,
|
268
|
+
si: null,
|
269
|
+
s: {
|
270
|
+
n: {
|
271
|
+
pattern: showTime ? patternType === "datetime" ? format : "yyyy-MM-dd hh:mm:ss" : patternType === "date" ? format : "yyyy-MM-dd"
|
272
|
+
}
|
273
|
+
}
|
274
|
+
}
|
275
|
+
}), hideFn()) : rejectInputController.showReject(validator.getRuleFinalError(rule));
|
276
|
+
}, "handleSave");
|
277
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$6.dvDateDropdown, children: [
|
278
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
279
|
+
DatePanel,
|
280
|
+
{
|
281
|
+
defaultValue: date,
|
282
|
+
pickerValue: date,
|
283
|
+
showTime: showTime || void 0,
|
284
|
+
onSelect: /* @__PURE__ */ __name(async (newValue) => {
|
285
|
+
setLocalDate(newValue);
|
286
|
+
}, "onSelect"),
|
287
|
+
onPanelChange: /* @__PURE__ */ __name((value) => {
|
288
|
+
setLocalDate(value);
|
289
|
+
}, "onPanelChange"),
|
290
|
+
disabledDate: /* @__PURE__ */ __name((current) => !numfmt.parseDate(current.format("YYYY-MM-DD")), "disabledDate")
|
291
|
+
}
|
292
|
+
),
|
293
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$6.dvDateDropdownBtns, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { size: "small", type: "primary", onClick: handleSave, disabled: !date.isValid(), children: localeService.t("dataValidation.alert.ok") }) })
|
294
|
+
] });
|
295
|
+
}
|
296
|
+
__name(DateDropdown, "DateDropdown");
|
297
|
+
var __assign = function() {
|
298
|
+
return __assign = Object.assign || function(t) {
|
299
|
+
for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
|
300
|
+
s = arguments[i];
|
301
|
+
for (var p2 in s) Object.prototype.hasOwnProperty.call(s, p2) && (t[p2] = s[p2]);
|
302
|
+
}
|
303
|
+
return t;
|
304
|
+
}, __assign.apply(this, arguments);
|
305
|
+
}, __rest = function(s, e) {
|
306
|
+
var t = {};
|
307
|
+
for (var p2 in s) Object.prototype.hasOwnProperty.call(s, p2) && e.indexOf(p2) < 0 && (t[p2] = s[p2]);
|
308
|
+
if (s != null && typeof Object.getOwnPropertySymbols == "function")
|
309
|
+
for (var i = 0, p2 = Object.getOwnPropertySymbols(s); i < p2.length; i++)
|
310
|
+
e.indexOf(p2[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p2[i]) && (t[p2[i]] = s[p2[i]]);
|
311
|
+
return t;
|
312
|
+
}, IconBase = forwardRef(function(props, ref) {
|
313
|
+
var icon = props.icon, id = props.id, className = props.className, extend = props.extend, restProps = __rest(props, ["icon", "id", "className", "extend"]), cls = "univerjs-icon univerjs-icon-".concat(id, " ").concat(className || "").trim(), idSuffix = useRef("_".concat(generateShortUuid()));
|
314
|
+
return render(icon, "".concat(id), { defIds: icon.defIds, idSuffix: idSuffix.current }, __assign({ ref, className: cls }, restProps), extend);
|
315
|
+
});
|
316
|
+
function render(node, id, runtimeProps, rootProps, extend) {
|
317
|
+
return createElement(node.tag, __assign(__assign({ key: id }, replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend)), rootProps), (replaceRuntimeIdsInDefs(node, runtimeProps).children || []).map(function(child, index) {
|
318
|
+
return render(child, "".concat(id, "-").concat(node.tag, "-").concat(index), runtimeProps, void 0, extend);
|
319
|
+
}));
|
320
|
+
}
|
321
|
+
__name(render, "render");
|
322
|
+
function replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend) {
|
323
|
+
var attrs = __assign({}, node.attrs);
|
324
|
+
extend != null && extend.colorChannel1 && attrs.fill === "colorChannel1" && (attrs.fill = extend.colorChannel1);
|
325
|
+
var defIds = runtimeProps.defIds;
|
326
|
+
return !defIds || defIds.length === 0 || (node.tag === "use" && attrs["xlink:href"] && (attrs["xlink:href"] = attrs["xlink:href"] + runtimeProps.idSuffix), Object.entries(attrs).forEach(function(_a17) {
|
327
|
+
var key = _a17[0], value = _a17[1];
|
328
|
+
typeof value == "string" && (attrs[key] = value.replace(/url\(#(.*)\)/, "url(#$1".concat(runtimeProps.idSuffix, ")")));
|
329
|
+
})), attrs;
|
330
|
+
}
|
331
|
+
__name(replaceRuntimeIdsAndExtInAttrs, "replaceRuntimeIdsAndExtInAttrs");
|
332
|
+
function replaceRuntimeIdsInDefs(node, runtimeProps) {
|
333
|
+
var _a17, defIds = runtimeProps.defIds;
|
334
|
+
return !defIds || defIds.length === 0 ? node : node.tag === "defs" && (!((_a17 = node.children) === null || _a17 === void 0) && _a17.length) ? __assign(__assign({}, node), { children: node.children.map(function(child) {
|
335
|
+
return typeof child.attrs.id == "string" && defIds && defIds.indexOf(child.attrs.id) > -1 ? __assign(__assign({}, child), { attrs: __assign(__assign({}, child.attrs), { id: child.attrs.id + runtimeProps.idSuffix }) }) : child;
|
336
|
+
}) }) : node;
|
337
|
+
}
|
338
|
+
__name(replaceRuntimeIdsInDefs, "replaceRuntimeIdsInDefs");
|
339
|
+
function generateShortUuid() {
|
340
|
+
return Math.random().toString(36).substring(2, 8);
|
341
|
+
}
|
342
|
+
__name(generateShortUuid, "generateShortUuid");
|
343
|
+
IconBase.displayName = "UniverIcon";
|
344
|
+
var element$6 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, CheckMarkSingle = forwardRef(function(props, ref) {
|
345
|
+
return createElement(IconBase, Object.assign({}, props, {
|
346
|
+
id: "check-mark-single",
|
347
|
+
ref,
|
348
|
+
icon: element$6
|
349
|
+
}));
|
350
|
+
});
|
351
|
+
CheckMarkSingle.displayName = "CheckMarkSingle";
|
352
|
+
var element$5 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M1.4917 3.07803C1.4917 2.19437 2.20804 1.47803 3.0917 1.47803H5.6917C6.57536 1.47803 7.2917 2.19437 7.2917 3.07803V5.67803C7.2917 6.56168 6.57535 7.27803 5.6917 7.27803H3.0917C2.20804 7.27803 1.4917 6.56168 1.4917 5.67803V3.07803ZM3.0917 2.67803C2.87078 2.67803 2.6917 2.85711 2.6917 3.07803V5.67803C2.6917 5.89894 2.87079 6.07803 3.0917 6.07803H5.6917C5.91261 6.07803 6.0917 5.89894 6.0917 5.67803V3.07803C6.0917 2.85711 5.91261 2.67803 5.6917 2.67803H3.0917Z", fillRule: "evenodd", clipRule: "evenodd" } }, { tag: "path", attrs: { fill: "currentColor", d: "M14.6175 2.45279C14.8518 2.68711 14.8518 3.06701 14.6175 3.30132L11.6151 6.30365C11.3957 6.52307 11.0451 6.53897 10.8067 6.34031L8.80915 4.67566C8.55458 4.46352 8.52019 4.08518 8.73233 3.83062 8.94447 3.57605 9.32281 3.54166 9.57737 3.7538L11.154 5.06767 13.769 2.45278C14.0033 2.21847 14.3832 2.21848 14.6175 2.45279zM14.1175 9.19746C14.3518 9.43178 14.3518 9.81168 14.1175 10.046L12.5418 11.6217 14.1175 13.1975C14.3518 13.4318 14.3518 13.8117 14.1175 14.046 13.8832 14.2803 13.5033 14.2803 13.269 14.046L11.6933 12.4703 10.1175 14.046C9.88321 14.2803 9.50331 14.2803 9.269 14.046 9.03468 13.8117 9.03468 13.4318 9.269 13.1975L10.8447 11.6217 9.269 10.046C9.03468 9.81168 9.03468 9.43178 9.269 9.19746 9.50331 8.96315 9.88321 8.96315 10.1175 9.19746L11.6933 10.7732 13.269 9.19746C13.5033 8.96315 13.8832 8.96315 14.1175 9.19746z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M3.0917 8.72168C2.20804 8.72168 1.4917 9.43802 1.4917 10.3217V12.9217C1.4917 13.8053 2.20804 14.5217 3.0917 14.5217H5.6917C6.57535 14.5217 7.2917 13.8053 7.2917 12.9217V10.3217C7.2917 9.43802 6.57536 8.72168 5.6917 8.72168H3.0917ZM2.6917 10.3217C2.6917 10.1008 2.87078 9.92168 3.0917 9.92168H5.6917C5.91261 9.92168 6.0917 10.1008 6.0917 10.3217V12.9217C6.0917 13.1426 5.91261 13.3217 5.6917 13.3217H3.0917C2.87079 13.3217 2.6917 13.1426 2.6917 12.9217V10.3217Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, DataValidationSingle = forwardRef(function(props, ref) {
|
353
|
+
return createElement(IconBase, Object.assign({}, props, {
|
354
|
+
id: "data-validation-single",
|
355
|
+
ref,
|
356
|
+
icon: element$5
|
357
|
+
}));
|
358
|
+
});
|
359
|
+
DataValidationSingle.displayName = "DataValidationSingle";
|
360
|
+
var element$4 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, DeleteSingle = forwardRef(function(props, ref) {
|
361
|
+
return createElement(IconBase, Object.assign({}, props, {
|
362
|
+
id: "delete-single",
|
363
|
+
ref,
|
364
|
+
icon: element$4
|
365
|
+
}));
|
366
|
+
});
|
367
|
+
DeleteSingle.displayName = "DeleteSingle";
|
368
|
+
var element$3 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z" } }] }, IncreaseSingle = forwardRef(function(props, ref) {
|
369
|
+
return createElement(IconBase, Object.assign({}, props, {
|
370
|
+
id: "increase-single",
|
371
|
+
ref,
|
372
|
+
icon: element$3
|
373
|
+
}));
|
374
|
+
});
|
375
|
+
IncreaseSingle.displayName = "IncreaseSingle";
|
376
|
+
var element$2 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, MoreDownSingle = forwardRef(function(props, ref) {
|
377
|
+
return createElement(IconBase, Object.assign({}, props, {
|
378
|
+
id: "more-down-single",
|
379
|
+
ref,
|
380
|
+
icon: element$2
|
381
|
+
}));
|
382
|
+
});
|
383
|
+
MoreDownSingle.displayName = "MoreDownSingle";
|
384
|
+
var element$1 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M4.64645 9.85355C4.45118 9.65829 4.45118 9.34171 4.64645 9.14645L7.64645 6.14645C7.84171 5.95118 8.15829 5.95118 8.35355 6.14645L11.3536 9.14645C11.5488 9.34171 11.5488 9.65829 11.3536 9.85355C11.1583 10.0488 10.8417 10.0488 10.6464 9.85355L8 7.20711L5.35355 9.85355C5.15829 10.0488 4.84171 10.0488 4.64645 9.85355Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, MoreUpSingle = forwardRef(function(props, ref) {
|
385
|
+
return createElement(IconBase, Object.assign({}, props, {
|
386
|
+
id: "more-up-single",
|
387
|
+
ref,
|
388
|
+
icon: element$1
|
389
|
+
}));
|
390
|
+
});
|
391
|
+
MoreUpSingle.displayName = "MoreUpSingle";
|
392
|
+
var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "mask", attrs: { id: "mask0_622_8", style: { maskType: "alpha" }, width: 16, height: 16, x: 0, y: 0, maskUnits: "userSpaceOnUse" }, children: [{ tag: "path", attrs: { fill: "#D9D9D9", d: "M0 0H16V16H0z" } }] }, { tag: "g", attrs: { fill: "currentColor", mask: "url(#mask0_622_8)" }, children: [{ tag: "path", attrs: { d: "M6 5C6.55228 5 7 4.55228 7 4 7 3.44772 6.55228 3 6 3 5.44772 3 5 3.44772 5 4 5 4.55228 5.44772 5 6 5zM6 9C6.55228 9 7 8.55229 7 8 7 7.44772 6.55228 7 6 7 5.44772 7 5 7.44772 5 8 5 8.55229 5.44772 9 6 9zM7 12C7 12.5523 6.55228 13 6 13 5.44772 13 5 12.5523 5 12 5 11.4477 5.44772 11 6 11 6.55228 11 7 11.4477 7 12zM10 5C10.5523 5 11 4.55228 11 4 11 3.44772 10.5523 3 10 3 9.44771 3 9 3.44772 9 4 9 4.55228 9.44771 5 10 5zM11 8C11 8.55229 10.5523 9 10 9 9.44771 9 9 8.55229 9 8 9 7.44772 9.44771 7 10 7 10.5523 7 11 7.44772 11 8zM10 13C10.5523 13 11 12.5523 11 12 11 11.4477 10.5523 11 10 11 9.44771 11 9 11.4477 9 12 9 12.5523 9.44771 13 10 13z" } }] }] }, SequenceSingle = forwardRef(function(props, ref) {
|
393
|
+
return createElement(IconBase, Object.assign({}, props, {
|
394
|
+
id: "sequence-single",
|
395
|
+
ref,
|
396
|
+
icon: element
|
397
|
+
}));
|
398
|
+
});
|
399
|
+
SequenceSingle.displayName = "SequenceSingle";
|
400
|
+
var __defProp$d = Object.defineProperty, __getOwnPropDesc$d = Object.getOwnPropertyDescriptor, __decorateClass$d = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
401
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
402
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
403
|
+
return kind && result && __defProp$d(target, key, result), result;
|
404
|
+
}, "__decorateClass$d"), __decorateParam$d = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$d"), _a2;
|
405
|
+
let DataValidationPanelService = (_a2 = class extends Disposable {
|
406
|
+
constructor(_univerInstanceService, _sidebarService) {
|
407
|
+
super();
|
408
|
+
__publicField(this, "_open$", new BehaviorSubject(!1));
|
409
|
+
__publicField(this, "open$", this._open$.pipe(distinctUntilChanged()));
|
410
|
+
__publicField(this, "_activeRule");
|
411
|
+
__publicField(this, "_activeRule$", new BehaviorSubject(void 0));
|
412
|
+
__publicField(this, "activeRule$", this._activeRule$.asObservable());
|
413
|
+
__publicField(this, "_closeDisposable", null);
|
414
|
+
this._univerInstanceService = _univerInstanceService, this._sidebarService = _sidebarService, this.disposeWithMe(
|
415
|
+
this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET).pipe(filter((sheet) => !sheet)).subscribe(() => {
|
416
|
+
this.close();
|
417
|
+
})
|
418
|
+
);
|
419
|
+
}
|
420
|
+
get activeRule() {
|
421
|
+
return this._activeRule;
|
422
|
+
}
|
423
|
+
get isOpen() {
|
424
|
+
return this._open$.getValue();
|
425
|
+
}
|
426
|
+
dispose() {
|
427
|
+
var _a17;
|
428
|
+
super.dispose(), this._open$.next(!1), this._open$.complete(), this._activeRule$.complete(), (_a17 = this._closeDisposable) == null || _a17.dispose();
|
429
|
+
}
|
430
|
+
open() {
|
431
|
+
this._open$.next(!0);
|
432
|
+
}
|
433
|
+
close() {
|
434
|
+
var _a17;
|
435
|
+
this._open$.next(!1), (_a17 = this._closeDisposable) == null || _a17.dispose();
|
436
|
+
}
|
437
|
+
setCloseDisposable(disposable) {
|
438
|
+
this._closeDisposable = toDisposable(() => {
|
439
|
+
disposable.dispose(), this._closeDisposable = null;
|
440
|
+
});
|
441
|
+
}
|
442
|
+
setActiveRule(rule) {
|
443
|
+
this._activeRule = rule, this._activeRule$.next(rule);
|
444
|
+
}
|
445
|
+
}, __name(_a2, "DataValidationPanelService"), _a2);
|
446
|
+
DataValidationPanelService = __decorateClass$d([
|
447
|
+
__decorateParam$d(0, IUniverInstanceService),
|
448
|
+
__decorateParam$d(1, ISidebarService)
|
449
|
+
], DataValidationPanelService);
|
450
|
+
function CellDropdown() {
|
451
|
+
const dropdownManagerService = useDependency(DataValidationDropdownManagerService), activeDropdown = useObservable(dropdownManagerService.activeDropdown$, dropdownManagerService.activeDropdown), componentManager = useDependency(ComponentManager);
|
452
|
+
if (!activeDropdown)
|
453
|
+
return null;
|
454
|
+
const { location, componentKey } = activeDropdown, Component = componentManager.get(componentKey), key = `${location.unitId}-${location.subUnitId}-${location.row}-${location.col}`;
|
455
|
+
if (!Component)
|
456
|
+
return null;
|
457
|
+
const hideFn = /* @__PURE__ */ __name(() => {
|
458
|
+
dropdownManagerService.hideDropdown();
|
459
|
+
}, "hideFn");
|
460
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
461
|
+
Component,
|
462
|
+
{
|
463
|
+
location,
|
464
|
+
hideFn
|
465
|
+
},
|
466
|
+
key
|
467
|
+
);
|
468
|
+
}
|
469
|
+
__name(CellDropdown, "CellDropdown");
|
470
|
+
const DROP_DOWN_KEY = "sheet.ui.dropdown";
|
471
|
+
var __defProp$c = Object.defineProperty, __getOwnPropDesc$c = Object.getOwnPropertyDescriptor, __decorateClass$c = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
472
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
473
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
474
|
+
return kind && result && __defProp$c(target, key, result), result;
|
475
|
+
}, "__decorateClass$c"), __decorateParam$c = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$c"), _a3;
|
476
|
+
let DataValidationDropdownManagerService = (_a3 = class extends Disposable {
|
477
|
+
constructor(_canvasPopupManagerService, _univerInstanceService, _dataValidatorRegistryService, _zenZoneService, _renderManagerService, _dataValidationModel, _sheetsSelectionsService) {
|
478
|
+
super();
|
479
|
+
__publicField(this, "_activeDropdown");
|
480
|
+
__publicField(this, "_activeDropdown$", new Subject());
|
481
|
+
__publicField(this, "_currentPopup", null);
|
482
|
+
__publicField(this, "activeDropdown$", this._activeDropdown$.asObservable());
|
483
|
+
__publicField(this, "_zenVisible", !1);
|
484
|
+
this._canvasPopupManagerService = _canvasPopupManagerService, this._univerInstanceService = _univerInstanceService, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._zenZoneService = _zenZoneService, this._renderManagerService = _renderManagerService, this._dataValidationModel = _dataValidationModel, this._sheetsSelectionsService = _sheetsSelectionsService, this._init(), this._initSelectionChange(), this.disposeWithMe(() => {
|
485
|
+
this._activeDropdown$.complete();
|
486
|
+
});
|
487
|
+
}
|
488
|
+
get activeDropdown() {
|
489
|
+
return this._activeDropdown;
|
490
|
+
}
|
491
|
+
_init() {
|
492
|
+
this.disposeWithMe(this._zenZoneService.visible$.subscribe((visible) => {
|
493
|
+
this._zenVisible = visible, visible && this.hideDropdown();
|
494
|
+
}));
|
495
|
+
}
|
496
|
+
_getDropdownByCell(unitId, subUnitId, row, col) {
|
497
|
+
const workbook = unitId ? this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET) : this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET);
|
498
|
+
if (!workbook)
|
499
|
+
return;
|
500
|
+
const worksheet = subUnitId ? workbook.getSheetBySheetId(subUnitId) : workbook.getActiveSheet();
|
501
|
+
if (!worksheet)
|
502
|
+
return;
|
503
|
+
const rule = this._dataValidationModel.getRuleByLocation(workbook.getUnitId(), worksheet.getSheetId(), row, col);
|
504
|
+
if (!rule)
|
505
|
+
return;
|
506
|
+
const validator = this._dataValidatorRegistryService.getValidatorItem(rule.type);
|
507
|
+
return validator == null ? void 0 : validator.dropdown;
|
508
|
+
}
|
509
|
+
_initSelectionChange() {
|
510
|
+
this.disposeWithMe(this._sheetsSelectionsService.selectionMoveEnd$.subscribe((selections) => {
|
511
|
+
selections && selections.every((selection) => !(selection.primary && this._getDropdownByCell(selection.primary.unitId, selection.primary.sheetId, selection.primary.actualRow, selection.primary.actualColumn))) && this.hideDropdown();
|
512
|
+
}));
|
513
|
+
}
|
514
|
+
showDropdown(param, closeOnOutSide = !0) {
|
515
|
+
const { location } = param, { row, col, unitId, subUnitId } = location;
|
516
|
+
if (this._currentPopup && this._currentPopup.dispose(), this._zenVisible)
|
517
|
+
return;
|
518
|
+
this._activeDropdown = param, this._activeDropdown$.next(this._activeDropdown);
|
519
|
+
const currentRender = this._renderManagerService.getRenderById(DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY), popupDisposable = this._canvasPopupManagerService.attachPopupToCell(
|
520
|
+
row,
|
521
|
+
col,
|
522
|
+
{
|
523
|
+
componentKey: DROP_DOWN_KEY,
|
524
|
+
onClickOutside: /* @__PURE__ */ __name(() => {
|
525
|
+
closeOnOutSide && this.hideDropdown();
|
526
|
+
}, "onClickOutside"),
|
527
|
+
offset: [0, 3],
|
528
|
+
excludeOutside: [currentRender == null ? void 0 : currentRender.engine.getCanvasElement()].filter(Boolean)
|
529
|
+
},
|
530
|
+
unitId,
|
531
|
+
subUnitId
|
532
|
+
);
|
533
|
+
if (!popupDisposable)
|
534
|
+
throw new Error("[DataValidationDropdownManagerService]: cannot show dropdown!");
|
535
|
+
const disposableCollection = new DisposableCollection();
|
536
|
+
disposableCollection.add(popupDisposable), disposableCollection.add({
|
537
|
+
dispose: /* @__PURE__ */ __name(() => {
|
538
|
+
var _a17, _b;
|
539
|
+
(_b = (_a17 = this._activeDropdown) == null ? void 0 : _a17.onHide) == null || _b.call(_a17);
|
540
|
+
}, "dispose")
|
541
|
+
}), this._currentPopup = disposableCollection;
|
542
|
+
}
|
543
|
+
hideDropdown() {
|
544
|
+
this._activeDropdown && (this._currentPopup && this._currentPopup.dispose(), this._currentPopup = null, this._activeDropdown = null, this._activeDropdown$.next(null));
|
545
|
+
}
|
546
|
+
showDataValidationDropdown(unitId, subUnitId, row, col, onHide) {
|
547
|
+
const workbook = this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
|
548
|
+
if (!workbook)
|
549
|
+
return;
|
550
|
+
const worksheet = workbook.getSheetBySheetId(subUnitId);
|
551
|
+
if (!worksheet)
|
552
|
+
return;
|
553
|
+
const rule = this._dataValidationModel.getRuleByLocation(workbook.getUnitId(), worksheet.getSheetId(), row, col);
|
554
|
+
if (!rule)
|
555
|
+
return;
|
556
|
+
const validator = this._dataValidatorRegistryService.getValidatorItem(rule.type);
|
557
|
+
if (!validator || !validator.dropdown) {
|
558
|
+
this.hideDropdown();
|
559
|
+
return;
|
560
|
+
}
|
561
|
+
this.showDropdown({
|
562
|
+
location: {
|
563
|
+
workbook,
|
564
|
+
worksheet,
|
565
|
+
row,
|
566
|
+
col,
|
567
|
+
unitId,
|
568
|
+
subUnitId
|
569
|
+
},
|
570
|
+
componentKey: validator.dropdown,
|
571
|
+
onHide
|
572
|
+
});
|
573
|
+
}
|
574
|
+
}, __name(_a3, "DataValidationDropdownManagerService"), _a3);
|
575
|
+
DataValidationDropdownManagerService = __decorateClass$c([
|
576
|
+
__decorateParam$c(0, Inject(SheetCanvasPopManagerService)),
|
577
|
+
__decorateParam$c(1, IUniverInstanceService),
|
578
|
+
__decorateParam$c(2, Inject(DataValidatorRegistryService)),
|
579
|
+
__decorateParam$c(3, IZenZoneService),
|
580
|
+
__decorateParam$c(4, IRenderManagerService),
|
581
|
+
__decorateParam$c(5, Inject(SheetDataValidationModel)),
|
582
|
+
__decorateParam$c(6, Inject(SheetsSelectionsService))
|
583
|
+
], DataValidationDropdownManagerService);
|
584
|
+
const DATA_VALIDATION_PANEL = "DataValidationPanel", OpenValidationPanelOperation = {
|
585
|
+
id: "data-validation.operation.open-validation-panel",
|
586
|
+
type: CommandType.OPERATION,
|
587
|
+
handler(accessor, params) {
|
588
|
+
if (!params)
|
589
|
+
return !1;
|
590
|
+
const { ruleId, isAdd } = params, dataValidationPanelService = accessor.get(DataValidationPanelService), dataValidationModel = accessor.get(DataValidationModel), univerInstanceService = accessor.get(IUniverInstanceService), sidebarService = accessor.get(ISidebarService), target = getSheetCommandTarget(univerInstanceService);
|
591
|
+
if (!target) return !1;
|
592
|
+
const { unitId, subUnitId } = target, rule = ruleId ? dataValidationModel.getRuleById(unitId, subUnitId, ruleId) : void 0;
|
593
|
+
dataValidationPanelService.open(), dataValidationPanelService.setActiveRule(rule && {
|
594
|
+
unitId,
|
595
|
+
subUnitId,
|
596
|
+
rule
|
597
|
+
});
|
598
|
+
const disposable = sidebarService.open({
|
599
|
+
header: { title: isAdd ? "dataValidation.panel.addTitle" : "dataValidation.panel.title" },
|
600
|
+
children: { label: DATA_VALIDATION_PANEL },
|
601
|
+
width: 312,
|
602
|
+
onClose: /* @__PURE__ */ __name(() => dataValidationPanelService.close(), "onClose")
|
603
|
+
});
|
604
|
+
return dataValidationPanelService.setCloseDisposable(disposable), !0;
|
605
|
+
}
|
606
|
+
}, CloseValidationPanelOperation = {
|
607
|
+
id: "data-validation.operation.close-validation-panel",
|
608
|
+
type: CommandType.OPERATION,
|
609
|
+
handler(accessor) {
|
610
|
+
return accessor.get(DataValidationPanelService).close(), !0;
|
611
|
+
}
|
612
|
+
}, ToggleValidationPanelOperation = {
|
613
|
+
id: "data-validation.operation.toggle-validation-panel",
|
614
|
+
type: CommandType.OPERATION,
|
615
|
+
handler(accessor) {
|
616
|
+
const commandService = accessor.get(ICommandService), dataValidationPanelService = accessor.get(DataValidationPanelService);
|
617
|
+
return dataValidationPanelService.open(), dataValidationPanelService.isOpen ? commandService.executeCommand(CloseValidationPanelOperation.id) : commandService.executeCommand(OpenValidationPanelOperation.id), !0;
|
618
|
+
}
|
619
|
+
}, ShowDataValidationDropdown = {
|
620
|
+
type: CommandType.OPERATION,
|
621
|
+
id: "sheet.operation.show-data-validation-dropdown",
|
622
|
+
handler(accessor, params) {
|
623
|
+
if (!params)
|
624
|
+
return !1;
|
625
|
+
const dataValidationDropdownManagerService = accessor.get(DataValidationDropdownManagerService), { unitId, subUnitId, row, column } = params, activeDropdown = dataValidationDropdownManagerService.activeDropdown, currLoc = activeDropdown == null ? void 0 : activeDropdown.location;
|
626
|
+
return currLoc && currLoc.unitId === unitId && currLoc.subUnitId === subUnitId && currLoc.row === row && currLoc.col === column || dataValidationDropdownManagerService.showDataValidationDropdown(
|
627
|
+
unitId,
|
628
|
+
subUnitId,
|
629
|
+
row,
|
630
|
+
column
|
631
|
+
), !0;
|
632
|
+
}
|
633
|
+
}, HideDataValidationDropdown = {
|
634
|
+
type: CommandType.OPERATION,
|
635
|
+
id: "sheet.operation.hide-data-validation-dropdown",
|
636
|
+
handler(accessor, params) {
|
637
|
+
return params ? (accessor.get(DataValidationDropdownManagerService).hideDropdown(), !0) : !1;
|
638
|
+
}
|
639
|
+
}, DROP_DOWN_DEFAULT_COLOR = "#ECECEC", PLUGIN_CONFIG_KEY = "sheets-data-validation-ui.config", defaultPluginConfig = {}, dvListDropdown = "univer-dv-list-dropdown", dvListDropdownTitle = "univer-dv-list-dropdown-title", dvListDropdownList = "univer-dv-list-dropdown-list", dvListDropdownListContainer = "univer-dv-list-dropdown-list-container", dvListDropdownSelectedIcon = "univer-dv-list-dropdown-selected-icon", dvListDropdownItemContainer = "univer-dv-list-dropdown-item-container", dvListDropdownItem = "univer-dv-list-dropdown-item", dvListDropdownSplit = "univer-dv-list-dropdown-split", dvListDropdownEdit = "univer-dv-list-dropdown-edit", styles$5 = {
|
640
|
+
dvListDropdown,
|
641
|
+
dvListDropdownTitle,
|
642
|
+
dvListDropdownList,
|
643
|
+
dvListDropdownListContainer,
|
644
|
+
dvListDropdownSelectedIcon,
|
645
|
+
dvListDropdownItemContainer,
|
646
|
+
dvListDropdownItem,
|
647
|
+
dvListDropdownSplit,
|
648
|
+
dvListDropdownEdit
|
649
|
+
}, SelectList = /* @__PURE__ */ __name((props) => {
|
650
|
+
var _a17, _b;
|
651
|
+
const { value, onChange, multiple, options, title, onEdit, style, filter: filter2, location } = props, localeService = useDependency(LocaleService), configService = useDependency(IConfigService), lowerFilter = filter2 == null ? void 0 : filter2.toLowerCase(), { row, col, unitId, subUnitId } = location, filteredOptions = options.filter((item) => lowerFilter ? item.label.toLowerCase().includes(lowerFilter) : !0), showEditOnDropdown = (_b = (_a17 = configService.getConfig(PLUGIN_CONFIG_KEY)) == null ? void 0 : _a17.showEditOnDropdown) != null ? _b : !0, sheetPermissionInterceptorBaseController = useDependency(SheetPermissionInterceptorBaseController), hasPermission = useMemo(() => sheetPermissionInterceptorBaseController.permissionCheckWithRanges(
|
652
|
+
{
|
653
|
+
workbookTypes: [WorkbookEditablePermission],
|
654
|
+
rangeTypes: [RangeProtectionPermissionEditPoint],
|
655
|
+
worksheetTypes: [WorksheetEditPermission]
|
656
|
+
},
|
657
|
+
[{ startColumn: col, startRow: row, endColumn: col, endRow: row }],
|
658
|
+
unitId,
|
659
|
+
subUnitId
|
660
|
+
), [sheetPermissionInterceptorBaseController, col, row, unitId, subUnitId]);
|
661
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.dvListDropdown, style, children: [
|
662
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownTitle, children: title }),
|
663
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownList, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Scrollbar, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownListContainer, children: filteredOptions.map((item, i) => {
|
664
|
+
const selected = value.indexOf(item.value) > -1, handleClick = /* @__PURE__ */ __name(() => {
|
665
|
+
let set;
|
666
|
+
selected ? set = new Set(value.filter((sub) => sub !== item.value)) : set = new Set(multiple ? [...value, item.value] : [item.value]);
|
667
|
+
const newValue = [];
|
668
|
+
options.forEach((opt) => {
|
669
|
+
set.has(opt.value) && newValue.push(opt.value);
|
670
|
+
}), onChange(newValue);
|
671
|
+
}, "handleClick"), index = item.label.toLocaleLowerCase().indexOf(lowerFilter);
|
672
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.dvListDropdownItemContainer, onClick: handleClick, children: [
|
673
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownItem, style: { background: item.color || DROP_DOWN_DEFAULT_COLOR }, children: lowerFilter && item.label.toLowerCase().includes(lowerFilter) ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
674
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: item.label.substring(0, index) }),
|
675
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { fontWeight: "bold" }, children: item.label.substring(index, index + lowerFilter.length) }),
|
676
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: item.label.substring(index + lowerFilter.length) })
|
677
|
+
] }) : item.label }),
|
678
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownSelectedIcon, children: selected ? /* @__PURE__ */ jsxRuntimeExports.jsx(CheckMarkSingle, {}) : null })
|
679
|
+
] }, i);
|
680
|
+
}) }) }, filter2) }),
|
681
|
+
showEditOnDropdown && hasPermission ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
682
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownSplit }),
|
683
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownEdit, children: /* @__PURE__ */ jsxRuntimeExports.jsx("a", { onClick: onEdit, children: localeService.t("dataValidation.list.edit") }) })
|
684
|
+
] }) : null
|
685
|
+
] });
|
686
|
+
}, "SelectList");
|
687
|
+
function ListDropDown(props) {
|
688
|
+
var _a17, _b;
|
689
|
+
const { location, hideFn } = props, { worksheet, row, col, unitId, subUnitId } = location, dataValidationModel = useDependency(DataValidationModel), [editingText, setEditingText] = useState(""), commandService = useDependency(ICommandService), localeService = useDependency(LocaleService), [localValue, setLocalValue] = useState(""), editorBridgeService = useDependency(IEditorBridgeService), instanceService = useDependency(IUniverInstanceService), ruleChange$ = useMemo(() => dataValidationModel.ruleChange$.pipe(debounceTime(16)), []);
|
690
|
+
useObservable(ruleChange$);
|
691
|
+
const anchorRect = RectPopup.useContext(), cellWidth = anchorRect.right - anchorRect.left;
|
692
|
+
if (useEffect(() => {
|
693
|
+
const dispose = commandService.onCommandExecuted((command) => {
|
694
|
+
var _a18, _b2;
|
695
|
+
if (command.id === RichTextEditingMutation.id) {
|
696
|
+
const params = command.params, { unitId: unitId2 } = params, unit = instanceService.getUnit(unitId2, UniverInstanceType.UNIVER_DOC);
|
697
|
+
if (!unit)
|
698
|
+
return;
|
699
|
+
const text = BuildTextUtils.transform.getPlainText((_b2 = (_a18 = unit.getSnapshot().body) == null ? void 0 : _a18.dataStream) != null ? _b2 : "");
|
700
|
+
setEditingText(text);
|
701
|
+
}
|
702
|
+
});
|
703
|
+
return () => {
|
704
|
+
dispose.dispose();
|
705
|
+
};
|
706
|
+
}, [commandService, instanceService]), !worksheet)
|
707
|
+
return null;
|
708
|
+
const cellData = worksheet.getCell(row, col), rule = (_a17 = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _b.validator, showColor = (rule == null ? void 0 : rule.renderMode) === DataValidationRenderMode.CUSTOM || (rule == null ? void 0 : rule.renderMode) === void 0;
|
709
|
+
if (!cellData || !rule || !validator || validator.id.indexOf(DataValidationType.LIST) !== 0)
|
710
|
+
return;
|
711
|
+
const multiple = rule.type === DataValidationType.LIST_MULTIPLE, list = validator.getListWithColor(rule, unitId, subUnitId), cellStr = localValue || getDataValidationCellValue(worksheet.getCellRaw(row, col)), value = deserializeListOptions(cellStr), handleEdit = /* @__PURE__ */ __name(() => {
|
712
|
+
commandService.executeCommand(OpenValidationPanelOperation.id, {
|
713
|
+
ruleId: rule.uid
|
714
|
+
}), hideFn();
|
715
|
+
}, "handleEdit"), options = list.map((item) => ({
|
716
|
+
label: item.label,
|
717
|
+
value: item.label,
|
718
|
+
color: showColor ? item.color : "transparent"
|
719
|
+
}));
|
720
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
721
|
+
SelectList,
|
722
|
+
{
|
723
|
+
style: { minWidth: cellWidth, maxWidth: Math.max(cellWidth, 200) },
|
724
|
+
title: multiple ? localeService.t("dataValidation.listMultiple.dropdown") : localeService.t("dataValidation.list.dropdown"),
|
725
|
+
value,
|
726
|
+
multiple,
|
727
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
728
|
+
const str = serializeListOptions(newValue), params = {
|
729
|
+
unitId,
|
730
|
+
subUnitId,
|
731
|
+
range: {
|
732
|
+
startColumn: col,
|
733
|
+
endColumn: col,
|
734
|
+
startRow: row,
|
735
|
+
endRow: row
|
736
|
+
},
|
737
|
+
value: {
|
738
|
+
v: str,
|
739
|
+
p: null,
|
740
|
+
f: null,
|
741
|
+
si: null
|
742
|
+
}
|
743
|
+
};
|
744
|
+
editorBridgeService.isVisible() && editorBridgeService.changeVisible({
|
745
|
+
visible: !1,
|
746
|
+
keycode: KeyCode.ESC,
|
747
|
+
eventType: DeviceInputEventType.Keyboard,
|
748
|
+
unitId
|
749
|
+
}), commandService.executeCommand(SetRangeValuesCommand.id, params), setLocalValue(str), multiple || hideFn();
|
750
|
+
}, "onChange"),
|
751
|
+
options,
|
752
|
+
onEdit: handleEdit,
|
753
|
+
filter: editingText,
|
754
|
+
location
|
755
|
+
}
|
756
|
+
);
|
757
|
+
}
|
758
|
+
__name(ListDropDown, "ListDropDown");
|
759
|
+
const dataValidationOptionsButton = "univer-data-validation-options-button", dataValidationOptionsButtonIcon = "univer-data-validation-options-button-icon", styles$4 = {
|
760
|
+
dataValidationOptionsButton,
|
761
|
+
dataValidationOptionsButtonIcon
|
762
|
+
};
|
763
|
+
function DataValidationOptions(props) {
|
764
|
+
var _a17;
|
765
|
+
const localeService = useDependency(LocaleService), componentManager = useDependency(ComponentManager), { value, onChange, extraComponent } = props, [show, setShow] = useState(!1), ExtraOptions = extraComponent ? componentManager.get(extraComponent) : null;
|
766
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
767
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$4.dataValidationOptionsButton, onClick: /* @__PURE__ */ __name(() => setShow(!show), "onClick"), children: [
|
768
|
+
localeService.t("dataValidation.panel.options"),
|
769
|
+
show ? /* @__PURE__ */ jsxRuntimeExports.jsx(MoreUpSingle, { className: styles$4.dataValidationOptionsButtonIcon }) : /* @__PURE__ */ jsxRuntimeExports.jsx(MoreDownSingle, { className: styles$4.dataValidationOptionsButtonIcon })
|
770
|
+
] }),
|
771
|
+
show && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
772
|
+
ExtraOptions ? /* @__PURE__ */ jsxRuntimeExports.jsx(ExtraOptions, { value, onChange }) : null,
|
773
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
774
|
+
FormLayout,
|
775
|
+
{
|
776
|
+
label: localeService.t("dataValidation.panel.invalid"),
|
777
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
778
|
+
RadioGroup,
|
779
|
+
{
|
780
|
+
value: `${(_a17 = value.errorStyle) != null ? _a17 : DataValidationErrorStyle.WARNING}`,
|
781
|
+
onChange: /* @__PURE__ */ __name((errorStyle) => onChange({ ...value, errorStyle: +errorStyle }), "onChange"),
|
782
|
+
children: [
|
783
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationErrorStyle.WARNING}`, children: localeService.t("dataValidation.panel.showWarning") }),
|
784
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationErrorStyle.STOP}`, children: localeService.t("dataValidation.panel.rejectInput") })
|
785
|
+
]
|
786
|
+
}
|
787
|
+
)
|
788
|
+
}
|
789
|
+
),
|
790
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
791
|
+
FormLayout,
|
792
|
+
{
|
793
|
+
label: localeService.t("dataValidation.panel.messageInfo"),
|
794
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
795
|
+
Checkbox,
|
796
|
+
{
|
797
|
+
checked: value.showErrorMessage,
|
798
|
+
onChange: /* @__PURE__ */ __name(() => onChange({
|
799
|
+
...value,
|
800
|
+
showErrorMessage: !value.showErrorMessage
|
801
|
+
}), "onChange"),
|
802
|
+
children: localeService.t("dataValidation.panel.showInfo")
|
803
|
+
}
|
804
|
+
)
|
805
|
+
}
|
806
|
+
),
|
807
|
+
value.showErrorMessage ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Input, { value: value.error, onChange: /* @__PURE__ */ __name((error) => onChange({ ...value, error }), "onChange") }) }) : null
|
808
|
+
] })
|
809
|
+
] });
|
810
|
+
}
|
811
|
+
__name(DataValidationOptions, "DataValidationOptions");
|
812
|
+
const dataValidationDetail = "univer-data-validation-detail", dataValidationDetailFormItem = "univer-data-validation-detail-form-item", dataValidationDetailButtons = "univer-data-validation-detail-buttons", dataValidationDetailButton = "univer-data-validation-detail-button", styles$3 = {
|
813
|
+
dataValidationDetail,
|
814
|
+
dataValidationDetailFormItem,
|
815
|
+
dataValidationDetailButtons,
|
816
|
+
dataValidationDetailButton
|
817
|
+
}, debounceExecuteFactory = /* @__PURE__ */ __name((commandService) => debounce(
|
818
|
+
async (id, params, options, callback) => {
|
819
|
+
const res = await commandService.executeCommand(id, params, options);
|
820
|
+
callback == null || callback(res);
|
821
|
+
},
|
822
|
+
1e3
|
823
|
+
), "debounceExecuteFactory");
|
824
|
+
function DataValidationDetail() {
|
825
|
+
const [key, setKey] = useState(0), dataValidationPanelService = useDependency(DataValidationPanelService), activeRuleInfo = useObservable(dataValidationPanelService.activeRule$, dataValidationPanelService.activeRule), { unitId, subUnitId, rule } = activeRuleInfo || {}, ruleId = rule.uid, validatorService = useDependency(DataValidatorRegistryService), componentManager = useDependency(ComponentManager), commandService = useDependency(ICommandService), dataValidationModel = useDependency(DataValidationModel), localeService = useDependency(LocaleService), [localRule, setLocalRule] = useState(rule), validator = validatorService.getValidatorItem(localRule.type), [showError, setShowError] = useState(!1), validators = validatorService.getValidatorsByScope(DataValidatorRegistryScope.SHEET), [localRanges, setLocalRanges] = useState(() => localRule.ranges.map((i) => ({ unitId: "", sheetId: "", range: i }))), debounceExecute = useMemo(() => debounceExecuteFactory(commandService), [commandService]), sheetSelectionService = useDependency(SheetsSelectionsService);
|
826
|
+
if (useEffect(() => () => {
|
827
|
+
const currentSelection = sheetSelectionService.getCurrentLastSelection();
|
828
|
+
currentSelection && sheetSelectionService.setSelections([currentSelection]);
|
829
|
+
}, [sheetSelectionService]), useEffect(() => {
|
830
|
+
commandService.onCommandExecuted((commandInfo) => {
|
831
|
+
(commandInfo.id === UndoCommand.id || commandInfo.id === RedoCommand.id) && setTimeout(() => {
|
832
|
+
const activeRule = dataValidationModel.getRuleById(unitId, subUnitId, ruleId);
|
833
|
+
setKey((k2) => k2 + 1), activeRule && (setLocalRule(activeRule), setLocalRanges(activeRule.ranges.map((i) => ({ unitId: "", sheetId: "", range: i }))));
|
834
|
+
}, 20);
|
835
|
+
});
|
836
|
+
}, [commandService, dataValidationModel, ruleId, subUnitId, unitId]), !validator)
|
837
|
+
return null;
|
838
|
+
const operators = validator.operators, operatorNames = validator.operatorNames, isTwoFormula = localRule.operator ? TWO_FORMULA_OPERATOR_COUNT.includes(localRule.operator) : !1, handleOk = /* @__PURE__ */ __name(() => {
|
839
|
+
localRule.ranges.length && (validator.validatorFormula(localRule, unitId, subUnitId).success ? dataValidationPanelService.setActiveRule(null) : setShowError(!0));
|
840
|
+
}, "handleOk"), handleUpdateRuleRanges = useEvent((unitRanges) => {
|
841
|
+
if (isUnitRangesEqual(unitRanges, localRanges))
|
842
|
+
return;
|
843
|
+
setLocalRanges(unitRanges);
|
844
|
+
const ranges = unitRanges.filter((i) => (!i.unitId || i.unitId === unitId) && (!i.sheetId || i.sheetId === subUnitId)).map((i) => i.range);
|
845
|
+
if (setLocalRule({
|
846
|
+
...localRule,
|
847
|
+
ranges
|
848
|
+
}), ranges.length === 0)
|
849
|
+
return;
|
850
|
+
const params = {
|
851
|
+
unitId,
|
852
|
+
subUnitId,
|
853
|
+
ruleId,
|
854
|
+
ranges
|
855
|
+
};
|
856
|
+
debounceExecute(UpdateSheetDataValidationRangeCommand.id, params);
|
857
|
+
}), handleUpdateRuleSetting = /* @__PURE__ */ __name((setting) => {
|
858
|
+
if (shallowEqual(setting, getRuleSetting(localRule)))
|
859
|
+
return;
|
860
|
+
setLocalRule({
|
861
|
+
...localRule,
|
862
|
+
...setting
|
863
|
+
});
|
864
|
+
const params = {
|
865
|
+
unitId,
|
866
|
+
subUnitId,
|
867
|
+
ruleId,
|
868
|
+
setting
|
869
|
+
};
|
870
|
+
debounceExecute(
|
871
|
+
UpdateSheetDataValidationSettingCommand.id,
|
872
|
+
params,
|
873
|
+
void 0
|
874
|
+
);
|
875
|
+
}, "handleUpdateRuleSetting"), handleDelete = /* @__PURE__ */ __name(async () => {
|
876
|
+
await commandService.executeCommand(RemoveSheetDataValidationCommand.id, {
|
877
|
+
ruleId,
|
878
|
+
unitId,
|
879
|
+
subUnitId
|
880
|
+
}), dataValidationPanelService.setActiveRule(null);
|
881
|
+
}, "handleDelete"), baseRule = {
|
882
|
+
type: localRule.type,
|
883
|
+
operator: localRule.operator,
|
884
|
+
formula1: localRule.formula1,
|
885
|
+
formula2: localRule.formula2,
|
886
|
+
allowBlank: localRule.allowBlank
|
887
|
+
}, handleChangeType = /* @__PURE__ */ __name((newType) => {
|
888
|
+
const validator2 = validatorService.getValidatorItem(newType);
|
889
|
+
if (!validator2)
|
890
|
+
return;
|
891
|
+
const operators2 = validator2.operators, rule2 = dataValidationModel.getRuleById(unitId, subUnitId, ruleId), newRule = newType === (rule2 == null ? void 0 : rule2.type) || newType.includes("list") && (rule2 != null && rule2.type.includes("list")) ? {
|
892
|
+
...rule2,
|
893
|
+
type: newType
|
894
|
+
} : {
|
895
|
+
...localRule,
|
896
|
+
type: newType,
|
897
|
+
operator: operators2[0],
|
898
|
+
formula1: void 0,
|
899
|
+
formula2: void 0
|
900
|
+
};
|
901
|
+
setLocalRule(newRule), commandService.executeCommand(UpdateSheetDataValidationSettingCommand.id, {
|
902
|
+
unitId,
|
903
|
+
subUnitId,
|
904
|
+
ruleId: localRule.uid,
|
905
|
+
setting: getRuleSetting(newRule)
|
906
|
+
});
|
907
|
+
}, "handleChangeType"), FormulaInput = componentManager.get(validator.formulaInput), rangeStr = useMemo(() => localRanges.map((i) => serializeRange(i.range)).join(","), []), options = getRuleOptions(localRule), handleUpdateRuleOptions = /* @__PURE__ */ __name((newOptions) => {
|
908
|
+
shallowEqual(newOptions, getRuleOptions(localRule)) || (setLocalRule({
|
909
|
+
...localRule,
|
910
|
+
...newOptions
|
911
|
+
}), debounceExecute(
|
912
|
+
UpdateSheetDataValidationOptionsCommand.id,
|
913
|
+
{
|
914
|
+
unitId,
|
915
|
+
subUnitId,
|
916
|
+
ruleId,
|
917
|
+
options: newOptions
|
918
|
+
}
|
919
|
+
));
|
920
|
+
}, "handleUpdateRuleOptions");
|
921
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$3.dataValidationDetail, children: [
|
922
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
923
|
+
FormLayout,
|
924
|
+
{
|
925
|
+
label: localeService.t("dataValidation.panel.range"),
|
926
|
+
error: localRule.ranges.length ? "" : localeService.t("dataValidation.panel.rangeError"),
|
927
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
928
|
+
RangeSelector,
|
929
|
+
{
|
930
|
+
className: styles$3.dataValidationDetailFormItem,
|
931
|
+
value: rangeStr,
|
932
|
+
id: createInternalEditorID("data-validation-detail"),
|
933
|
+
openForSheetUnitId: unitId,
|
934
|
+
openForSheetSubUnitId: subUnitId,
|
935
|
+
onChange: /* @__PURE__ */ __name((newRange) => {
|
936
|
+
newRange.some((i) => !isValidRange(i.range) || i.range.endColumn < i.range.startColumn || i.range.endRow < i.range.startRow) || handleUpdateRuleRanges(newRange);
|
937
|
+
}, "onChange")
|
938
|
+
},
|
939
|
+
key
|
940
|
+
)
|
941
|
+
}
|
942
|
+
),
|
943
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.panel.type"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
944
|
+
Select,
|
945
|
+
{
|
946
|
+
options: validators == null ? void 0 : validators.map((validator2) => ({
|
947
|
+
label: localeService.t(validator2.title),
|
948
|
+
value: validator2.id
|
949
|
+
})),
|
950
|
+
value: localRule.type,
|
951
|
+
onChange: handleChangeType,
|
952
|
+
className: styles$3.dataValidationDetailFormItem
|
953
|
+
}
|
954
|
+
) }),
|
955
|
+
operators != null && operators.length ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.panel.operator"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
956
|
+
Select,
|
957
|
+
{
|
958
|
+
options: operators.map((op, i) => ({
|
959
|
+
value: `${op}`,
|
960
|
+
label: operatorNames[i]
|
961
|
+
})),
|
962
|
+
value: `${localRule.operator}`,
|
963
|
+
onChange: /* @__PURE__ */ __name((operator) => {
|
964
|
+
handleUpdateRuleSetting({
|
965
|
+
...baseRule,
|
966
|
+
operator
|
967
|
+
});
|
968
|
+
}, "onChange"),
|
969
|
+
className: styles$3.dataValidationDetailFormItem
|
970
|
+
}
|
971
|
+
) }) : null,
|
972
|
+
FormulaInput ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
973
|
+
FormulaInput,
|
974
|
+
{
|
975
|
+
isTwoFormula,
|
976
|
+
value: {
|
977
|
+
formula1: localRule.formula1,
|
978
|
+
formula2: localRule.formula2
|
979
|
+
},
|
980
|
+
onChange: /* @__PURE__ */ __name((value) => {
|
981
|
+
handleUpdateRuleSetting({
|
982
|
+
...baseRule,
|
983
|
+
...value
|
984
|
+
});
|
985
|
+
}, "onChange"),
|
986
|
+
showError,
|
987
|
+
validResult: validator.validatorFormula(localRule, unitId, subUnitId),
|
988
|
+
unitId,
|
989
|
+
subUnitId,
|
990
|
+
ruleId
|
991
|
+
},
|
992
|
+
key + localRule.type
|
993
|
+
) : null,
|
994
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationOptions, { value: options, onChange: handleUpdateRuleOptions, extraComponent: validator.optionsInput }),
|
995
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$3.dataValidationDetailButtons, children: [
|
996
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$3.dataValidationDetailButton, onClick: handleDelete, children: localeService.t("dataValidation.panel.removeRule") }),
|
997
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$3.dataValidationDetailButton, type: "primary", onClick: handleOk, children: localeService.t("dataValidation.panel.done") })
|
998
|
+
] })
|
999
|
+
] });
|
1000
|
+
}
|
1001
|
+
__name(DataValidationDetail, "DataValidationDetail");
|
1002
|
+
const dataValidationItemContainer = "univer-data-validation-item-container", dataValidationItemTitle = "univer-data-validation-item-title", dataValidationItemContent = "univer-data-validation-item-content", dataValidationItemIcon = "univer-data-validation-item-icon", styles$2 = {
|
1003
|
+
dataValidationItemContainer,
|
1004
|
+
dataValidationItemTitle,
|
1005
|
+
dataValidationItemContent,
|
1006
|
+
dataValidationItemIcon
|
1007
|
+
}, DataValidationItem = /* @__PURE__ */ __name((props) => {
|
1008
|
+
const { rule, onClick, unitId, subUnitId, disable } = props, validatorRegistry = useDependency(DataValidatorRegistryService), commandService = useDependency(ICommandService), markSelectionService = useDependency(IMarkSelectionService), validator = validatorRegistry.getValidatorItem(rule.type), ids = useRef(), [isHover, setIsHover] = useState(!1), handleDelete = /* @__PURE__ */ __name((e) => {
|
1009
|
+
commandService.executeCommand(RemoveSheetDataValidationCommand.id, {
|
1010
|
+
ruleId: rule.uid,
|
1011
|
+
unitId,
|
1012
|
+
subUnitId
|
1013
|
+
}), e.stopPropagation();
|
1014
|
+
}, "handleDelete");
|
1015
|
+
return useEffect(() => () => {
|
1016
|
+
var _a17;
|
1017
|
+
ids.current && ((_a17 = ids.current) == null || _a17.forEach((id) => {
|
1018
|
+
id && markSelectionService.removeShape(id);
|
1019
|
+
}));
|
1020
|
+
}, [markSelectionService]), /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
1021
|
+
"div",
|
1022
|
+
{
|
1023
|
+
className: styles$2.dataValidationItemContainer,
|
1024
|
+
onClick,
|
1025
|
+
onMouseEnter: /* @__PURE__ */ __name(() => {
|
1026
|
+
disable || (setIsHover(!0), ids.current = rule.ranges.map((range) => markSelectionService.addShape({
|
1027
|
+
range,
|
1028
|
+
style: {
|
1029
|
+
hasAutoFill: !1,
|
1030
|
+
fill: "rgba(73, 184, 17, 0.05)",
|
1031
|
+
strokeWidth: 1,
|
1032
|
+
stroke: "#49B811",
|
1033
|
+
widgets: {}
|
1034
|
+
},
|
1035
|
+
primary: {
|
1036
|
+
startColumn: range.startColumn,
|
1037
|
+
endColumn: range.endColumn,
|
1038
|
+
startRow: range.startRow,
|
1039
|
+
endRow: range.endRow,
|
1040
|
+
actualRow: range.startRow,
|
1041
|
+
actualColumn: range.startColumn,
|
1042
|
+
isMerged: !1,
|
1043
|
+
isMergedMainCell: !1
|
1044
|
+
}
|
1045
|
+
})));
|
1046
|
+
}, "onMouseEnter"),
|
1047
|
+
onMouseLeave: /* @__PURE__ */ __name(() => {
|
1048
|
+
var _a17;
|
1049
|
+
setIsHover(!1), (_a17 = ids.current) == null || _a17.forEach((id) => {
|
1050
|
+
id && markSelectionService.removeShape(id);
|
1051
|
+
}), ids.current = void 0;
|
1052
|
+
}, "onMouseLeave"),
|
1053
|
+
children: [
|
1054
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.dataValidationItemTitle, children: validator == null ? void 0 : validator.generateRuleName(rule) }),
|
1055
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.dataValidationItemContent, children: rule.ranges.map((range) => serializeRange(range)).join(",") }),
|
1056
|
+
isHover ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.dataValidationItemIcon, onClick: handleDelete, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DeleteSingle, {}) }) : null
|
1057
|
+
]
|
1058
|
+
}
|
1059
|
+
);
|
1060
|
+
}, "DataValidationItem"), dataValidationList = "univer-data-validation-list", dataValidationListButtons = "univer-data-validation-list-buttons", dataValidationListButton = "univer-data-validation-list-button", styles$1 = {
|
1061
|
+
dataValidationList,
|
1062
|
+
dataValidationListButtons,
|
1063
|
+
dataValidationListButton
|
1064
|
+
};
|
1065
|
+
function DataValidationList() {
|
1066
|
+
const univerInstanceService = useDependency(IUniverInstanceService), workbook = useObservable(
|
1067
|
+
() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET),
|
1068
|
+
void 0,
|
1069
|
+
void 0,
|
1070
|
+
[]
|
1071
|
+
);
|
1072
|
+
return workbook ? /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationListWithWorkbook, { workbook }) : null;
|
1073
|
+
}
|
1074
|
+
__name(DataValidationList, "DataValidationList");
|
1075
|
+
function DataValidationListWithWorkbook(props) {
|
1076
|
+
const sheetDataValidationModel = useDependency(SheetDataValidationModel), univerInstanceService = useDependency(IUniverInstanceService), commandService = useDependency(ICommandService), injector = useDependency(Injector), dataValidationPanelService = useDependency(DataValidationPanelService), localeService = useDependency(LocaleService), [rules, setRules] = useState([]), { workbook } = props, worksheet = useObservable(workbook.activeSheet$, void 0, !0), unitId = workbook.getUnitId(), subUnitId = worksheet == null ? void 0 : worksheet.getSheetId();
|
1077
|
+
useEffect(() => {
|
1078
|
+
setRules(sheetDataValidationModel.getRules(unitId, subUnitId));
|
1079
|
+
const subscription = sheetDataValidationModel.ruleChange$.subscribe((change) => {
|
1080
|
+
change.unitId === unitId && change.subUnitId === subUnitId && setRules(sheetDataValidationModel.getRules(unitId, subUnitId));
|
1081
|
+
});
|
1082
|
+
return () => {
|
1083
|
+
subscription.unsubscribe();
|
1084
|
+
};
|
1085
|
+
}, [unitId, subUnitId, sheetDataValidationModel]);
|
1086
|
+
const handleAddRule = /* @__PURE__ */ __name(async () => {
|
1087
|
+
const rule = createDefaultNewRule(injector), params = {
|
1088
|
+
unitId,
|
1089
|
+
subUnitId,
|
1090
|
+
rule
|
1091
|
+
};
|
1092
|
+
await commandService.executeCommand(AddSheetDataValidationCommand.id, params), dataValidationPanelService.setActiveRule({
|
1093
|
+
unitId,
|
1094
|
+
subUnitId,
|
1095
|
+
rule
|
1096
|
+
});
|
1097
|
+
}, "handleAddRule"), handleRemoveAll = /* @__PURE__ */ __name(() => {
|
1098
|
+
commandService.executeCommand(RemoveSheetAllDataValidationCommand.id, {
|
1099
|
+
unitId,
|
1100
|
+
subUnitId
|
1101
|
+
});
|
1102
|
+
}, "handleRemoveAll"), rulesByPermissionCheck = (/* @__PURE__ */ __name((rules2) => {
|
1103
|
+
const workbook2 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET), worksheet2 = workbook2.getActiveSheet(), unitId2 = workbook2.getUnitId(), subUnitId2 = worksheet2.getSheetId();
|
1104
|
+
return rules2.map((rule) => checkRangesEditablePermission(injector, unitId2, subUnitId2, rule.ranges) ? { ...rule } : { ...rule, disable: !0 });
|
1105
|
+
}, "getDvRulesByPermissionCorrect"))(rules), hasDisableRule = rulesByPermissionCheck == null ? void 0 : rulesByPermissionCheck.some((rule) => rule.disable);
|
1106
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.dataValidationList, children: [
|
1107
|
+
rulesByPermissionCheck == null ? void 0 : rulesByPermissionCheck.map((rule) => {
|
1108
|
+
var _a17;
|
1109
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1110
|
+
DataValidationItem,
|
1111
|
+
{
|
1112
|
+
unitId,
|
1113
|
+
subUnitId,
|
1114
|
+
onClick: /* @__PURE__ */ __name(() => {
|
1115
|
+
rule.disable || dataValidationPanelService.setActiveRule({
|
1116
|
+
unitId,
|
1117
|
+
subUnitId,
|
1118
|
+
rule
|
1119
|
+
});
|
1120
|
+
}, "onClick"),
|
1121
|
+
rule,
|
1122
|
+
disable: (_a17 = rule.disable) != null ? _a17 : !1
|
1123
|
+
},
|
1124
|
+
rule.uid
|
1125
|
+
);
|
1126
|
+
}),
|
1127
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.dataValidationListButtons, children: [
|
1128
|
+
rules.length && !hasDisableRule ? /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$1.dataValidationListButton, onClick: handleRemoveAll, children: localeService.t("dataValidation.panel.removeAll") }) : null,
|
1129
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$1.dataValidationListButton, type: "primary", onClick: handleAddRule, children: localeService.t("dataValidation.panel.add") })
|
1130
|
+
] })
|
1131
|
+
] });
|
1132
|
+
}
|
1133
|
+
__name(DataValidationListWithWorkbook, "DataValidationListWithWorkbook");
|
1134
|
+
const DataValidationPanel = /* @__PURE__ */ __name(() => {
|
1135
|
+
const dataValidationPanelService = useDependency(DataValidationPanelService), activeRule = useObservable(dataValidationPanelService.activeRule$, dataValidationPanelService.activeRule);
|
1136
|
+
return activeRule ? /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationDetail, {}, activeRule.rule.uid) : /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationList, {});
|
1137
|
+
}, "DataValidationPanel"), LIST_DROPDOWN_KEY = "data-validation.list.dropdown", DATE_DROPDOWN_KEY = "data-validation.date.dropdown", AddSheetDataValidationAndOpenCommand = {
|
1138
|
+
type: CommandType.COMMAND,
|
1139
|
+
id: "data-validation.command.addRuleAndOpen",
|
1140
|
+
async handler(accessor) {
|
1141
|
+
const univerInstanceService = accessor.get(IUniverInstanceService), target = getSheetCommandTarget(univerInstanceService);
|
1142
|
+
if (!target) return !1;
|
1143
|
+
const { workbook, worksheet } = target, rule = createDefaultNewRule(accessor), commandService = accessor.get(ICommandService), unitId = workbook.getUnitId(), subUnitId = worksheet.getSheetId(), addParams = {
|
1144
|
+
rule,
|
1145
|
+
unitId,
|
1146
|
+
subUnitId
|
1147
|
+
};
|
1148
|
+
return await commandService.executeCommand(AddSheetDataValidationCommand.id, addParams) ? (commandService.executeCommand(OpenValidationPanelOperation.id, {
|
1149
|
+
ruleId: rule.uid,
|
1150
|
+
isAdd: !0
|
1151
|
+
}), !0) : !1;
|
1152
|
+
}
|
1153
|
+
};
|
1154
|
+
var __defProp$b = Object.defineProperty, __getOwnPropDesc$b = Object.getOwnPropertyDescriptor, __decorateClass$b = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
1155
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
1156
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
1157
|
+
return kind && result && __defProp$b(target, key, result), result;
|
1158
|
+
}, "__decorateClass$b"), __decorateParam$b = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$b");
|
1159
|
+
const ALERT_KEY = "SHEET_DATA_VALIDATION_ALERT";
|
1160
|
+
var _a4;
|
1161
|
+
let DataValidationAlertController = (_a4 = class extends Disposable {
|
1162
|
+
constructor(_hoverManagerService, _cellAlertManagerService, _univerInstanceService, _localeService, _zenZoneService) {
|
1163
|
+
super(), this._hoverManagerService = _hoverManagerService, this._cellAlertManagerService = _cellAlertManagerService, this._univerInstanceService = _univerInstanceService, this._localeService = _localeService, this._zenZoneService = _zenZoneService, this._init();
|
1164
|
+
}
|
1165
|
+
_init() {
|
1166
|
+
this._initCellAlertPopup(), this._initZenService();
|
1167
|
+
}
|
1168
|
+
_initCellAlertPopup() {
|
1169
|
+
this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(debounceTime(100)).subscribe((cellPos) => {
|
1170
|
+
var _a17, _b;
|
1171
|
+
if (cellPos) {
|
1172
|
+
const worksheet = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet();
|
1173
|
+
if (!worksheet) return;
|
1174
|
+
const cellData = worksheet.getCell(cellPos.location.row, cellPos.location.col);
|
1175
|
+
if (((_a17 = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _a17.validStatus) === DataValidationStatus.INVALID) {
|
1176
|
+
const currentAlert = this._cellAlertManagerService.currentAlert.get(ALERT_KEY), currentLoc = (_b = currentAlert == null ? void 0 : currentAlert.alert) == null ? void 0 : _b.location;
|
1177
|
+
if (currentLoc && currentLoc.row === cellPos.location.row && currentLoc.col === cellPos.location.col && currentLoc.subUnitId === cellPos.location.subUnitId && currentLoc.unitId === cellPos.location.unitId)
|
1178
|
+
return;
|
1179
|
+
const validator = cellData.dataValidation.validator, rule = cellData.dataValidation.rule;
|
1180
|
+
if (!validator)
|
1181
|
+
return;
|
1182
|
+
this._cellAlertManagerService.showAlert({
|
1183
|
+
type: CellAlertType.ERROR,
|
1184
|
+
title: this._localeService.t("dataValidation.error.title"),
|
1185
|
+
message: validator == null ? void 0 : validator.getRuleFinalError(rule),
|
1186
|
+
location: cellPos.location,
|
1187
|
+
width: 200,
|
1188
|
+
height: 74,
|
1189
|
+
key: ALERT_KEY
|
1190
|
+
});
|
1191
|
+
return;
|
1192
|
+
}
|
1193
|
+
}
|
1194
|
+
this._cellAlertManagerService.removeAlert(ALERT_KEY);
|
1195
|
+
}));
|
1196
|
+
}
|
1197
|
+
_initZenService() {
|
1198
|
+
this.disposeWithMe(this._zenZoneService.visible$.subscribe((visible) => {
|
1199
|
+
visible && this._cellAlertManagerService.removeAlert(ALERT_KEY);
|
1200
|
+
}));
|
1201
|
+
}
|
1202
|
+
}, __name(_a4, "DataValidationAlertController"), _a4);
|
1203
|
+
DataValidationAlertController = __decorateClass$b([
|
1204
|
+
__decorateParam$b(0, Inject(HoverManagerService)),
|
1205
|
+
__decorateParam$b(1, Inject(CellAlertManagerService)),
|
1206
|
+
__decorateParam$b(2, IUniverInstanceService),
|
1207
|
+
__decorateParam$b(3, Inject(LocaleService)),
|
1208
|
+
__decorateParam$b(4, IZenZoneService)
|
1209
|
+
], DataValidationAlertController);
|
1210
|
+
var __defProp$a = Object.defineProperty, __getOwnPropDesc$a = Object.getOwnPropertyDescriptor, __decorateClass$a = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
1211
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
1212
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
1213
|
+
return kind && result && __defProp$a(target, key, result), result;
|
1214
|
+
}, "__decorateClass$a"), __decorateParam$a = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$a"), _a5;
|
1215
|
+
let DataValidationAutoFillController = (_a5 = class extends Disposable {
|
1216
|
+
constructor(_autoFillService, _dataValidationModel, _injector) {
|
1217
|
+
super(), this._autoFillService = _autoFillService, this._dataValidationModel = _dataValidationModel, this._injector = _injector, this._initAutoFill();
|
1218
|
+
}
|
1219
|
+
// eslint-disable-next-line max-lines-per-function
|
1220
|
+
_initAutoFill() {
|
1221
|
+
const noopReturnFunc = /* @__PURE__ */ __name(() => ({ redos: [], undos: [] }), "noopReturnFunc"), generalApplyFunc = /* @__PURE__ */ __name((location, applyType) => {
|
1222
|
+
const { source: sourceRange, target: targetRange, unitId, subUnitId } = location, ruleMatrixCopy = this._dataValidationModel.getRuleObjectMatrix(unitId, subUnitId).clone(), virtualRange = virtualizeDiscreteRanges([sourceRange, targetRange]), [vSourceRange, vTargetRange] = virtualRange.ranges, { mapFunc } = virtualRange, sourceStartCell = {
|
1223
|
+
row: vSourceRange.startRow,
|
1224
|
+
col: vSourceRange.startColumn
|
1225
|
+
}, repeats = getAutoFillRepeatRange(vSourceRange, vTargetRange), additionMatrix = new ObjectMatrix(), additionRules = /* @__PURE__ */ new Set();
|
1226
|
+
repeats.forEach((repeat) => {
|
1227
|
+
const targetStartCell = repeat.repeatStartCell, relativeRange = repeat.relativeRange, sourceRange2 = {
|
1228
|
+
startRow: sourceStartCell.row,
|
1229
|
+
startColumn: sourceStartCell.col,
|
1230
|
+
endColumn: sourceStartCell.col,
|
1231
|
+
endRow: sourceStartCell.row
|
1232
|
+
}, targetRange2 = {
|
1233
|
+
startRow: targetStartCell.row,
|
1234
|
+
startColumn: targetStartCell.col,
|
1235
|
+
endColumn: targetStartCell.col,
|
1236
|
+
endRow: targetStartCell.row
|
1237
|
+
};
|
1238
|
+
Range.foreach(relativeRange, (row, col) => {
|
1239
|
+
const sourcePositionRange = Rectangle.getPositionRange(
|
1240
|
+
{
|
1241
|
+
startRow: row,
|
1242
|
+
startColumn: col,
|
1243
|
+
endColumn: col,
|
1244
|
+
endRow: row
|
1245
|
+
},
|
1246
|
+
sourceRange2
|
1247
|
+
), { row: sourceRow, col: sourceCol } = mapFunc(sourcePositionRange.startRow, sourcePositionRange.startColumn), ruleId = this._dataValidationModel.getRuleIdByLocation(unitId, subUnitId, sourceRow, sourceCol);
|
1248
|
+
if (ruleId) {
|
1249
|
+
const targetPositionRange = Rectangle.getPositionRange(
|
1250
|
+
{
|
1251
|
+
startRow: row,
|
1252
|
+
startColumn: col,
|
1253
|
+
endColumn: col,
|
1254
|
+
endRow: row
|
1255
|
+
},
|
1256
|
+
targetRange2
|
1257
|
+
), { row: targetRow, col: targetCol } = mapFunc(targetPositionRange.startRow, targetPositionRange.startColumn);
|
1258
|
+
additionMatrix.setValue(targetRow, targetCol, ruleId), additionRules.add(ruleId);
|
1259
|
+
}
|
1260
|
+
});
|
1261
|
+
});
|
1262
|
+
const additions = Array.from(additionRules).map((id) => ({ id, ranges: queryObjectMatrix(additionMatrix, (value) => value === id) }));
|
1263
|
+
ruleMatrixCopy.addRangeRules(additions);
|
1264
|
+
const diffs = ruleMatrixCopy.diff(this._dataValidationModel.getRules(unitId, subUnitId)), { redoMutations, undoMutations } = getDataValidationDiffMutations(unitId, subUnitId, diffs, this._injector, "patched", applyType === APPLY_TYPE.ONLY_FORMAT);
|
1265
|
+
return {
|
1266
|
+
undos: undoMutations,
|
1267
|
+
redos: redoMutations
|
1268
|
+
};
|
1269
|
+
}, "generalApplyFunc"), disabledDataVallation = [
|
1270
|
+
DataValidationType.CHECKBOX
|
1271
|
+
], hook = {
|
1272
|
+
id: DATA_VALIDATION_PLUGIN_NAME,
|
1273
|
+
onBeforeFillData: /* @__PURE__ */ __name((location) => {
|
1274
|
+
const { source: sourceRange, unitId, subUnitId } = location;
|
1275
|
+
for (const row of sourceRange.rows)
|
1276
|
+
for (const col of sourceRange.cols) {
|
1277
|
+
const dv = this._dataValidationModel.getRuleByLocation(unitId, subUnitId, row, col);
|
1278
|
+
if (dv && disabledDataVallation.indexOf(dv.type) > -1) {
|
1279
|
+
this._autoFillService.setDisableApplyType(APPLY_TYPE.SERIES, !0);
|
1280
|
+
return;
|
1281
|
+
}
|
1282
|
+
}
|
1283
|
+
}, "onBeforeFillData"),
|
1284
|
+
onFillData: /* @__PURE__ */ __name((location, direction, applyType) => applyType === APPLY_TYPE.COPY || applyType === APPLY_TYPE.ONLY_FORMAT || applyType === APPLY_TYPE.SERIES ? generalApplyFunc(location, applyType) : noopReturnFunc(), "onFillData"),
|
1285
|
+
onAfterFillData: /* @__PURE__ */ __name(() => {
|
1286
|
+
}, "onAfterFillData")
|
1287
|
+
};
|
1288
|
+
this.disposeWithMe(this._autoFillService.addHook(hook));
|
1289
|
+
}
|
1290
|
+
}, __name(_a5, "DataValidationAutoFillController"), _a5);
|
1291
|
+
DataValidationAutoFillController = __decorateClass$a([
|
1292
|
+
__decorateParam$a(0, IAutoFillService),
|
1293
|
+
__decorateParam$a(1, Inject(SheetDataValidationModel)),
|
1294
|
+
__decorateParam$a(2, Inject(Injector))
|
1295
|
+
], DataValidationAutoFillController);
|
1296
|
+
var __defProp$9 = Object.defineProperty, __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor, __decorateClass$9 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
1297
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
1298
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
1299
|
+
return kind && result && __defProp$9(target, key, result), result;
|
1300
|
+
}, "__decorateClass$9"), __decorateParam$9 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$9"), _a6;
|
1301
|
+
let DataValidationCopyPasteController = (_a6 = class extends Disposable {
|
1302
|
+
constructor(_sheetClipboardService, _sheetDataValidationModel, _injector) {
|
1303
|
+
super();
|
1304
|
+
__publicField(this, "_copyInfo");
|
1305
|
+
this._sheetClipboardService = _sheetClipboardService, this._sheetDataValidationModel = _sheetDataValidationModel, this._injector = _injector, this._initCopyPaste();
|
1306
|
+
}
|
1307
|
+
_initCopyPaste() {
|
1308
|
+
this._sheetClipboardService.addClipboardHook({
|
1309
|
+
id: DATA_VALIDATION_PLUGIN_NAME,
|
1310
|
+
onBeforeCopy: /* @__PURE__ */ __name((unitId, subUnitId, range) => this._collect(unitId, subUnitId, range), "onBeforeCopy"),
|
1311
|
+
onPasteCells: /* @__PURE__ */ __name((pasteFrom, pasteTo, data, payload) => {
|
1312
|
+
const { copyType = COPY_TYPE.COPY, pasteType } = payload, { range: copyRange } = pasteFrom || {}, { range: pastedRange, unitId, subUnitId } = pasteTo;
|
1313
|
+
return this._generateMutations(pastedRange, { copyType, pasteType, copyRange, unitId, subUnitId });
|
1314
|
+
}, "onPasteCells")
|
1315
|
+
});
|
1316
|
+
}
|
1317
|
+
_collect(unitId, subUnitId, range) {
|
1318
|
+
const matrix = new ObjectMatrix();
|
1319
|
+
this._copyInfo = {
|
1320
|
+
unitId,
|
1321
|
+
subUnitId,
|
1322
|
+
matrix
|
1323
|
+
};
|
1324
|
+
const discreteRange = this._injector.invoke((accessor) => rangeToDiscreteRange(range, accessor, unitId, subUnitId));
|
1325
|
+
if (!discreteRange)
|
1326
|
+
return;
|
1327
|
+
const { rows, cols } = discreteRange;
|
1328
|
+
rows.forEach((row, rowIndex) => {
|
1329
|
+
cols.forEach((col, colIndex) => {
|
1330
|
+
const ruleId = this._sheetDataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col);
|
1331
|
+
matrix.setValue(rowIndex, colIndex, ruleId != null ? ruleId : "");
|
1332
|
+
});
|
1333
|
+
});
|
1334
|
+
}
|
1335
|
+
// eslint-disable-next-line max-lines-per-function
|
1336
|
+
_generateMutations(pastedRange, copyInfo) {
|
1337
|
+
if (!this._copyInfo)
|
1338
|
+
return { redos: [], undos: [] };
|
1339
|
+
if (copyInfo.copyType === COPY_TYPE.CUT)
|
1340
|
+
return this._copyInfo = null, { redos: [], undos: [] };
|
1341
|
+
if (!this._copyInfo || !this._copyInfo.matrix.getSizeOf() || !copyInfo.copyRange)
|
1342
|
+
return { redos: [], undos: [] };
|
1343
|
+
if ([
|
1344
|
+
PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,
|
1345
|
+
PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,
|
1346
|
+
PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,
|
1347
|
+
PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA
|
1348
|
+
].includes(
|
1349
|
+
copyInfo.pasteType
|
1350
|
+
))
|
1351
|
+
return { redos: [], undos: [] };
|
1352
|
+
const { unitId, subUnitId } = this._copyInfo;
|
1353
|
+
if (copyInfo.unitId !== unitId || subUnitId !== copyInfo.subUnitId) {
|
1354
|
+
const ruleMatrix = this._sheetDataValidationModel.getRuleObjectMatrix(copyInfo.unitId, copyInfo.subUnitId).clone(), additionMatrix = new ObjectMatrix(), addRules = /* @__PURE__ */ new Set(), { ranges: [vCopyRange, vPastedRange], mapFunc } = virtualizeDiscreteRanges([copyInfo.copyRange, pastedRange]), repeatRange = getRepeatRange(vCopyRange, vPastedRange, !0), additionRules = /* @__PURE__ */ new Map();
|
1355
|
+
repeatRange.forEach(({ startRange }) => {
|
1356
|
+
var _a17;
|
1357
|
+
(_a17 = this._copyInfo) == null || _a17.matrix.forValue((row, col, ruleId) => {
|
1358
|
+
const range = Rectangle.getPositionRange(
|
1359
|
+
{
|
1360
|
+
startRow: row,
|
1361
|
+
endRow: row,
|
1362
|
+
startColumn: col,
|
1363
|
+
endColumn: col
|
1364
|
+
},
|
1365
|
+
startRange
|
1366
|
+
), transformedRuleId = `${subUnitId}-${ruleId}`, oldRule = this._sheetDataValidationModel.getRuleById(unitId, subUnitId, ruleId);
|
1367
|
+
!this._sheetDataValidationModel.getRuleById(copyInfo.unitId, copyInfo.subUnitId, transformedRuleId) && oldRule && additionRules.set(transformedRuleId, { ...oldRule, uid: transformedRuleId });
|
1368
|
+
const { row: startRow, col: startColumn } = mapFunc(range.startRow, range.startColumn);
|
1369
|
+
addRules.add(transformedRuleId), additionMatrix.setValue(startRow, startColumn, transformedRuleId);
|
1370
|
+
});
|
1371
|
+
});
|
1372
|
+
const additions = Array.from(addRules).map((id) => ({ id, ranges: queryObjectMatrix(additionMatrix, (value) => value === id) }));
|
1373
|
+
ruleMatrix.addRangeRules(additions);
|
1374
|
+
const { redoMutations, undoMutations } = getDataValidationDiffMutations(
|
1375
|
+
copyInfo.unitId,
|
1376
|
+
copyInfo.subUnitId,
|
1377
|
+
ruleMatrix.diffWithAddition(this._sheetDataValidationModel.getRules(copyInfo.unitId, copyInfo.subUnitId), additionRules.values()),
|
1378
|
+
this._injector,
|
1379
|
+
"patched"
|
1380
|
+
);
|
1381
|
+
return {
|
1382
|
+
redos: redoMutations,
|
1383
|
+
undos: undoMutations
|
1384
|
+
};
|
1385
|
+
} else {
|
1386
|
+
const ruleMatrix = this._sheetDataValidationModel.getRuleObjectMatrix(unitId, subUnitId).clone(), additionMatrix = new ObjectMatrix(), additionRules = /* @__PURE__ */ new Set(), { ranges: [vCopyRange, vPastedRange], mapFunc } = virtualizeDiscreteRanges([copyInfo.copyRange, pastedRange]);
|
1387
|
+
getRepeatRange(vCopyRange, vPastedRange, !0).forEach(({ startRange }) => {
|
1388
|
+
var _a17;
|
1389
|
+
(_a17 = this._copyInfo) == null || _a17.matrix.forValue((row, col, ruleId) => {
|
1390
|
+
const range = Rectangle.getPositionRange(
|
1391
|
+
{
|
1392
|
+
startRow: row,
|
1393
|
+
endRow: row,
|
1394
|
+
startColumn: col,
|
1395
|
+
endColumn: col
|
1396
|
+
},
|
1397
|
+
startRange
|
1398
|
+
), { row: startRow, col: startColumn } = mapFunc(range.startRow, range.startColumn);
|
1399
|
+
additionMatrix.setValue(startRow, startColumn, ruleId), additionRules.add(ruleId);
|
1400
|
+
});
|
1401
|
+
});
|
1402
|
+
const additions = Array.from(additionRules).map((id) => ({ id, ranges: queryObjectMatrix(additionMatrix, (value) => value === id) }));
|
1403
|
+
ruleMatrix.addRangeRules(additions);
|
1404
|
+
const { redoMutations, undoMutations } = getDataValidationDiffMutations(
|
1405
|
+
unitId,
|
1406
|
+
subUnitId,
|
1407
|
+
ruleMatrix.diff(this._sheetDataValidationModel.getRules(unitId, subUnitId)),
|
1408
|
+
this._injector,
|
1409
|
+
"patched"
|
1410
|
+
);
|
1411
|
+
return {
|
1412
|
+
redos: redoMutations,
|
1413
|
+
undos: undoMutations
|
1414
|
+
};
|
1415
|
+
}
|
1416
|
+
}
|
1417
|
+
}, __name(_a6, "DataValidationCopyPasteController"), _a6);
|
1418
|
+
DataValidationCopyPasteController = __decorateClass$9([
|
1419
|
+
__decorateParam$9(0, ISheetClipboardService),
|
1420
|
+
__decorateParam$9(1, Inject(SheetDataValidationModel)),
|
1421
|
+
__decorateParam$9(2, Inject(Injector))
|
1422
|
+
], DataValidationCopyPasteController);
|
1423
|
+
var __defProp$8 = Object.defineProperty, __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor, __decorateClass$8 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
1424
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
1425
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
1426
|
+
return kind && result && __defProp$8(target, key, result), result;
|
1427
|
+
}, "__decorateClass$8"), __decorateParam$8 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$8"), _a7;
|
1428
|
+
let DataValidationPermissionController = (_a7 = class extends Disposable {
|
1429
|
+
constructor(_localeService, _commandService, _sheetPermissionInterceptorBaseController) {
|
1430
|
+
super(), this._localeService = _localeService, this._commandService = _commandService, this._sheetPermissionInterceptorBaseController = _sheetPermissionInterceptorBaseController, this._commandExecutedListener();
|
1431
|
+
}
|
1432
|
+
_commandExecutedListener() {
|
1433
|
+
this.disposeWithMe(
|
1434
|
+
this._commandService.beforeCommandExecuted((command) => {
|
1435
|
+
command.id === AddSheetDataValidationCommand.id && (this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({
|
1436
|
+
workbookTypes: [WorkbookEditablePermission],
|
1437
|
+
rangeTypes: [RangeProtectionPermissionEditPoint],
|
1438
|
+
worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission]
|
1439
|
+
}) || this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.setStyleErr"))), command.id === UpdateSheetDataValidationRangeCommand.id && (this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({
|
1440
|
+
workbookTypes: [WorkbookEditablePermission],
|
1441
|
+
rangeTypes: [RangeProtectionPermissionEditPoint],
|
1442
|
+
worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission]
|
1443
|
+
}, command.params.ranges) || this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.setStyleErr")));
|
1444
|
+
})
|
1445
|
+
);
|
1446
|
+
}
|
1447
|
+
}, __name(_a7, "DataValidationPermissionController"), _a7);
|
1448
|
+
DataValidationPermissionController = __decorateClass$8([
|
1449
|
+
__decorateParam$8(0, Inject(LocaleService)),
|
1450
|
+
__decorateParam$8(1, ICommandService),
|
1451
|
+
__decorateParam$8(2, Inject(SheetPermissionInterceptorBaseController))
|
1452
|
+
], DataValidationPermissionController);
|
1453
|
+
const DataValidationIcon = "data-validation-single", DATA_VALIDATION_MENU_ID = "sheet.menu.data-validation";
|
1454
|
+
function dataValidationMenuFactory(accessor) {
|
1455
|
+
return {
|
1456
|
+
id: DATA_VALIDATION_MENU_ID,
|
1457
|
+
type: MenuItemType.SUBITEMS,
|
1458
|
+
icon: DataValidationIcon,
|
1459
|
+
tooltip: "dataValidation.title",
|
1460
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
1461
|
+
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] })
|
1462
|
+
};
|
1463
|
+
}
|
1464
|
+
__name(dataValidationMenuFactory, "dataValidationMenuFactory");
|
1465
|
+
function openDataValidationMenuFactory(_accessor) {
|
1466
|
+
return {
|
1467
|
+
id: OpenValidationPanelOperation.id,
|
1468
|
+
title: "dataValidation.panel.title",
|
1469
|
+
type: MenuItemType.BUTTON
|
1470
|
+
};
|
1471
|
+
}
|
1472
|
+
__name(openDataValidationMenuFactory, "openDataValidationMenuFactory");
|
1473
|
+
function addDataValidationMenuFactory(_accessor) {
|
1474
|
+
return {
|
1475
|
+
id: AddSheetDataValidationAndOpenCommand.id,
|
1476
|
+
title: "dataValidation.panel.add",
|
1477
|
+
type: MenuItemType.BUTTON
|
1478
|
+
};
|
1479
|
+
}
|
1480
|
+
__name(addDataValidationMenuFactory, "addDataValidationMenuFactory");
|
1481
|
+
const menuSchema = {
|
1482
|
+
[RibbonStartGroup.FORMULAS_INSERT]: {
|
1483
|
+
[DATA_VALIDATION_MENU_ID]: {
|
1484
|
+
order: 9,
|
1485
|
+
menuItemFactory: dataValidationMenuFactory,
|
1486
|
+
[OpenValidationPanelOperation.id]: {
|
1487
|
+
order: 0,
|
1488
|
+
menuItemFactory: openDataValidationMenuFactory
|
1489
|
+
},
|
1490
|
+
[AddSheetDataValidationAndOpenCommand.id]: {
|
1491
|
+
order: 1,
|
1492
|
+
menuItemFactory: addDataValidationMenuFactory
|
1493
|
+
}
|
1494
|
+
}
|
1495
|
+
}
|
1496
|
+
};
|
1497
|
+
var __defProp$7 = Object.defineProperty, __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor, __decorateClass$7 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
1498
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
1499
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
1500
|
+
return kind && result && __defProp$7(target, key, result), result;
|
1501
|
+
}, "__decorateClass$7"), __decorateParam$7 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$7");
|
1502
|
+
const INVALID_MARK = {
|
1503
|
+
tr: {
|
1504
|
+
size: 6,
|
1505
|
+
color: "#fe4b4b"
|
1506
|
+
}
|
1507
|
+
};
|
1508
|
+
var _a8;
|
1509
|
+
let SheetsDataValidationRenderController = (_a8 = class extends RxDisposable {
|
1510
|
+
constructor(_commandService, _menuManagerService, _renderManagerService, _univerInstanceService, _autoHeightController, _dropdownManagerService, _sheetDataValidationModel, _dataValidatorRegistryService, _sheetInterceptorService, _editorBridgeService) {
|
1511
|
+
super(), this._commandService = _commandService, this._menuManagerService = _menuManagerService, this._renderManagerService = _renderManagerService, this._univerInstanceService = _univerInstanceService, this._autoHeightController = _autoHeightController, this._dropdownManagerService = _dropdownManagerService, this._sheetDataValidationModel = _sheetDataValidationModel, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._sheetInterceptorService = _sheetInterceptorService, this._editorBridgeService = _editorBridgeService, this._initMenu(), this._initDropdown(), this._initViewModelIntercept(), this._initAutoHeight();
|
1512
|
+
}
|
1513
|
+
_initMenu() {
|
1514
|
+
this._menuManagerService.mergeMenu(menuSchema);
|
1515
|
+
}
|
1516
|
+
_initDropdown() {
|
1517
|
+
this._editorBridgeService && this.disposeWithMe(this._editorBridgeService.visible$.subscribe((visible) => {
|
1518
|
+
var _a17;
|
1519
|
+
if (!visible.visible) {
|
1520
|
+
((_a17 = this._dropdownManagerService.activeDropdown) == null ? void 0 : _a17.trigger) === "editor-bridge" && this._dropdownManagerService.hideDropdown();
|
1521
|
+
return;
|
1522
|
+
}
|
1523
|
+
const state = this._editorBridgeService.getEditCellState();
|
1524
|
+
if (state) {
|
1525
|
+
const { unitId, sheetId, row, column } = state, workbook = this._univerInstanceService.getUniverSheetInstance(unitId);
|
1526
|
+
if (!workbook)
|
1527
|
+
return;
|
1528
|
+
const rule = this._sheetDataValidationModel.getRuleByLocation(unitId, sheetId, row, column);
|
1529
|
+
if (!rule)
|
1530
|
+
return;
|
1531
|
+
const validator = this._dataValidatorRegistryService.getValidatorItem(rule.type);
|
1532
|
+
if (!(validator != null && validator.dropdown))
|
1533
|
+
return;
|
1534
|
+
const worksheet = workbook.getActiveSheet();
|
1535
|
+
if (!worksheet) return;
|
1536
|
+
const activeDropdown = this._dropdownManagerService.activeDropdown, currLoc = activeDropdown == null ? void 0 : activeDropdown.location;
|
1537
|
+
if (currLoc && currLoc.unitId === unitId && currLoc.subUnitId === sheetId && currLoc.row === row && currLoc.col === column)
|
1538
|
+
return;
|
1539
|
+
this._dropdownManagerService.showDropdown(
|
1540
|
+
{
|
1541
|
+
location: {
|
1542
|
+
unitId,
|
1543
|
+
subUnitId: sheetId,
|
1544
|
+
row,
|
1545
|
+
col: column,
|
1546
|
+
workbook,
|
1547
|
+
worksheet
|
1548
|
+
},
|
1549
|
+
componentKey: validator.dropdown,
|
1550
|
+
onHide: /* @__PURE__ */ __name(() => {
|
1551
|
+
}, "onHide"),
|
1552
|
+
trigger: "editor-bridge"
|
1553
|
+
},
|
1554
|
+
!1
|
1555
|
+
);
|
1556
|
+
}
|
1557
|
+
}));
|
1558
|
+
}
|
1559
|
+
// eslint-disable-next-line max-lines-per-function
|
1560
|
+
_initViewModelIntercept() {
|
1561
|
+
this.disposeWithMe(
|
1562
|
+
this._sheetInterceptorService.intercept(
|
1563
|
+
INTERCEPTOR_POINT.CELL_CONTENT,
|
1564
|
+
{
|
1565
|
+
effect: InterceptorEffectEnum.Style,
|
1566
|
+
// must be after numfmt
|
1567
|
+
priority: InterceptCellContentPriority.DATA_VALIDATION,
|
1568
|
+
// eslint-disable-next-line max-lines-per-function, complexity
|
1569
|
+
handler: /* @__PURE__ */ __name((cell, pos, next) => {
|
1570
|
+
var _a17, _b, _c, _d;
|
1571
|
+
const { row, col, unitId, subUnitId, workbook, worksheet } = pos, ruleId = this._sheetDataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col);
|
1572
|
+
if (!ruleId)
|
1573
|
+
return next(cell);
|
1574
|
+
const rule = this._sheetDataValidationModel.getRuleById(unitId, subUnitId, ruleId);
|
1575
|
+
if (!rule)
|
1576
|
+
return next(cell);
|
1577
|
+
const validStatus = this._sheetDataValidationModel.validator(cell, rule, pos), validator = this._dataValidatorRegistryService.getValidatorItem(rule.type), cellOrigin = pos.rawData;
|
1578
|
+
let cache;
|
1579
|
+
const cellValue = {
|
1580
|
+
get value() {
|
1581
|
+
var _a18;
|
1582
|
+
return cache !== void 0 || (cache = (_a18 = getCellValueOrigin(cellOrigin)) != null ? _a18 : null), cache;
|
1583
|
+
}
|
1584
|
+
}, valueStr = {
|
1585
|
+
get value() {
|
1586
|
+
var _a18;
|
1587
|
+
return `${(_a18 = cellValue.value) != null ? _a18 : ""}`;
|
1588
|
+
}
|
1589
|
+
};
|
1590
|
+
return next({
|
1591
|
+
...cell,
|
1592
|
+
dataValidation: {
|
1593
|
+
ruleId,
|
1594
|
+
validStatus,
|
1595
|
+
rule,
|
1596
|
+
validator
|
1597
|
+
},
|
1598
|
+
markers: {
|
1599
|
+
...cell == null ? void 0 : cell.markers,
|
1600
|
+
...validStatus === DataValidationStatus.INVALID ? INVALID_MARK : null
|
1601
|
+
},
|
1602
|
+
customRender: [
|
1603
|
+
...(_a17 = cell == null ? void 0 : cell.customRender) != null ? _a17 : [],
|
1604
|
+
...validator != null && validator.canvasRender ? [validator.canvasRender] : []
|
1605
|
+
],
|
1606
|
+
fontRenderExtension: {
|
1607
|
+
...cell == null ? void 0 : cell.fontRenderExtension,
|
1608
|
+
isSkip: ((_b = cell == null ? void 0 : cell.fontRenderExtension) == null ? void 0 : _b.isSkip) || ((_c = validator == null ? void 0 : validator.skipDefaultFontRender) == null ? void 0 : _c.call(validator, rule, cellValue.value, pos))
|
1609
|
+
},
|
1610
|
+
interceptorStyle: {
|
1611
|
+
...cell == null ? void 0 : cell.interceptorStyle,
|
1612
|
+
...validator == null ? void 0 : validator.getExtraStyle(rule, valueStr.value, {
|
1613
|
+
get style() {
|
1614
|
+
const styleMap = workbook.getStyles();
|
1615
|
+
return (typeof (cell == null ? void 0 : cell.s) == "string" ? styleMap.get(cell == null ? void 0 : cell.s) : cell == null ? void 0 : cell.s) || {};
|
1616
|
+
}
|
1617
|
+
})
|
1618
|
+
},
|
1619
|
+
interceptorAutoHeight: /* @__PURE__ */ __name(() => {
|
1620
|
+
var _a18, _b2, _c2, _d2, _e, _f;
|
1621
|
+
const skeleton = (_b2 = (_a18 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a18.with(SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId)) == null ? void 0 : _b2.skeleton;
|
1622
|
+
if (!skeleton)
|
1623
|
+
return;
|
1624
|
+
const mergeCell = skeleton.worksheet.getMergedCell(row, col), info = {
|
1625
|
+
data: {
|
1626
|
+
...cell,
|
1627
|
+
dataValidation: {
|
1628
|
+
ruleId,
|
1629
|
+
validStatus,
|
1630
|
+
rule,
|
1631
|
+
validator
|
1632
|
+
}
|
1633
|
+
},
|
1634
|
+
style: skeleton.getsStyles().getStyleByCell(cell),
|
1635
|
+
primaryWithCoord: skeleton.getCellByIndex((_c2 = mergeCell == null ? void 0 : mergeCell.startRow) != null ? _c2 : row, (_d2 = mergeCell == null ? void 0 : mergeCell.startColumn) != null ? _d2 : col),
|
1636
|
+
unitId,
|
1637
|
+
subUnitId,
|
1638
|
+
row,
|
1639
|
+
col,
|
1640
|
+
workbook,
|
1641
|
+
worksheet
|
1642
|
+
};
|
1643
|
+
return (_f = (_e = validator == null ? void 0 : validator.canvasRender) == null ? void 0 : _e.calcCellAutoHeight) == null ? void 0 : _f.call(_e, info);
|
1644
|
+
}, "interceptorAutoHeight"),
|
1645
|
+
coverable: ((_d = cell == null ? void 0 : cell.coverable) != null ? _d : !0) && !(rule.type === DataValidationType.LIST || rule.type === DataValidationType.LIST_MULTIPLE)
|
1646
|
+
});
|
1647
|
+
}, "handler")
|
1648
|
+
}
|
1649
|
+
)
|
1650
|
+
);
|
1651
|
+
}
|
1652
|
+
_initAutoHeight() {
|
1653
|
+
this._sheetDataValidationModel.ruleChange$.pipe(
|
1654
|
+
// patched data-validation change don't need to re-calc row height
|
1655
|
+
// re-calc of row height will be triggered precisely by the origin command
|
1656
|
+
filter((change) => change.source === "command"),
|
1657
|
+
bufferTime(16)
|
1658
|
+
).subscribe((infos) => {
|
1659
|
+
const ranges = [];
|
1660
|
+
if (infos.forEach((info) => {
|
1661
|
+
var _a17;
|
1662
|
+
(_a17 = info.rule) != null && _a17.ranges && ranges.push(...info.rule.ranges);
|
1663
|
+
}), ranges.length) {
|
1664
|
+
const mutations = this._autoHeightController.getUndoRedoParamsOfAutoHeight(ranges);
|
1665
|
+
sequenceExecute(mutations.redos, this._commandService);
|
1666
|
+
}
|
1667
|
+
});
|
1668
|
+
}
|
1669
|
+
}, __name(_a8, "SheetsDataValidationRenderController"), _a8);
|
1670
|
+
SheetsDataValidationRenderController = __decorateClass$7([
|
1671
|
+
__decorateParam$7(0, ICommandService),
|
1672
|
+
__decorateParam$7(1, IMenuManagerService),
|
1673
|
+
__decorateParam$7(2, IRenderManagerService),
|
1674
|
+
__decorateParam$7(3, IUniverInstanceService),
|
1675
|
+
__decorateParam$7(4, Inject(AutoHeightController)),
|
1676
|
+
__decorateParam$7(5, Inject(DataValidationDropdownManagerService)),
|
1677
|
+
__decorateParam$7(6, Inject(SheetDataValidationModel)),
|
1678
|
+
__decorateParam$7(7, Inject(DataValidatorRegistryService)),
|
1679
|
+
__decorateParam$7(8, Inject(SheetInterceptorService)),
|
1680
|
+
__decorateParam$7(9, Optional(IEditorBridgeService))
|
1681
|
+
], SheetsDataValidationRenderController);
|
1682
|
+
var _a9;
|
1683
|
+
let SheetsDataValidationMobileRenderController = (_a9 = class extends RxDisposable {
|
1684
|
+
constructor(_commandService, _renderManagerService, _autoHeightController, _dataValidatorRegistryService, _sheetInterceptorService, _sheetDataValidationModel) {
|
1685
|
+
super(), this._commandService = _commandService, this._renderManagerService = _renderManagerService, this._autoHeightController = _autoHeightController, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._sheetInterceptorService = _sheetInterceptorService, this._sheetDataValidationModel = _sheetDataValidationModel, this._initViewModelIntercept(), this._initAutoHeight();
|
1686
|
+
}
|
1687
|
+
// eslint-disable-next-line max-lines-per-function
|
1688
|
+
_initViewModelIntercept() {
|
1689
|
+
this.disposeWithMe(
|
1690
|
+
this._sheetInterceptorService.intercept(
|
1691
|
+
INTERCEPTOR_POINT.CELL_CONTENT,
|
1692
|
+
{
|
1693
|
+
effect: InterceptorEffectEnum.Style,
|
1694
|
+
// must be after numfmt
|
1695
|
+
priority: InterceptCellContentPriority.DATA_VALIDATION,
|
1696
|
+
// eslint-disable-next-line complexity
|
1697
|
+
handler: /* @__PURE__ */ __name((cell, pos, next) => {
|
1698
|
+
var _a17, _b, _c, _d;
|
1699
|
+
const { row, col, unitId, subUnitId, workbook, worksheet } = pos, ruleId = this._sheetDataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col);
|
1700
|
+
if (!ruleId)
|
1701
|
+
return next(cell);
|
1702
|
+
const rule = this._sheetDataValidationModel.getRuleById(unitId, subUnitId, ruleId);
|
1703
|
+
if (!rule)
|
1704
|
+
return next(cell);
|
1705
|
+
const validStatus = this._sheetDataValidationModel.validator(cell, rule, pos), validator = this._dataValidatorRegistryService.getValidatorItem(rule.type), cellOrigin = worksheet.getCellRaw(row, col), cellValue = getCellValueOrigin(cellOrigin), valueStr = `${cellValue != null ? cellValue : ""}`;
|
1706
|
+
return next({
|
1707
|
+
...cell,
|
1708
|
+
dataValidation: {
|
1709
|
+
ruleId,
|
1710
|
+
validStatus,
|
1711
|
+
rule,
|
1712
|
+
validator
|
1713
|
+
},
|
1714
|
+
markers: {
|
1715
|
+
...cell == null ? void 0 : cell.markers,
|
1716
|
+
...validStatus === DataValidationStatus.INVALID ? INVALID_MARK : null
|
1717
|
+
},
|
1718
|
+
customRender: [
|
1719
|
+
...(_a17 = cell == null ? void 0 : cell.customRender) != null ? _a17 : [],
|
1720
|
+
...validator != null && validator.canvasRender ? [validator.canvasRender] : []
|
1721
|
+
],
|
1722
|
+
fontRenderExtension: {
|
1723
|
+
...cell == null ? void 0 : cell.fontRenderExtension,
|
1724
|
+
isSkip: ((_b = cell == null ? void 0 : cell.fontRenderExtension) == null ? void 0 : _b.isSkip) || ((_c = validator == null ? void 0 : validator.skipDefaultFontRender) == null ? void 0 : _c.call(validator, rule, cellValue, pos))
|
1725
|
+
},
|
1726
|
+
interceptorStyle: {
|
1727
|
+
...cell == null ? void 0 : cell.interceptorStyle,
|
1728
|
+
...validator == null ? void 0 : validator.getExtraStyle(rule, valueStr, {
|
1729
|
+
get style() {
|
1730
|
+
const styleMap = workbook.getStyles();
|
1731
|
+
return (typeof (cell == null ? void 0 : cell.s) == "string" ? styleMap.get(cell == null ? void 0 : cell.s) : cell == null ? void 0 : cell.s) || {};
|
1732
|
+
}
|
1733
|
+
})
|
1734
|
+
},
|
1735
|
+
interceptorAutoHeight: /* @__PURE__ */ __name(() => {
|
1736
|
+
var _a18, _b2, _c2, _d2, _e, _f;
|
1737
|
+
const skeleton = (_b2 = (_a18 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a18.with(SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId)) == null ? void 0 : _b2.skeleton;
|
1738
|
+
if (!skeleton)
|
1739
|
+
return;
|
1740
|
+
const mergeCell = skeleton.worksheet.getMergedCell(row, col), info = {
|
1741
|
+
data: {
|
1742
|
+
...cell,
|
1743
|
+
dataValidation: {
|
1744
|
+
ruleId,
|
1745
|
+
validStatus,
|
1746
|
+
rule,
|
1747
|
+
validator
|
1748
|
+
}
|
1749
|
+
},
|
1750
|
+
style: skeleton.getsStyles().getStyleByCell(cell),
|
1751
|
+
primaryWithCoord: skeleton.getCellByIndex((_c2 = mergeCell == null ? void 0 : mergeCell.startRow) != null ? _c2 : row, (_d2 = mergeCell == null ? void 0 : mergeCell.startColumn) != null ? _d2 : col),
|
1752
|
+
unitId,
|
1753
|
+
subUnitId,
|
1754
|
+
row,
|
1755
|
+
col,
|
1756
|
+
workbook,
|
1757
|
+
worksheet
|
1758
|
+
};
|
1759
|
+
return (_f = (_e = validator == null ? void 0 : validator.canvasRender) == null ? void 0 : _e.calcCellAutoHeight) == null ? void 0 : _f.call(_e, info);
|
1760
|
+
}, "interceptorAutoHeight"),
|
1761
|
+
coverable: ((_d = cell == null ? void 0 : cell.coverable) != null ? _d : !0) && !(rule.type === DataValidationType.LIST || rule.type === DataValidationType.LIST_MULTIPLE)
|
1762
|
+
});
|
1763
|
+
}, "handler")
|
1764
|
+
}
|
1765
|
+
)
|
1766
|
+
);
|
1767
|
+
}
|
1768
|
+
_initAutoHeight() {
|
1769
|
+
this._sheetDataValidationModel.ruleChange$.pipe(
|
1770
|
+
filter((change) => change.source === "command"),
|
1771
|
+
bufferTime(16)
|
1772
|
+
).subscribe((infos) => {
|
1773
|
+
const ranges = [];
|
1774
|
+
if (infos.forEach((info) => {
|
1775
|
+
var _a17;
|
1776
|
+
(_a17 = info.rule) != null && _a17.ranges && ranges.push(...info.rule.ranges);
|
1777
|
+
}), ranges.length) {
|
1778
|
+
const mutations = this._autoHeightController.getUndoRedoParamsOfAutoHeight(ranges);
|
1779
|
+
sequenceExecute(mutations.redos, this._commandService);
|
1780
|
+
}
|
1781
|
+
});
|
1782
|
+
}
|
1783
|
+
}, __name(_a9, "SheetsDataValidationMobileRenderController"), _a9);
|
1784
|
+
SheetsDataValidationMobileRenderController = __decorateClass$7([
|
1785
|
+
__decorateParam$7(0, ICommandService),
|
1786
|
+
__decorateParam$7(1, IRenderManagerService),
|
1787
|
+
__decorateParam$7(2, Inject(AutoHeightController)),
|
1788
|
+
__decorateParam$7(3, Inject(DataValidatorRegistryService)),
|
1789
|
+
__decorateParam$7(4, Inject(SheetInterceptorService)),
|
1790
|
+
__decorateParam$7(5, Inject(SheetDataValidationModel))
|
1791
|
+
], SheetsDataValidationMobileRenderController);
|
1792
|
+
const dataValidationFormula = "univer-data-validation-formula", dataValidationFormulaAnd = "univer-data-validation-formula-and", dataValidationFormulaListItem = "univer-data-validation-formula-list-item", dataValidationFormulaListItemIcon = "univer-data-validation-formula-list-item-icon", dataValidationFormulaListItemDrag = "univer-data-validation-formula-list-item-drag", dataValidationFormulaListAdd = "univer-data-validation-formula-list-add", dataValidationFormulaColorSelect = "univer-data-validation-formula-color-select", dataValidationFormulaColorSelectPanel = "univer-data-validation-formula-color-select-panel", dataValidationFormulaColorItem = "univer-data-validation-formula-color-item", styles = {
|
1793
|
+
dataValidationFormula,
|
1794
|
+
dataValidationFormulaAnd,
|
1795
|
+
dataValidationFormulaListItem,
|
1796
|
+
dataValidationFormulaListItemIcon,
|
1797
|
+
dataValidationFormulaListItemDrag,
|
1798
|
+
dataValidationFormulaListAdd,
|
1799
|
+
dataValidationFormulaColorSelect,
|
1800
|
+
dataValidationFormulaColorSelectPanel,
|
1801
|
+
dataValidationFormulaColorItem
|
1802
|
+
}, BaseFormulaInput = /* @__PURE__ */ __name((props) => {
|
1803
|
+
const { isTwoFormula = !1, value, onChange, showError, validResult } = props, localeService = useDependency(LocaleService), formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "", formula2Res = showError ? validResult == null ? void 0 : validResult.formula2 : "";
|
1804
|
+
return isTwoFormula ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
1805
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1806
|
+
Input,
|
1807
|
+
{
|
1808
|
+
className: styles.dataValidationFormula,
|
1809
|
+
placeholder: localeService.t("dataValidation.panel.formulaPlaceholder"),
|
1810
|
+
value: value == null ? void 0 : value.formula1,
|
1811
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1812
|
+
onChange == null || onChange({
|
1813
|
+
...value,
|
1814
|
+
formula1: newValue
|
1815
|
+
});
|
1816
|
+
}, "onChange")
|
1817
|
+
}
|
1818
|
+
) }),
|
1819
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.dataValidationFormulaAnd, children: localeService.t("dataValidation.panel.formulaAnd") }),
|
1820
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula2Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1821
|
+
Input,
|
1822
|
+
{
|
1823
|
+
className: styles.dataValidationFormula,
|
1824
|
+
placeholder: localeService.t("dataValidation.panel.formulaPlaceholder"),
|
1825
|
+
value: value == null ? void 0 : value.formula2,
|
1826
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1827
|
+
onChange == null || onChange({
|
1828
|
+
...value,
|
1829
|
+
formula2: newValue
|
1830
|
+
});
|
1831
|
+
}, "onChange")
|
1832
|
+
}
|
1833
|
+
) })
|
1834
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1835
|
+
Input,
|
1836
|
+
{
|
1837
|
+
className: styles.dataValidationFormula,
|
1838
|
+
placeholder: localeService.t("dataValidation.panel.formulaPlaceholder"),
|
1839
|
+
value: value == null ? void 0 : value.formula1,
|
1840
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1841
|
+
onChange == null || onChange({ formula1: newValue });
|
1842
|
+
}, "onChange")
|
1843
|
+
}
|
1844
|
+
) });
|
1845
|
+
}, "BaseFormulaInput");
|
1846
|
+
function CheckboxFormulaInput(props) {
|
1847
|
+
const { value, onChange, showError, validResult } = props, localeService = useDependency(LocaleService), formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "", formula2Res = showError ? validResult == null ? void 0 : validResult.formula2 : "", [checked, setChecked] = useState(!((value == null ? void 0 : value.formula1) === void 0 && (value == null ? void 0 : value.formula2) === void 0));
|
1848
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
1849
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1850
|
+
Checkbox,
|
1851
|
+
{
|
1852
|
+
checked,
|
1853
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1854
|
+
newValue ? setChecked(!0) : (setChecked(!1), onChange == null || onChange({
|
1855
|
+
...value,
|
1856
|
+
formula1: void 0,
|
1857
|
+
formula2: void 0
|
1858
|
+
}));
|
1859
|
+
}, "onChange"),
|
1860
|
+
children: localeService.t("dataValidation.checkbox.tips")
|
1861
|
+
}
|
1862
|
+
) }),
|
1863
|
+
checked ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.checkbox.checked"), error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1864
|
+
Input,
|
1865
|
+
{
|
1866
|
+
className: styles.dataValidationFormula,
|
1867
|
+
placeholder: localeService.t("dataValidation.panel.valuePlaceholder"),
|
1868
|
+
value: value == null ? void 0 : value.formula1,
|
1869
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1870
|
+
onChange == null || onChange({
|
1871
|
+
...value,
|
1872
|
+
formula1: newValue || void 0
|
1873
|
+
});
|
1874
|
+
}, "onChange")
|
1875
|
+
}
|
1876
|
+
) }) : null,
|
1877
|
+
checked ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.checkbox.unchecked"), error: formula2Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1878
|
+
Input,
|
1879
|
+
{
|
1880
|
+
className: styles.dataValidationFormula,
|
1881
|
+
placeholder: localeService.t("dataValidation.panel.valuePlaceholder"),
|
1882
|
+
value: value == null ? void 0 : value.formula2,
|
1883
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1884
|
+
onChange == null || onChange({
|
1885
|
+
...value,
|
1886
|
+
formula2: newValue || void 0
|
1887
|
+
});
|
1888
|
+
}, "onChange")
|
1889
|
+
}
|
1890
|
+
) }) : null
|
1891
|
+
] });
|
1892
|
+
}
|
1893
|
+
__name(CheckboxFormulaInput, "CheckboxFormulaInput");
|
1894
|
+
function CustomFormulaInput(props) {
|
1895
|
+
var _a17;
|
1896
|
+
const { unitId, subUnitId, value, onChange, showError, validResult } = props, formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "";
|
1897
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1898
|
+
TextEditor,
|
1899
|
+
{
|
1900
|
+
value: (_a17 = value == null ? void 0 : value.formula1) != null ? _a17 : "",
|
1901
|
+
id: createInternalEditorID(`dataValidation-custom-formula-${unitId}-${subUnitId}`),
|
1902
|
+
onChange: /* @__PURE__ */ __name((newValue) => {
|
1903
|
+
onChange == null || onChange({
|
1904
|
+
...value,
|
1905
|
+
formula1: (newValue != null ? newValue : "").trim()
|
1906
|
+
});
|
1907
|
+
}, "onChange"),
|
1908
|
+
onlyInputFormula: !0,
|
1909
|
+
openForSheetUnitId: unitId,
|
1910
|
+
openForSheetSubUnitId: subUnitId
|
1911
|
+
}
|
1912
|
+
) });
|
1913
|
+
}
|
1914
|
+
__name(CustomFormulaInput, "CustomFormulaInput");
|
1915
|
+
const DEFAULT_COLOR_PRESET = [
|
1916
|
+
"#FFFFFF",
|
1917
|
+
"#FEE7E7",
|
1918
|
+
"#FEF0E6",
|
1919
|
+
"#EFFBD0",
|
1920
|
+
"#E4F4FE",
|
1921
|
+
"#E8ECFD",
|
1922
|
+
"#F1EAFA",
|
1923
|
+
"#FDE8F3",
|
1924
|
+
"#E5E5E5",
|
1925
|
+
"#FDCECE",
|
1926
|
+
"#FDC49B",
|
1927
|
+
"#DEF6A2",
|
1928
|
+
"#9FDAFF",
|
1929
|
+
"#D0D9FB",
|
1930
|
+
"#E3D5F6",
|
1931
|
+
"#FBD0E8",
|
1932
|
+
"#656565",
|
1933
|
+
"#FE4B4B",
|
1934
|
+
"#FF8C51",
|
1935
|
+
"#8BBB11",
|
1936
|
+
"#0B9EFB",
|
1937
|
+
"#3A60F7",
|
1938
|
+
"#9E6DE3",
|
1939
|
+
"#F248A6"
|
1940
|
+
], ColorSelect = /* @__PURE__ */ __name((props) => {
|
1941
|
+
const { value, onChange, disabled } = props, [open, setOpen] = useState(!1);
|
1942
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1943
|
+
Select,
|
1944
|
+
{
|
1945
|
+
disabled,
|
1946
|
+
open,
|
1947
|
+
onDropdownVisibleChange: setOpen,
|
1948
|
+
dropdownStyle: { width: 112 },
|
1949
|
+
className: styles.dataValidationFormulaColorSelect,
|
1950
|
+
value,
|
1951
|
+
onChange,
|
1952
|
+
labelRender: /* @__PURE__ */ __name((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1953
|
+
"div",
|
1954
|
+
{
|
1955
|
+
className: styles.dataValidationFormulaColorItem,
|
1956
|
+
style: { background: item.value, marginTop: 5 }
|
1957
|
+
}
|
1958
|
+
), "labelRender"),
|
1959
|
+
dropdownRender: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.dataValidationFormulaColorSelectPanel, children: DEFAULT_COLOR_PRESET.map(
|
1960
|
+
(color) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
1961
|
+
"div",
|
1962
|
+
{
|
1963
|
+
onClick: /* @__PURE__ */ __name(() => {
|
1964
|
+
onChange(color), setOpen(!1);
|
1965
|
+
}, "onClick"),
|
1966
|
+
className: styles.dataValidationFormulaColorItem,
|
1967
|
+
style: { background: color }
|
1968
|
+
},
|
1969
|
+
color
|
1970
|
+
)
|
1971
|
+
) }), "dropdownRender")
|
1972
|
+
}
|
1973
|
+
);
|
1974
|
+
}, "ColorSelect"), Template = /* @__PURE__ */ __name((props) => {
|
1975
|
+
const { item, commonProps, style } = props, { onItemChange, onItemDelete } = commonProps;
|
1976
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.dataValidationFormulaListItem, style, children: [
|
1977
|
+
item.isRef ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cs(styles.dataValidationFormulaListItemDrag, "draggableHandle"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(SequenceSingle, {}) }),
|
1978
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
1979
|
+
ColorSelect,
|
1980
|
+
{
|
1981
|
+
value: item.color,
|
1982
|
+
onChange: /* @__PURE__ */ __name((color) => {
|
1983
|
+
onItemChange(item.id, item.label, color);
|
1984
|
+
}, "onChange")
|
1985
|
+
}
|
1986
|
+
),
|
1987
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
1988
|
+
Input,
|
1989
|
+
{
|
1990
|
+
disabled: item.isRef,
|
1991
|
+
value: item.label,
|
1992
|
+
onChange: /* @__PURE__ */ __name((label) => {
|
1993
|
+
onItemChange(item.id, label, item.color);
|
1994
|
+
}, "onChange")
|
1995
|
+
}
|
1996
|
+
),
|
1997
|
+
item.isRef ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.dataValidationFormulaListItemIcon, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DeleteSingle, { onClick: /* @__PURE__ */ __name(() => onItemDelete(item.id), "onClick") }) })
|
1998
|
+
] });
|
1999
|
+
}, "Template");
|
2000
|
+
function ListFormulaInput(props) {
|
2001
|
+
const { value, onChange: _onChange = /* @__PURE__ */ __name(() => {
|
2002
|
+
}, "_onChange"), unitId, subUnitId, validResult, showError, ruleId } = props, { formula1 = "", formula2 = "" } = value || {}, containerRef = useRef(null), [isFormulaStr, setIsFormulaStr] = useState(() => isFormulaString(formula1) ? "1" : "0"), [formulaStr, setFormulaStr] = useState(isFormulaStr === "1" ? formula1 : "="), [formulaStrCopy, setFormulaStrCopy] = useState(isFormulaStr === "1" ? formula1 : "="), localeService = useDependency(LocaleService), dataValidatorRegistryService = useDependency(DataValidatorRegistryService), dataValidationModel = useDependency(DataValidationModel), dataValidationFormulaController = useDependency(DataValidationFormulaController), [refColors, setRefColors] = useState(() => formula2.split(",")), listValidator = dataValidatorRegistryService.getValidatorItem(DataValidationType.LIST), [refOptions, setRefOptions] = useState([]), [localError, setLocalError] = useState(""), formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "", ruleChange$ = useMemo(() => dataValidationModel.ruleChange$.pipe(debounceTime(16)), []), ruleChange = useObservable(ruleChange$), onChange = useEvent(_onChange);
|
2003
|
+
useEffect(() => {
|
2004
|
+
(async () => {
|
2005
|
+
await new Promise((resolve) => {
|
2006
|
+
setTimeout(() => resolve(!0), 100);
|
2007
|
+
});
|
2008
|
+
const rule = dataValidationModel.getRuleById(unitId, subUnitId, ruleId), formula12 = rule == null ? void 0 : rule.formula1;
|
2009
|
+
if (isFormulaString(formula12) && listValidator && rule) {
|
2010
|
+
const res = await listValidator.getListAsync(rule, unitId, subUnitId);
|
2011
|
+
setRefOptions(res);
|
2012
|
+
}
|
2013
|
+
})();
|
2014
|
+
}, [dataValidationModel, ruleChange, listValidator, ruleId, subUnitId, unitId]), useEffect(() => {
|
2015
|
+
isFormulaString(formula1) && formula1 !== formulaStrCopy && (setFormulaStr(formula1), setFormulaStrCopy(formulaStrCopy));
|
2016
|
+
}, [formulaStrCopy, formula1]);
|
2017
|
+
const [strList, setStrList] = useState(() => {
|
2018
|
+
const strOptions = isFormulaStr !== "1" ? deserializeListOptions(formula1) : [], strColors = formula2.split(",");
|
2019
|
+
return strOptions.map((label, i) => ({
|
2020
|
+
label,
|
2021
|
+
color: strColors[i] || DROP_DOWN_DEFAULT_COLOR,
|
2022
|
+
isRef: !1,
|
2023
|
+
id: Tools.generateRandomId(4)
|
2024
|
+
}));
|
2025
|
+
}), handleStrItemChange = /* @__PURE__ */ __name((id, value2, color) => {
|
2026
|
+
const item = strList.find((i) => i.id === id);
|
2027
|
+
item && (item.label = value2, item.color = color, setStrList([...strList]));
|
2028
|
+
}, "handleStrItemChange"), handleStrItemDelete = /* @__PURE__ */ __name((id) => {
|
2029
|
+
const index = strList.findIndex((i) => i.id === id);
|
2030
|
+
index !== -1 && (strList.splice(index, 1), setStrList([...strList]));
|
2031
|
+
}, "handleStrItemDelete"), colorList = formula2.split(","), refFinalList = useMemo(() => refOptions.map((label, i) => ({
|
2032
|
+
label,
|
2033
|
+
color: colorList[i] || DROP_DOWN_DEFAULT_COLOR,
|
2034
|
+
id: `${i}`,
|
2035
|
+
isRef: !0
|
2036
|
+
})), [colorList, refOptions]), handleRefItemChange = /* @__PURE__ */ __name((id, value2, color) => {
|
2037
|
+
const newColors = [...refColors];
|
2038
|
+
newColors[+id] = color, setRefColors(newColors), onChange({
|
2039
|
+
formula1,
|
2040
|
+
formula2: newColors.join(",")
|
2041
|
+
});
|
2042
|
+
}, "handleRefItemChange"), handleAdd = /* @__PURE__ */ __name(() => {
|
2043
|
+
setStrList([
|
2044
|
+
...strList,
|
2045
|
+
{
|
2046
|
+
label: "",
|
2047
|
+
color: DROP_DOWN_DEFAULT_COLOR,
|
2048
|
+
isRef: !1,
|
2049
|
+
id: Tools.generateRandomId(4)
|
2050
|
+
}
|
2051
|
+
]);
|
2052
|
+
}, "handleAdd");
|
2053
|
+
useEffect(() => {
|
2054
|
+
if (isFormulaStr === "1")
|
2055
|
+
return;
|
2056
|
+
const labelSet = /* @__PURE__ */ new Set(), finalList = [];
|
2057
|
+
strList.map((item) => ({
|
2058
|
+
labelList: item.label.split(","),
|
2059
|
+
item
|
2060
|
+
})).forEach(({ item, labelList }) => {
|
2061
|
+
labelList.forEach((labelItem) => {
|
2062
|
+
labelSet.has(labelItem) || (labelSet.add(labelItem), finalList.push({
|
2063
|
+
label: labelItem,
|
2064
|
+
color: item.color
|
2065
|
+
}));
|
2066
|
+
});
|
2067
|
+
}), onChange({
|
2068
|
+
formula1: serializeListOptions(finalList.map((item) => item.label)),
|
2069
|
+
formula2: finalList.map((item) => item.color === DROP_DOWN_DEFAULT_COLOR ? "" : item.color).join(",")
|
2070
|
+
});
|
2071
|
+
}, [strList, onChange, isFormulaStr, formulaStrCopy, refColors]);
|
2072
|
+
const updateFormula = useMemo(
|
2073
|
+
() => async (str) => {
|
2074
|
+
if (!isFormulaString(str)) {
|
2075
|
+
onChange == null || onChange({
|
2076
|
+
formula1: "",
|
2077
|
+
formula2
|
2078
|
+
});
|
2079
|
+
return;
|
2080
|
+
}
|
2081
|
+
dataValidationFormulaController.getFormulaRefCheck(str) ? (onChange == null || onChange({
|
2082
|
+
formula1: isFormulaString(str) ? str : "",
|
2083
|
+
formula2
|
2084
|
+
}), setLocalError("")) : (onChange == null || onChange({
|
2085
|
+
formula1: "",
|
2086
|
+
formula2
|
2087
|
+
}), setFormulaStr("="), setLocalError(localeService.t("dataValidation.validFail.formulaError")));
|
2088
|
+
},
|
2089
|
+
[formula2, onChange]
|
2090
|
+
);
|
2091
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
2092
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.list.options"), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
2093
|
+
RadioGroup,
|
2094
|
+
{
|
2095
|
+
value: isFormulaStr,
|
2096
|
+
onChange: /* @__PURE__ */ __name((v) => {
|
2097
|
+
setIsFormulaStr(v), setFormulaStr(formulaStrCopy), v === "1" && onChange({
|
2098
|
+
formula1: formulaStrCopy === "=" ? "" : formulaStrCopy,
|
2099
|
+
formula2: refColors.join(",")
|
2100
|
+
});
|
2101
|
+
}, "onChange"),
|
2102
|
+
children: [
|
2103
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "0", children: localeService.t("dataValidation.list.customOptions") }),
|
2104
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "1", children: localeService.t("dataValidation.list.refOptions") })
|
2105
|
+
]
|
2106
|
+
}
|
2107
|
+
) }),
|
2108
|
+
isFormulaStr === "1" ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
2109
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res || localError, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
2110
|
+
TextEditor,
|
2111
|
+
{
|
2112
|
+
id: createInternalEditorID(`list-ref-range-${unitId}-${subUnitId}`),
|
2113
|
+
value: formulaStr,
|
2114
|
+
openForSheetUnitId: unitId,
|
2115
|
+
openForSheetSubUnitId: subUnitId,
|
2116
|
+
onlyInputFormula: !0,
|
2117
|
+
onChange: /* @__PURE__ */ __name(async (newString) => {
|
2118
|
+
const str = (newString != null ? newString : "").trim();
|
2119
|
+
setFormulaStrCopy(str), updateFormula(str);
|
2120
|
+
}, "onChange")
|
2121
|
+
}
|
2122
|
+
) }),
|
2123
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: containerRef, children: refFinalList.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(Template, { item, commonProps: { onItemChange: handleRefItemChange }, style: { marginBottom: 12 } }, item.id)) }) })
|
2124
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: containerRef, style: { marginTop: "-12px" }, children: [
|
2125
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
2126
|
+
DraggableList,
|
2127
|
+
{
|
2128
|
+
list: strList,
|
2129
|
+
onListChange: setStrList,
|
2130
|
+
rowHeight: 32,
|
2131
|
+
margin: [0, 12],
|
2132
|
+
draggableHandle: ".draggableHandle",
|
2133
|
+
itemRender: /* @__PURE__ */ __name((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
2134
|
+
Template,
|
2135
|
+
{
|
2136
|
+
item,
|
2137
|
+
commonProps: {
|
2138
|
+
onItemChange: handleStrItemChange,
|
2139
|
+
onItemDelete: handleStrItemDelete
|
2140
|
+
}
|
2141
|
+
},
|
2142
|
+
item.id
|
2143
|
+
), "itemRender"),
|
2144
|
+
idKey: "id"
|
2145
|
+
}
|
2146
|
+
),
|
2147
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("a", { className: styles.dataValidationFormulaListAdd, onClick: handleAdd, children: [
|
2148
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(IncreaseSingle, {}),
|
2149
|
+
localeService.t("dataValidation.list.add")
|
2150
|
+
] })
|
2151
|
+
] }) })
|
2152
|
+
] });
|
2153
|
+
}
|
2154
|
+
__name(ListFormulaInput, "ListFormulaInput");
|
2155
|
+
const CUSTOM_FORMULA_INPUT_NAME = "data-validation.custom-formula-input", BASE_FORMULA_INPUT_NAME$1 = "data-validation.formula-input", LIST_FORMULA_INPUT_NAME = "data-validation.list-formula-input", CHECKBOX_FORMULA_INPUT_NAME = "data-validation.checkbox-formula-input", FORMULA_INPUTS = [
|
2156
|
+
[
|
2157
|
+
CUSTOM_FORMULA_INPUT_NAME,
|
2158
|
+
CustomFormulaInput
|
2159
|
+
],
|
2160
|
+
[
|
2161
|
+
BASE_FORMULA_INPUT_NAME$1,
|
2162
|
+
BaseFormulaInput
|
2163
|
+
],
|
2164
|
+
[
|
2165
|
+
LIST_FORMULA_INPUT_NAME,
|
2166
|
+
ListFormulaInput
|
2167
|
+
],
|
2168
|
+
[
|
2169
|
+
CHECKBOX_FORMULA_INPUT_NAME,
|
2170
|
+
CheckboxFormulaInput
|
2171
|
+
]
|
2172
|
+
], LIST_RENDER_MODE_OPTION_INPUT = "LIST_RENDER_MODE_OPTION_INPUT";
|
2173
|
+
function ListRenderModeInput(props) {
|
2174
|
+
var _a17;
|
2175
|
+
const { value, onChange } = props, localeService = useDependency(LocaleService);
|
2176
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.renderMode.label"), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(RadioGroup, { value: `${(_a17 = value.renderMode) != null ? _a17 : DataValidationRenderMode.CUSTOM}`, onChange: /* @__PURE__ */ __name((renderMode) => onChange({ ...value, renderMode: +renderMode }), "onChange"), children: [
|
2177
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationRenderMode.CUSTOM}`, children: localeService.t("dataValidation.renderMode.chip") }),
|
2178
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationRenderMode.ARROW}`, children: localeService.t("dataValidation.renderMode.arrow") }),
|
2179
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationRenderMode.TEXT}`, children: localeService.t("dataValidation.renderMode.text") })
|
2180
|
+
] }) });
|
2181
|
+
}
|
2182
|
+
__name(ListRenderModeInput, "ListRenderModeInput");
|
2183
|
+
ListRenderModeInput.componentKey = LIST_RENDER_MODE_OPTION_INPUT;
|
2184
|
+
const DATE_SHOW_TIME_OPTION = "DATE_SHOW_TIME_OPTION";
|
2185
|
+
function DateShowTimeOption(props) {
|
2186
|
+
var _a17;
|
2187
|
+
const { value, onChange } = props, localeService = useDependency(LocaleService);
|
2188
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
2189
|
+
Checkbox,
|
2190
|
+
{
|
2191
|
+
checked: (_a17 = value.bizInfo) == null ? void 0 : _a17.showTime,
|
2192
|
+
onChange: /* @__PURE__ */ __name((showTime) => {
|
2193
|
+
onChange({
|
2194
|
+
...value,
|
2195
|
+
bizInfo: {
|
2196
|
+
...value.bizInfo,
|
2197
|
+
showTime
|
2198
|
+
}
|
2199
|
+
});
|
2200
|
+
}, "onChange"),
|
2201
|
+
children: localeService.t("dataValidation.showTime.label")
|
2202
|
+
}
|
2203
|
+
) });
|
2204
|
+
}
|
2205
|
+
__name(DateShowTimeOption, "DateShowTimeOption");
|
2206
|
+
DateShowTimeOption.componentKey = DATE_SHOW_TIME_OPTION;
|
2207
|
+
var __defProp$6 = Object.defineProperty, __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor, __decorateClass$6 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2208
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2209
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2210
|
+
return kind && result && __defProp$6(target, key, result), result;
|
2211
|
+
}, "__decorateClass$6"), __decorateParam$6 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$6");
|
2212
|
+
const MARGIN_H$2 = 6;
|
2213
|
+
var _a10;
|
2214
|
+
let CheckboxRender = (_a10 = class {
|
2215
|
+
constructor(_commandService, _formulaService, _themeService) {
|
2216
|
+
this._commandService = _commandService, this._formulaService = _formulaService, this._themeService = _themeService;
|
2217
|
+
}
|
2218
|
+
_calc(cellInfo, style) {
|
2219
|
+
var _a17, _b, _c;
|
2220
|
+
const { vt, ht } = style || {}, width = cellInfo.endX - cellInfo.startX - MARGIN_H$2 * 2, height = cellInfo.endY - cellInfo.startY, size = ((_a17 = style == null ? void 0 : style.fs) != null ? _a17 : 10) * 1.6;
|
2221
|
+
let widgetLeft = 0, widgetTop = 0;
|
2222
|
+
switch (vt) {
|
2223
|
+
case VerticalAlign.TOP:
|
2224
|
+
widgetTop = 0;
|
2225
|
+
break;
|
2226
|
+
case VerticalAlign.BOTTOM:
|
2227
|
+
widgetTop = 0 + (height - size);
|
2228
|
+
break;
|
2229
|
+
default:
|
2230
|
+
widgetTop = 0 + (height - size) / 2;
|
2231
|
+
break;
|
2232
|
+
}
|
2233
|
+
switch (ht) {
|
2234
|
+
case HorizontalAlign.LEFT:
|
2235
|
+
widgetLeft = MARGIN_H$2;
|
2236
|
+
break;
|
2237
|
+
case HorizontalAlign.RIGHT:
|
2238
|
+
widgetLeft = MARGIN_H$2 + (width - size);
|
2239
|
+
break;
|
2240
|
+
default:
|
2241
|
+
widgetLeft = MARGIN_H$2 + (width - size) / 2;
|
2242
|
+
break;
|
2243
|
+
}
|
2244
|
+
return {
|
2245
|
+
left: cellInfo.startX + widgetLeft,
|
2246
|
+
top: cellInfo.startY + widgetTop,
|
2247
|
+
width: ((_b = style == null ? void 0 : style.fs) != null ? _b : 10) * 1.6,
|
2248
|
+
height: ((_c = style == null ? void 0 : style.fs) != null ? _c : 10) * 1.6
|
2249
|
+
};
|
2250
|
+
}
|
2251
|
+
calcCellAutoHeight(info) {
|
2252
|
+
var _a17;
|
2253
|
+
const { style } = info;
|
2254
|
+
return ((_a17 = style == null ? void 0 : style.fs) != null ? _a17 : 10) * 1.6;
|
2255
|
+
}
|
2256
|
+
async _parseFormula(rule, unitId, subUnitId) {
|
2257
|
+
var _a17, _b;
|
2258
|
+
const { formula1 = CHECKBOX_FORMULA_1, formula2 = CHECKBOX_FORMULA_2 } = rule, results = await this._formulaService.getRuleFormulaResult(unitId, subUnitId, rule.uid);
|
2259
|
+
return {
|
2260
|
+
formula1: isFormulaString(formula1) ? getFormulaResult((_a17 = results == null ? void 0 : results[0]) == null ? void 0 : _a17.result) : formula1,
|
2261
|
+
formula2: isFormulaString(formula2) ? getFormulaResult((_b = results == null ? void 0 : results[1]) == null ? void 0 : _b.result) : formula2
|
2262
|
+
};
|
2263
|
+
}
|
2264
|
+
drawWith(ctx, info) {
|
2265
|
+
var _a17, _b, _c, _d, _e, _f;
|
2266
|
+
const { style, data, primaryWithCoord, unitId, subUnitId, worksheet, row, col } = info, cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, value = getCellValueOrigin(worksheet.getCellRaw(row, col)), rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = data.dataValidation) == null ? void 0 : _b.validator;
|
2267
|
+
if (!rule || !validator)
|
2268
|
+
return;
|
2269
|
+
const colors = this._themeService.getCurrentTheme();
|
2270
|
+
if (!((_c = validator.skipDefaultFontRender) != null && _c.call(validator, rule, value, { unitId, subUnitId })))
|
2271
|
+
return;
|
2272
|
+
const result = validator.parseFormulaSync(rule, unitId, subUnitId), { formula1 } = result, layout = this._calc(cellBounding, style), { a: scaleX, d: scaleY } = ctx.getTransform(), left = fixLineWidthByScale(layout.left, scaleX), top = fixLineWidthByScale(layout.top, scaleY), transform = Transform.create().composeMatrix({
|
2273
|
+
left,
|
2274
|
+
top,
|
2275
|
+
scaleX: 1,
|
2276
|
+
scaleY: 1,
|
2277
|
+
angle: 0,
|
2278
|
+
skewX: 0,
|
2279
|
+
skewY: 0,
|
2280
|
+
flipX: !1,
|
2281
|
+
flipY: !1
|
2282
|
+
}), cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY;
|
2283
|
+
ctx.save(), ctx.beginPath(), ctx.rect(cellBounding.startX, cellBounding.startY, cellWidth, cellHeight), ctx.clip();
|
2284
|
+
const m2 = transform.getMatrix();
|
2285
|
+
ctx.transform(m2[0], m2[1], m2[2], m2[3], m2[4], m2[5]);
|
2286
|
+
const size = ((_d = style == null ? void 0 : style.fs) != null ? _d : 10) * 1.6, checked = String(value) === String(formula1), defaultColor = colors.hyacinth500;
|
2287
|
+
Checkbox$1.drawWith(ctx, {
|
2288
|
+
checked,
|
2289
|
+
width: size,
|
2290
|
+
height: size,
|
2291
|
+
fill: (_f = (_e = style == null ? void 0 : style.cl) == null ? void 0 : _e.rgb) != null ? _f : defaultColor
|
2292
|
+
}), ctx.restore();
|
2293
|
+
}
|
2294
|
+
isHit(evt, info) {
|
2295
|
+
const cellBounding = info.primaryWithCoord.isMergedMainCell ? info.primaryWithCoord.mergeInfo : info.primaryWithCoord, layout = this._calc(cellBounding, info.style), startY = layout.top, endY = layout.top + layout.height, startX = layout.left, endX = layout.left + layout.width, { x: offsetX, y: offsetY } = evt;
|
2296
|
+
return offsetX <= endX && offsetX >= startX && offsetY <= endY && offsetY >= startY;
|
2297
|
+
}
|
2298
|
+
async onPointerDown(info, evt) {
|
2299
|
+
var _a17, _b, _c;
|
2300
|
+
if (evt.button === 2)
|
2301
|
+
return;
|
2302
|
+
const { primaryWithCoord, unitId, subUnitId, data, worksheet, row, col } = info, value = getCellValueOrigin(worksheet.getCellRaw(row, col)), rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = data.dataValidation) == null ? void 0 : _b.validator;
|
2303
|
+
if (!rule || !validator || !((_c = validator.skipDefaultFontRender) != null && _c.call(validator, rule, value, { unitId, subUnitId })))
|
2304
|
+
return;
|
2305
|
+
const { formula1, formula2 } = await this._parseFormula(rule, unitId, subUnitId), params = {
|
2306
|
+
range: {
|
2307
|
+
startColumn: primaryWithCoord.actualColumn,
|
2308
|
+
endColumn: primaryWithCoord.actualColumn,
|
2309
|
+
startRow: primaryWithCoord.actualRow,
|
2310
|
+
endRow: primaryWithCoord.actualRow
|
2311
|
+
},
|
2312
|
+
value: {
|
2313
|
+
v: String(value) === transformCheckboxValue(String(formula1)) ? formula2 : formula1,
|
2314
|
+
p: null
|
2315
|
+
}
|
2316
|
+
};
|
2317
|
+
this._commandService.executeCommand(
|
2318
|
+
SetRangeValuesCommand.id,
|
2319
|
+
params
|
2320
|
+
);
|
2321
|
+
}
|
2322
|
+
}, __name(_a10, "CheckboxRender"), _a10);
|
2323
|
+
CheckboxRender = __decorateClass$6([
|
2324
|
+
__decorateParam$6(0, ICommandService),
|
2325
|
+
__decorateParam$6(1, Inject(DataValidationFormulaService)),
|
2326
|
+
__decorateParam$6(2, Inject(ThemeService))
|
2327
|
+
], CheckboxRender);
|
2328
|
+
var __defProp$5 = Object.defineProperty, __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor, __decorateClass$5 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2329
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2330
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2331
|
+
return kind && result && __defProp$5(target, key, result), result;
|
2332
|
+
}, "__decorateClass$5"), __decorateParam$5 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$5"), _a11;
|
2333
|
+
let BaseSheetDataValidatorView = (_a11 = class {
|
2334
|
+
constructor(injector) {
|
2335
|
+
__publicField(this, "canvasRender", null);
|
2336
|
+
__publicField(this, "dropdown");
|
2337
|
+
__publicField(this, "optionsInput");
|
2338
|
+
__publicField(this, "formulaInput", LIST_FORMULA_INPUT_NAME);
|
2339
|
+
this.injector = injector;
|
2340
|
+
}
|
2341
|
+
}, __name(_a11, "BaseSheetDataValidatorView"), _a11);
|
2342
|
+
BaseSheetDataValidatorView = __decorateClass$5([
|
2343
|
+
__decorateParam$5(0, Inject(Injector))
|
2344
|
+
], BaseSheetDataValidatorView);
|
2345
|
+
const _CheckboxValidatorView = class _CheckboxValidatorView extends BaseSheetDataValidatorView {
|
2346
|
+
constructor() {
|
2347
|
+
super(...arguments);
|
2348
|
+
__publicField(this, "id", DataValidationType.CHECKBOX);
|
2349
|
+
__publicField(this, "canvasRender", this.injector.createInstance(CheckboxRender));
|
2350
|
+
__publicField(this, "formulaInput", CHECKBOX_FORMULA_INPUT_NAME);
|
2351
|
+
}
|
2352
|
+
};
|
2353
|
+
__name(_CheckboxValidatorView, "CheckboxValidatorView");
|
2354
|
+
let CheckboxValidatorView = _CheckboxValidatorView;
|
2355
|
+
const _CustomFormulaValidatorView = class _CustomFormulaValidatorView extends BaseSheetDataValidatorView {
|
2356
|
+
constructor() {
|
2357
|
+
super(...arguments);
|
2358
|
+
__publicField(this, "id", DataValidationType.CUSTOM);
|
2359
|
+
__publicField(this, "formulaInput", CUSTOM_FORMULA_INPUT_NAME);
|
2360
|
+
}
|
2361
|
+
};
|
2362
|
+
__name(_CustomFormulaValidatorView, "CustomFormulaValidatorView");
|
2363
|
+
let CustomFormulaValidatorView = _CustomFormulaValidatorView;
|
2364
|
+
const BASE_FORMULA_INPUT_NAME = "data-validation.formula-input", _DateValidatorView = class _DateValidatorView extends BaseSheetDataValidatorView {
|
2365
|
+
constructor() {
|
2366
|
+
super(...arguments);
|
2367
|
+
__publicField(this, "id", DataValidationType.DATE);
|
2368
|
+
__publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME);
|
2369
|
+
__publicField(this, "optionsInput", DateShowTimeOption.componentKey);
|
2370
|
+
__publicField(this, "dropdown", DATE_DROPDOWN_KEY);
|
2371
|
+
}
|
2372
|
+
};
|
2373
|
+
__name(_DateValidatorView, "DateValidatorView");
|
2374
|
+
let DateValidatorView = _DateValidatorView;
|
2375
|
+
const _DecimalValidatorView = class _DecimalValidatorView extends BaseSheetDataValidatorView {
|
2376
|
+
constructor() {
|
2377
|
+
super(...arguments);
|
2378
|
+
__publicField(this, "id", DataValidationType.DECIMAL);
|
2379
|
+
__publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME$1);
|
2380
|
+
}
|
2381
|
+
};
|
2382
|
+
__name(_DecimalValidatorView, "DecimalValidatorView");
|
2383
|
+
let DecimalValidatorView = _DecimalValidatorView;
|
2384
|
+
const PADDING_H$1 = 4, PADDING_V = 0, MARGIN_H$1 = 4, MARGIN_V$1 = 4, CELL_PADDING_H = 6, CELL_PADDING_V = 6, ICON_PLACE$1 = 14;
|
2385
|
+
function getDropdownItemSize(text, fontStyle) {
|
2386
|
+
const bBox = FontCache.getTextSize(text, fontStyle), rectWidth = bBox.width + PADDING_H$1 * 2, { ba, bd } = bBox, height = ba + bd;
|
2387
|
+
return {
|
2388
|
+
width: rectWidth,
|
2389
|
+
height: height + PADDING_V * 2,
|
2390
|
+
ba
|
2391
|
+
};
|
2392
|
+
}
|
2393
|
+
__name(getDropdownItemSize, "getDropdownItemSize");
|
2394
|
+
function layoutDropdowns(items, fontStyle, cellWidth, cellHeight) {
|
2395
|
+
const contentWidth = cellWidth - ICON_PLACE$1 - CELL_PADDING_H, contentHeight = cellHeight - CELL_PADDING_V * 2, textLayout = items.map((item) => ({
|
2396
|
+
layout: getDropdownItemSize(item, fontStyle),
|
2397
|
+
text: item
|
2398
|
+
}));
|
2399
|
+
let currentLine;
|
2400
|
+
const lines = [];
|
2401
|
+
textLayout.forEach((item) => {
|
2402
|
+
const { layout } = item, { width, height } = layout;
|
2403
|
+
!currentLine || currentLine.width + width + MARGIN_H$1 > contentWidth ? (currentLine = {
|
2404
|
+
width,
|
2405
|
+
height,
|
2406
|
+
items: [{
|
2407
|
+
...item,
|
2408
|
+
left: 0
|
2409
|
+
}]
|
2410
|
+
}, lines.push(currentLine)) : (currentLine.items.push({
|
2411
|
+
...item,
|
2412
|
+
left: currentLine.width + MARGIN_H$1
|
2413
|
+
}), currentLine.width = currentLine.width + width + MARGIN_H$1);
|
2414
|
+
});
|
2415
|
+
let totalHeight = 0;
|
2416
|
+
return lines.forEach((line, index) => {
|
2417
|
+
index === lines.length - 1 ? totalHeight += line.height : totalHeight += line.height + MARGIN_V$1;
|
2418
|
+
}), {
|
2419
|
+
lines,
|
2420
|
+
totalHeight,
|
2421
|
+
contentWidth,
|
2422
|
+
contentHeight,
|
2423
|
+
cellAutoHeight: totalHeight + CELL_PADDING_V * 2
|
2424
|
+
};
|
2425
|
+
}
|
2426
|
+
__name(layoutDropdowns, "layoutDropdowns");
|
2427
|
+
const RADIUS = 8, _Dropdown = class _Dropdown extends Shape {
|
2428
|
+
static drawWith(ctx, props) {
|
2429
|
+
const { fontString, info, fill, color } = props, { layout, text } = info;
|
2430
|
+
ctx.save(), Rect.drawWith(ctx, {
|
2431
|
+
width: layout.width,
|
2432
|
+
height: layout.height,
|
2433
|
+
radius: RADIUS,
|
2434
|
+
fill: fill || DROP_DOWN_DEFAULT_COLOR
|
2435
|
+
}), ctx.translateWithPrecision(PADDING_H$1, layout.ba), ctx.font = fontString, ctx.fillStyle = color, ctx.fillText(text, 0, 0), ctx.restore();
|
2436
|
+
}
|
2437
|
+
};
|
2438
|
+
__name(_Dropdown, "Dropdown");
|
2439
|
+
let Dropdown = _Dropdown;
|
2440
|
+
var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2441
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2442
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2443
|
+
return kind && result && __defProp$4(target, key, result), result;
|
2444
|
+
}, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4");
|
2445
|
+
const downPath$1 = new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");
|
2446
|
+
var _a12;
|
2447
|
+
let DropdownMultipleWidget = (_a12 = class {
|
2448
|
+
constructor(_commandService) {
|
2449
|
+
__publicField(this, "zIndex");
|
2450
|
+
__publicField(this, "_dropdownInfoMap", /* @__PURE__ */ new Map());
|
2451
|
+
this._commandService = _commandService;
|
2452
|
+
}
|
2453
|
+
_ensureMap(subUnitId) {
|
2454
|
+
let map = this._dropdownInfoMap.get(subUnitId);
|
2455
|
+
return map || (map = /* @__PURE__ */ new Map(), this._dropdownInfoMap.set(subUnitId, map)), map;
|
2456
|
+
}
|
2457
|
+
_generateKey(row, col) {
|
2458
|
+
return `${row}.${col}`;
|
2459
|
+
}
|
2460
|
+
_drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, vt) {
|
2461
|
+
const left = cellWidth - ICON_PLACE$1 + 4;
|
2462
|
+
let top = 4;
|
2463
|
+
switch (vt) {
|
2464
|
+
case VerticalAlign.MIDDLE:
|
2465
|
+
top = (cellHeight - ICON_PLACE$1) / 2 + 4;
|
2466
|
+
break;
|
2467
|
+
case VerticalAlign.BOTTOM:
|
2468
|
+
top = cellHeight - ICON_PLACE$1 + 4;
|
2469
|
+
break;
|
2470
|
+
}
|
2471
|
+
ctx.save(), ctx.translateWithPrecision(cellBounding.startX + left, cellBounding.startY + top), ctx.fillStyle = "#565656", ctx.fill(downPath$1), ctx.restore();
|
2472
|
+
}
|
2473
|
+
// eslint-disable-next-line max-lines-per-function
|
2474
|
+
drawWith(ctx, info, skeleton, spreadsheets) {
|
2475
|
+
var _a17, _b;
|
2476
|
+
const { primaryWithCoord, row, col, style, data, subUnitId } = info, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {}, validation = data.dataValidation, map = this._ensureMap(subUnitId), key = this._generateKey(row, col);
|
2477
|
+
if (!validation)
|
2478
|
+
return;
|
2479
|
+
const cellBounding = {
|
2480
|
+
startX: _cellBounding.startX + leftOffset,
|
2481
|
+
endX: _cellBounding.endX - rightOffset,
|
2482
|
+
startY: _cellBounding.startY + topOffset,
|
2483
|
+
endY: _cellBounding.endY - downOffset
|
2484
|
+
}, cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY, { cl } = style || {}, color = (_a17 = typeof cl == "object" ? cl == null ? void 0 : cl.rgb : cl) != null ? _a17 : "#000", fontStyle = getFontStyleString(style != null ? style : void 0), { rule, validator: _validator } = validation, validator = _validator, { vt: _vt, ht } = style || {}, vt = _vt != null ? _vt : VerticalAlign.MIDDLE, cellValue = (_b = getCellValueOrigin(data)) != null ? _b : "", items = validator.parseCellValue(cellValue), labelColorMap = validator.getListWithColorMap(rule), layout = layoutDropdowns(items, fontStyle, cellWidth, cellHeight);
|
2485
|
+
this._drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, vt), ctx.save(), ctx.translateWithPrecision(cellBounding.startX, cellBounding.startY), ctx.beginPath(), ctx.rect(0, 0, cellWidth - ICON_PLACE$1, cellHeight), ctx.clip(), ctx.translateWithPrecision(CELL_PADDING_H, CELL_PADDING_V);
|
2486
|
+
let top = 0;
|
2487
|
+
switch (vt) {
|
2488
|
+
case VerticalAlign.MIDDLE:
|
2489
|
+
top = (layout.contentHeight - layout.totalHeight) / 2;
|
2490
|
+
break;
|
2491
|
+
case VerticalAlign.BOTTOM:
|
2492
|
+
top = layout.contentHeight - layout.totalHeight;
|
2493
|
+
break;
|
2494
|
+
}
|
2495
|
+
ctx.translateWithPrecision(0, top), layout.lines.forEach((line, index) => {
|
2496
|
+
ctx.save();
|
2497
|
+
const { width, height, items: items2 } = line;
|
2498
|
+
let left = 0;
|
2499
|
+
switch (ht) {
|
2500
|
+
case HorizontalAlign.RIGHT:
|
2501
|
+
left = layout.contentWidth - width;
|
2502
|
+
break;
|
2503
|
+
case HorizontalAlign.CENTER:
|
2504
|
+
left = (layout.contentWidth - width) / 2;
|
2505
|
+
break;
|
2506
|
+
}
|
2507
|
+
ctx.translate(left, index * (height + MARGIN_V$1)), items2.forEach((item) => {
|
2508
|
+
ctx.save(), ctx.translateWithPrecision(item.left, 0), Dropdown.drawWith(ctx, {
|
2509
|
+
...fontStyle,
|
2510
|
+
info: item,
|
2511
|
+
color,
|
2512
|
+
fill: labelColorMap[item.text]
|
2513
|
+
}), ctx.restore();
|
2514
|
+
}), ctx.restore();
|
2515
|
+
}), ctx.restore(), map.set(key, {
|
2516
|
+
left: cellBounding.startX,
|
2517
|
+
top: cellBounding.startY,
|
2518
|
+
width: layout.contentWidth + CELL_PADDING_H + ICON_PLACE$1,
|
2519
|
+
height: layout.contentHeight + CELL_PADDING_V * 2
|
2520
|
+
});
|
2521
|
+
}
|
2522
|
+
calcCellAutoHeight(info) {
|
2523
|
+
var _a17;
|
2524
|
+
const { primaryWithCoord, style, data } = info, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {}, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, cellBounding = {
|
2525
|
+
startX: _cellBounding.startX + leftOffset,
|
2526
|
+
endX: _cellBounding.endX - rightOffset,
|
2527
|
+
startY: _cellBounding.startY + topOffset,
|
2528
|
+
endY: _cellBounding.endY - downOffset
|
2529
|
+
}, validation = data.dataValidation;
|
2530
|
+
if (!validation)
|
2531
|
+
return;
|
2532
|
+
const cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY, cellValue = (_a17 = getCellValueOrigin(data)) != null ? _a17 : "", { validator: _validator } = validation, items = _validator.parseCellValue(cellValue), fontStyle = getFontStyleString(style != null ? style : void 0);
|
2533
|
+
return layoutDropdowns(items, fontStyle, cellWidth, cellHeight).cellAutoHeight;
|
2534
|
+
}
|
2535
|
+
isHit(position, info) {
|
2536
|
+
const { primaryWithCoord } = info, cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, { endX } = cellBounding, { x } = position;
|
2537
|
+
return x >= endX - ICON_PLACE$1 && x <= endX;
|
2538
|
+
}
|
2539
|
+
onPointerDown(info, evt) {
|
2540
|
+
if (evt.button === 2)
|
2541
|
+
return;
|
2542
|
+
const { unitId, subUnitId, row, col } = info, params = {
|
2543
|
+
unitId,
|
2544
|
+
subUnitId,
|
2545
|
+
row,
|
2546
|
+
column: col
|
2547
|
+
};
|
2548
|
+
this._commandService.executeCommand(ShowDataValidationDropdown.id, params);
|
2549
|
+
}
|
2550
|
+
}, __name(_a12, "DropdownMultipleWidget"), _a12);
|
2551
|
+
DropdownMultipleWidget = __decorateClass$4([
|
2552
|
+
__decorateParam$4(0, ICommandService)
|
2553
|
+
], DropdownMultipleWidget);
|
2554
|
+
const _ListMultipleValidatorView = class _ListMultipleValidatorView extends BaseSheetDataValidatorView {
|
2555
|
+
constructor() {
|
2556
|
+
super(...arguments);
|
2557
|
+
__publicField(this, "id", DataValidationType.LIST_MULTIPLE);
|
2558
|
+
__publicField(this, "canvasRender", this.injector.createInstance(DropdownMultipleWidget));
|
2559
|
+
}
|
2560
|
+
};
|
2561
|
+
__name(_ListMultipleValidatorView, "ListMultipleValidatorView");
|
2562
|
+
let ListMultipleValidatorView = _ListMultipleValidatorView;
|
2563
|
+
var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2564
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2565
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2566
|
+
return kind && result && __defProp$3(target, key, result), result;
|
2567
|
+
}, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3");
|
2568
|
+
const PADDING_H = 4, ICON_SIZE = 4, ICON_PLACE = 14, MARGIN_H = 6, MARGIN_V = 4, DROP_DOWN_ICON_COLOR = "#565656", downPath = new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");
|
2569
|
+
function convertToDocumentData(text, style) {
|
2570
|
+
const contentLength = text.length;
|
2571
|
+
return {
|
2572
|
+
id: "d",
|
2573
|
+
body: {
|
2574
|
+
dataStream: `${text}${DEFAULT_EMPTY_DOCUMENT_VALUE}`,
|
2575
|
+
textRuns: [
|
2576
|
+
{
|
2577
|
+
ts: {
|
2578
|
+
fs: 11,
|
2579
|
+
ff: void 0,
|
2580
|
+
it: BooleanNumber.FALSE,
|
2581
|
+
bl: BooleanNumber.FALSE,
|
2582
|
+
ul: {
|
2583
|
+
s: BooleanNumber.FALSE
|
2584
|
+
},
|
2585
|
+
st: {
|
2586
|
+
s: BooleanNumber.FALSE
|
2587
|
+
},
|
2588
|
+
ol: {
|
2589
|
+
s: BooleanNumber.FALSE
|
2590
|
+
},
|
2591
|
+
cl: void 0,
|
2592
|
+
...style,
|
2593
|
+
bg: void 0,
|
2594
|
+
bd: void 0
|
2595
|
+
},
|
2596
|
+
st: 0,
|
2597
|
+
ed: contentLength
|
2598
|
+
}
|
2599
|
+
]
|
2600
|
+
},
|
2601
|
+
documentStyle: {
|
2602
|
+
pageSize: {
|
2603
|
+
width: Number.POSITIVE_INFINITY,
|
2604
|
+
height: Number.POSITIVE_INFINITY
|
2605
|
+
}
|
2606
|
+
}
|
2607
|
+
};
|
2608
|
+
}
|
2609
|
+
__name(convertToDocumentData, "convertToDocumentData");
|
2610
|
+
function createDocSkeleton(text, localeService, style) {
|
2611
|
+
const documentData = convertToDocumentData(text, style), docModel = new DocumentDataModel(documentData), docViewModel = new DocumentViewModel(docModel);
|
2612
|
+
return {
|
2613
|
+
documentSkeleton: DocumentSkeleton.create(docViewModel, localeService),
|
2614
|
+
docModel,
|
2615
|
+
docViewModel
|
2616
|
+
};
|
2617
|
+
}
|
2618
|
+
__name(createDocSkeleton, "createDocSkeleton");
|
2619
|
+
function createDocuments(text, localeService, style) {
|
2620
|
+
const {
|
2621
|
+
documentSkeleton,
|
2622
|
+
docModel,
|
2623
|
+
docViewModel
|
2624
|
+
} = createDocSkeleton(text, localeService, style);
|
2625
|
+
return {
|
2626
|
+
documents: new Documents(`DOCUMENTS_${Tools.generateRandomId()}`, documentSkeleton, {
|
2627
|
+
pageMarginLeft: 0,
|
2628
|
+
pageMarginTop: 0
|
2629
|
+
}),
|
2630
|
+
documentSkeleton,
|
2631
|
+
docModel,
|
2632
|
+
docViewModel
|
2633
|
+
};
|
2634
|
+
}
|
2635
|
+
__name(createDocuments, "createDocuments");
|
2636
|
+
function calcPadding(cellWidth, cellHeight, fontWidth, fontHeight, vt, ht, margin = !0) {
|
2637
|
+
let paddingTop = 0;
|
2638
|
+
const realMargin = margin ? MARGIN_V : 0;
|
2639
|
+
switch (vt) {
|
2640
|
+
case VerticalAlign.BOTTOM:
|
2641
|
+
paddingTop = cellHeight - fontHeight - realMargin;
|
2642
|
+
break;
|
2643
|
+
case VerticalAlign.MIDDLE:
|
2644
|
+
paddingTop = (cellHeight - fontHeight) / 2;
|
2645
|
+
break;
|
2646
|
+
default:
|
2647
|
+
paddingTop = realMargin;
|
2648
|
+
break;
|
2649
|
+
}
|
2650
|
+
paddingTop = Math.max(MARGIN_V, paddingTop);
|
2651
|
+
let paddingLeft = 0;
|
2652
|
+
switch (ht) {
|
2653
|
+
case HorizontalAlign.CENTER:
|
2654
|
+
paddingLeft = (cellWidth - fontWidth) / 2;
|
2655
|
+
break;
|
2656
|
+
case HorizontalAlign.RIGHT:
|
2657
|
+
paddingLeft = cellWidth - fontWidth;
|
2658
|
+
break;
|
2659
|
+
}
|
2660
|
+
return paddingLeft = Math.max(MARGIN_H, paddingLeft), {
|
2661
|
+
paddingLeft,
|
2662
|
+
paddingTop
|
2663
|
+
};
|
2664
|
+
}
|
2665
|
+
__name(calcPadding, "calcPadding");
|
2666
|
+
var _a13;
|
2667
|
+
let DropdownWidget = (_a13 = class {
|
2668
|
+
constructor(_localeService, _commandService) {
|
2669
|
+
__publicField(this, "_dropdownInfoMap", /* @__PURE__ */ new Map());
|
2670
|
+
__publicField(this, "zIndex");
|
2671
|
+
__publicField(this, "onPointerEnter");
|
2672
|
+
__publicField(this, "onPointerLeave");
|
2673
|
+
this._localeService = _localeService, this._commandService = _commandService;
|
2674
|
+
}
|
2675
|
+
_ensureMap(subUnitId) {
|
2676
|
+
let map = this._dropdownInfoMap.get(subUnitId);
|
2677
|
+
return map || (map = /* @__PURE__ */ new Map(), this._dropdownInfoMap.set(subUnitId, map)), map;
|
2678
|
+
}
|
2679
|
+
_generateKey(row, col) {
|
2680
|
+
return `${row}.${col}`;
|
2681
|
+
}
|
2682
|
+
_drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, fontHeight, vt, pd) {
|
2683
|
+
const { t = DEFAULT_STYLES.pd.t, b = DEFAULT_STYLES.pd.b } = pd, left = cellWidth - ICON_PLACE;
|
2684
|
+
let top;
|
2685
|
+
switch (vt) {
|
2686
|
+
case VerticalAlign.MIDDLE:
|
2687
|
+
top = (cellHeight - ICON_SIZE) / 2;
|
2688
|
+
break;
|
2689
|
+
case VerticalAlign.BOTTOM:
|
2690
|
+
top = cellHeight - b - fontHeight - MARGIN_V + (fontHeight / 2 - ICON_SIZE / 2);
|
2691
|
+
break;
|
2692
|
+
default:
|
2693
|
+
top = t + MARGIN_V + (fontHeight / 2 - ICON_SIZE / 2);
|
2694
|
+
break;
|
2695
|
+
}
|
2696
|
+
ctx.save(), ctx.translateWithPrecision(cellBounding.startX + left, cellBounding.startY + top), ctx.fillStyle = "#565656", ctx.fill(downPath), ctx.restore();
|
2697
|
+
}
|
2698
|
+
// eslint-disable-next-line max-lines-per-function, complexity
|
2699
|
+
drawWith(ctx, info, skeleton) {
|
2700
|
+
var _a17, _b;
|
2701
|
+
const { primaryWithCoord, row, col, style, data, subUnitId } = info, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = data.dataValidation) == null ? void 0 : _b.validator, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {};
|
2702
|
+
if (!rule || !validator || !validator || validator.id.indexOf(DataValidationType.LIST) !== 0 || !validator.skipDefaultFontRender(rule))
|
2703
|
+
return;
|
2704
|
+
const cellBounding = {
|
2705
|
+
startX: _cellBounding.startX + leftOffset,
|
2706
|
+
endX: _cellBounding.endX - rightOffset,
|
2707
|
+
startY: _cellBounding.startY + topOffset,
|
2708
|
+
endY: _cellBounding.endY - downOffset
|
2709
|
+
}, cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY, map = this._ensureMap(subUnitId), key = this._generateKey(row, col), list = validator.getListWithColor(rule), value = getCellValueOrigin(data), valueStr = `${value != null ? value : ""}`, activeItem = list.find((i) => i.label === valueStr);
|
2710
|
+
let { tb, vt, ht, pd } = style || {};
|
2711
|
+
if (tb = tb != null ? tb : WrapStrategy.WRAP, vt = vt != null ? vt : VerticalAlign.BOTTOM, ht = ht != null ? ht : DEFAULT_STYLES.ht, pd = pd != null ? pd : DEFAULT_STYLES.pd, rule.renderMode === DataValidationRenderMode.ARROW) {
|
2712
|
+
const { l: l2 = DEFAULT_STYLES.pd.l, t = DEFAULT_STYLES.pd.t, r = DEFAULT_STYLES.pd.r, b = DEFAULT_STYLES.pd.b } = pd, realWidth = cellWidth - l2 - r - ICON_PLACE - 4, { documentSkeleton, documents, docModel } = createDocuments(valueStr, this._localeService, style);
|
2713
|
+
tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate(), documentSkeleton.getActualSize();
|
2714
|
+
const textLayout = getDocsSkeletonPageSize(documentSkeleton), { height: fontHeight, width: fontWidth } = textLayout, { paddingTop, paddingLeft } = calcPadding(realWidth, cellHeight - t - b, fontWidth, fontHeight, vt, ht, !0);
|
2715
|
+
this._drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, fontHeight, vt, pd), ctx.save(), ctx.translateWithPrecision(cellBounding.startX + l2, cellBounding.startY + t), ctx.beginPath(), ctx.rect(0, 0, cellWidth - l2 - r, cellHeight - t - b), ctx.clip(), ctx.translateWithPrecision(0, paddingTop), ctx.save(), ctx.translateWithPrecision(PADDING_H, 0), ctx.beginPath(), ctx.rect(0, 0, realWidth, fontHeight), ctx.clip(), documents.render(ctx), ctx.translateWithPrecision(paddingLeft, 0), ctx.restore(), ctx.restore(), map.set(key, {
|
2716
|
+
left: cellBounding.endX + l2 + skeleton.rowHeaderWidth - ICON_PLACE,
|
2717
|
+
top: cellBounding.startY + t + skeleton.columnHeaderHeight,
|
2718
|
+
width: ICON_PLACE,
|
2719
|
+
height: cellHeight - t - b
|
2720
|
+
});
|
2721
|
+
} else {
|
2722
|
+
ctx.save(), ctx.translateWithPrecision(cellBounding.startX, cellBounding.startY), ctx.beginPath(), ctx.rect(0, 0, cellWidth, cellHeight), ctx.clip();
|
2723
|
+
const realWidth = cellWidth - MARGIN_H * 2 - PADDING_H - ICON_PLACE - 4, { documentSkeleton, documents, docModel } = createDocuments(valueStr, this._localeService, style);
|
2724
|
+
tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate();
|
2725
|
+
const textLayout = getDocsSkeletonPageSize(documentSkeleton), { height: fontHeight, width: fontWidth } = textLayout, { paddingTop, paddingLeft } = calcPadding(realWidth, cellHeight, fontWidth, fontHeight, vt, ht);
|
2726
|
+
ctx.translateWithPrecision(MARGIN_H, paddingTop);
|
2727
|
+
const rectWidth = Math.max(cellWidth - MARGIN_H * 2, 1), rectHeight = fontHeight;
|
2728
|
+
Rect.drawWith(ctx, {
|
2729
|
+
width: rectWidth,
|
2730
|
+
height: rectHeight,
|
2731
|
+
fill: (activeItem == null ? void 0 : activeItem.color) || DROP_DOWN_DEFAULT_COLOR,
|
2732
|
+
radius: 8
|
2733
|
+
}), ctx.save(), ctx.translateWithPrecision(PADDING_H, 0), ctx.beginPath(), ctx.rect(0, 0, realWidth, fontHeight), ctx.clip(), ctx.translateWithPrecision(paddingLeft, 0), documents.render(ctx), ctx.restore(), ctx.translateWithPrecision(realWidth + PADDING_H + 4, (fontHeight - ICON_SIZE) / 2), ctx.fillStyle = DROP_DOWN_ICON_COLOR, ctx.fill(downPath), ctx.restore(), map.set(key, {
|
2734
|
+
left: cellBounding.startX + MARGIN_H + skeleton.rowHeaderWidth,
|
2735
|
+
top: cellBounding.startY + paddingTop + skeleton.columnHeaderHeight,
|
2736
|
+
width: rectWidth,
|
2737
|
+
height: rectHeight
|
2738
|
+
});
|
2739
|
+
}
|
2740
|
+
}
|
2741
|
+
calcCellAutoHeight(info) {
|
2742
|
+
var _a17;
|
2743
|
+
const { primaryWithCoord, style, data } = info, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {}, rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule;
|
2744
|
+
if (!rule || rule.renderMode === DataValidationRenderMode.TEXT)
|
2745
|
+
return;
|
2746
|
+
const cellBounding = {
|
2747
|
+
startX: _cellBounding.startX + leftOffset,
|
2748
|
+
endX: _cellBounding.endX - rightOffset,
|
2749
|
+
startY: _cellBounding.startY + topOffset,
|
2750
|
+
endY: _cellBounding.endY - downOffset
|
2751
|
+
}, cellWidth = cellBounding.endX - cellBounding.startX, value = getCellValueOrigin(data), valueStr = `${value != null ? value : ""}`;
|
2752
|
+
let { tb, pd } = style || {};
|
2753
|
+
const { t = DEFAULT_STYLES.pd.t, b = DEFAULT_STYLES.pd.b } = pd != null ? pd : {};
|
2754
|
+
if (tb = tb != null ? tb : WrapStrategy.WRAP, rule.renderMode === DataValidationRenderMode.ARROW) {
|
2755
|
+
const realWidth = cellWidth - ICON_PLACE, { documentSkeleton, docModel } = createDocuments(valueStr, this._localeService, style);
|
2756
|
+
tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate(), documentSkeleton.getActualSize();
|
2757
|
+
const textLayout = getDocsSkeletonPageSize(documentSkeleton), { height: fontHeight } = textLayout;
|
2758
|
+
return fontHeight + t + b + MARGIN_V * 2;
|
2759
|
+
} else {
|
2760
|
+
const realWidth = cellWidth - MARGIN_H * 2 - PADDING_H - ICON_PLACE, { documentSkeleton, docModel } = createDocSkeleton(valueStr, this._localeService, style);
|
2761
|
+
tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate();
|
2762
|
+
const textLayout = getDocsSkeletonPageSize(documentSkeleton), {
|
2763
|
+
height: fontHeight
|
2764
|
+
} = textLayout;
|
2765
|
+
return fontHeight + MARGIN_V * 2;
|
2766
|
+
}
|
2767
|
+
}
|
2768
|
+
isHit(position, info) {
|
2769
|
+
const { data, subUnitId, row, col } = info, dropdownInfo = this._ensureMap(subUnitId).get(this._generateKey(row, col)), validation = data.dataValidation;
|
2770
|
+
if (!validation || !dropdownInfo || validation.rule.renderMode === DataValidationRenderMode.TEXT)
|
2771
|
+
return !1;
|
2772
|
+
const { top, left, width, height } = dropdownInfo, { x, y } = position;
|
2773
|
+
return x >= left && x <= left + width && y >= top && y <= top + height;
|
2774
|
+
}
|
2775
|
+
onPointerDown(info, evt) {
|
2776
|
+
if (evt.button === 2)
|
2777
|
+
return;
|
2778
|
+
const { unitId, subUnitId, row, col } = info, params = {
|
2779
|
+
unitId,
|
2780
|
+
subUnitId,
|
2781
|
+
row,
|
2782
|
+
column: col
|
2783
|
+
};
|
2784
|
+
this._commandService.executeCommand(ShowDataValidationDropdown.id, params);
|
2785
|
+
}
|
2786
|
+
}, __name(_a13, "DropdownWidget"), _a13);
|
2787
|
+
DropdownWidget = __decorateClass$3([
|
2788
|
+
__decorateParam$3(0, Inject(LocaleService)),
|
2789
|
+
__decorateParam$3(1, ICommandService)
|
2790
|
+
], DropdownWidget);
|
2791
|
+
const _ListValidatorView = class _ListValidatorView extends BaseSheetDataValidatorView {
|
2792
|
+
constructor() {
|
2793
|
+
super(...arguments);
|
2794
|
+
__publicField(this, "id", DataValidationType.LIST);
|
2795
|
+
__publicField(this, "canvasRender", this.injector.createInstance(DropdownWidget));
|
2796
|
+
__publicField(this, "dropdown", LIST_DROPDOWN_KEY);
|
2797
|
+
__publicField(this, "optionsInput", ListRenderModeInput.componentKey);
|
2798
|
+
__publicField(this, "formulaInput", LIST_FORMULA_INPUT_NAME);
|
2799
|
+
}
|
2800
|
+
};
|
2801
|
+
__name(_ListValidatorView, "ListValidatorView");
|
2802
|
+
let ListValidatorView = _ListValidatorView;
|
2803
|
+
const _TextLengthValidatorView = class _TextLengthValidatorView extends BaseSheetDataValidatorView {
|
2804
|
+
constructor() {
|
2805
|
+
super(...arguments);
|
2806
|
+
__publicField(this, "id", DataValidationType.TEXT_LENGTH);
|
2807
|
+
__publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME$1);
|
2808
|
+
}
|
2809
|
+
};
|
2810
|
+
__name(_TextLengthValidatorView, "TextLengthValidatorView");
|
2811
|
+
let TextLengthValidatorView = _TextLengthValidatorView;
|
2812
|
+
const _WholeValidatorView = class _WholeValidatorView extends BaseSheetDataValidatorView {
|
2813
|
+
constructor() {
|
2814
|
+
super(...arguments);
|
2815
|
+
__publicField(this, "id", DataValidationType.WHOLE);
|
2816
|
+
__publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME$1);
|
2817
|
+
}
|
2818
|
+
};
|
2819
|
+
__name(_WholeValidatorView, "WholeValidatorView");
|
2820
|
+
let WholeValidatorView = _WholeValidatorView;
|
2821
|
+
var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2822
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2823
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2824
|
+
return kind && result && __defProp$2(target, key, result), result;
|
2825
|
+
}, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a14;
|
2826
|
+
let SheetsDataValidationUIController = (_a14 = class extends RxDisposable {
|
2827
|
+
constructor(_injector, _componentManger, _dataValidatorRegistryService) {
|
2828
|
+
super(), this._injector = _injector, this._componentManger = _componentManger, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._initComponents(), this._registerValidatorViews();
|
2829
|
+
}
|
2830
|
+
_initComponents() {
|
2831
|
+
[
|
2832
|
+
[DataValidationIcon, DataValidationSingle],
|
2833
|
+
[DATA_VALIDATION_PANEL, DataValidationPanel],
|
2834
|
+
[DROP_DOWN_KEY, CellDropdown],
|
2835
|
+
[LIST_DROPDOWN_KEY, ListDropDown],
|
2836
|
+
[DATE_DROPDOWN_KEY, DateDropdown],
|
2837
|
+
[ListRenderModeInput.componentKey, ListRenderModeInput],
|
2838
|
+
[DateShowTimeOption.componentKey, DateShowTimeOption],
|
2839
|
+
...FORMULA_INPUTS
|
2840
|
+
].forEach(([key, component]) => {
|
2841
|
+
this.disposeWithMe(this._componentManger.register(
|
2842
|
+
key,
|
2843
|
+
component
|
2844
|
+
));
|
2845
|
+
});
|
2846
|
+
}
|
2847
|
+
_registerValidatorViews() {
|
2848
|
+
[
|
2849
|
+
DecimalValidatorView,
|
2850
|
+
WholeValidatorView,
|
2851
|
+
TextLengthValidatorView,
|
2852
|
+
DateValidatorView,
|
2853
|
+
CheckboxValidatorView,
|
2854
|
+
ListValidatorView,
|
2855
|
+
ListMultipleValidatorView,
|
2856
|
+
CustomFormulaValidatorView
|
2857
|
+
].forEach((v) => {
|
2858
|
+
const view = this._injector.createInstance(v), validator = this._dataValidatorRegistryService.getValidatorItem(view.id);
|
2859
|
+
validator && (validator.formulaInput = view.formulaInput, validator.canvasRender = view.canvasRender, validator.dropdown = view.dropdown, validator.optionsInput = view.optionsInput);
|
2860
|
+
});
|
2861
|
+
}
|
2862
|
+
}, __name(_a14, "SheetsDataValidationUIController"), _a14);
|
2863
|
+
SheetsDataValidationUIController = __decorateClass$2([
|
2864
|
+
__decorateParam$2(0, Inject(Injector)),
|
2865
|
+
__decorateParam$2(1, Inject(ComponentManager)),
|
2866
|
+
__decorateParam$2(2, Inject(DataValidatorRegistryService))
|
2867
|
+
], SheetsDataValidationUIController);
|
2868
|
+
var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2869
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2870
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2871
|
+
return kind && result && __defProp$1(target, key, result), result;
|
2872
|
+
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1");
|
2873
|
+
const PLUGIN_NAME$1 = "SHEET_DATA_VALIDATION_UI_PLUGIN";
|
2874
|
+
var _a15;
|
2875
|
+
let UniverSheetsDataValidationUIPlugin = (_a15 = class extends Plugin {
|
2876
|
+
constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
|
2877
|
+
super(), this._config = _config, this._injector = _injector, this._commandService = _commandService, this._configService = _configService;
|
2878
|
+
const { menu, ...rest } = this._config;
|
2879
|
+
menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
|
2880
|
+
}
|
2881
|
+
onStarting() {
|
2882
|
+
[
|
2883
|
+
[DataValidationPanelService],
|
2884
|
+
[DataValidationDropdownManagerService],
|
2885
|
+
[DataValidationAlertController],
|
2886
|
+
[DataValidationAutoFillController],
|
2887
|
+
[SheetsDataValidationRenderController],
|
2888
|
+
[DataValidationPermissionController],
|
2889
|
+
[DataValidationCopyPasteController],
|
2890
|
+
[DataValidationRejectInputController],
|
2891
|
+
[SheetsDataValidationUIController]
|
2892
|
+
].forEach((dep) => {
|
2893
|
+
this._injector.add(dep);
|
2894
|
+
}), [
|
2895
|
+
AddSheetDataValidationAndOpenCommand,
|
2896
|
+
ShowDataValidationDropdown,
|
2897
|
+
HideDataValidationDropdown,
|
2898
|
+
CloseValidationPanelOperation,
|
2899
|
+
OpenValidationPanelOperation,
|
2900
|
+
ToggleValidationPanelOperation
|
2901
|
+
].forEach((command) => {
|
2902
|
+
this._commandService.registerCommand(command);
|
2903
|
+
});
|
2904
|
+
}
|
2905
|
+
onReady() {
|
2906
|
+
this._injector.get(DataValidationCopyPasteController), this._injector.get(DataValidationPermissionController), this._injector.get(DataValidationRejectInputController), this._injector.get(DataValidationAlertController);
|
2907
|
+
}
|
2908
|
+
onRendered() {
|
2909
|
+
this._injector.get(SheetsDataValidationUIController), this._injector.get(SheetsDataValidationRenderController);
|
2910
|
+
}
|
2911
|
+
onSteady() {
|
2912
|
+
this._injector.get(DataValidationAutoFillController);
|
2913
|
+
}
|
2914
|
+
}, __name(_a15, "UniverSheetsDataValidationUIPlugin"), __publicField(_a15, "pluginName", PLUGIN_NAME$1), __publicField(_a15, "type", UniverInstanceType.UNIVER_SHEET), _a15);
|
2915
|
+
UniverSheetsDataValidationUIPlugin = __decorateClass$1([
|
2916
|
+
__decorateParam$1(1, Inject(Injector)),
|
2917
|
+
__decorateParam$1(2, ICommandService),
|
2918
|
+
__decorateParam$1(3, IConfigService)
|
2919
|
+
], UniverSheetsDataValidationUIPlugin);
|
2920
|
+
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
2921
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
2922
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
2923
|
+
return kind && result && __defProp2(target, key, result), result;
|
2924
|
+
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
|
2925
|
+
const PLUGIN_NAME = "SHEET_DATA_VALIDATION_UI_PLUGIN";
|
2926
|
+
var _a16;
|
2927
|
+
let UniverSheetsDataValidationMobileUIPlugin = (_a16 = class extends Plugin {
|
2928
|
+
constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
|
2929
|
+
super(), this._config = _config, this._injector = _injector, this._commandService = _commandService, this._configService = _configService;
|
2930
|
+
const { menu, ...rest } = this._config;
|
2931
|
+
menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
|
2932
|
+
}
|
2933
|
+
onStarting() {
|
2934
|
+
[
|
2935
|
+
[DataValidationPanelService],
|
2936
|
+
[DataValidationDropdownManagerService],
|
2937
|
+
[DataValidationAlertController],
|
2938
|
+
[DataValidationAutoFillController],
|
2939
|
+
[SheetsDataValidationRenderController],
|
2940
|
+
[DataValidationPermissionController],
|
2941
|
+
[DataValidationCopyPasteController],
|
2942
|
+
[SheetsDataValidationUIController]
|
2943
|
+
].forEach((dep) => {
|
2944
|
+
this._injector.add(dep);
|
2945
|
+
}), [
|
2946
|
+
AddSheetDataValidationAndOpenCommand,
|
2947
|
+
ShowDataValidationDropdown,
|
2948
|
+
HideDataValidationDropdown,
|
2949
|
+
CloseValidationPanelOperation,
|
2950
|
+
OpenValidationPanelOperation,
|
2951
|
+
ToggleValidationPanelOperation
|
2952
|
+
].forEach((command) => {
|
2953
|
+
this._commandService.registerCommand(command);
|
2954
|
+
});
|
2955
|
+
}
|
2956
|
+
onReady() {
|
2957
|
+
this._injector.get(DataValidationCopyPasteController), this._injector.get(DataValidationPermissionController);
|
2958
|
+
}
|
2959
|
+
onRendered() {
|
2960
|
+
this._injector.get(SheetsDataValidationUIController), this._injector.get(SheetsDataValidationRenderController);
|
2961
|
+
}
|
2962
|
+
onSteady() {
|
2963
|
+
this._injector.get(DataValidationAutoFillController);
|
2964
|
+
}
|
2965
|
+
}, __name(_a16, "UniverSheetsDataValidationMobileUIPlugin"), __publicField(_a16, "pluginName", PLUGIN_NAME), __publicField(_a16, "type", UniverInstanceType.UNIVER_SHEET), _a16);
|
2966
|
+
UniverSheetsDataValidationMobileUIPlugin = __decorateClass([
|
2967
|
+
__decorateParam(1, Inject(Injector)),
|
2968
|
+
__decorateParam(2, ICommandService),
|
2969
|
+
__decorateParam(3, IConfigService)
|
2970
|
+
], UniverSheetsDataValidationMobileUIPlugin);
|
2971
|
+
export {
|
2972
|
+
DATE_DROPDOWN_KEY,
|
2973
|
+
LIST_DROPDOWN_KEY,
|
2974
|
+
UniverSheetsDataValidationMobileUIPlugin,
|
2975
|
+
UniverSheetsDataValidationUIPlugin
|
2976
|
+
};
|