facade.js 3.0 KB

1
  1. "use strict";const t=require("@univerjs/core"),l=require("@univerjs/docs"),S=require("@univerjs/sheets-ui"),i=require("@univerjs/sheets-zen-editor"),C=require("@univerjs/sheets/facade");class Z extends t.FUniver{_initSheetZenEditorEvent(n){const m=n.get(t.ICommandService);this.disposeWithMe(m.beforeCommandExecuted(e=>{if(e.id===i.OpenZenEditorCommand.id||e.id===i.CancelZenEditCommand.id||e.id===i.ConfirmZenEditCommand.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const s=this.getCommandSheetTarget(e);if(!s)return;const{workbook:d,worksheet:c}=s,h=n.get(S.IEditorBridgeService),u=n.get(t.IUniverInstanceService),v=e.params,{keycode:a,eventType:o}=v,r=h.getEditLocation();if(e.id===i.OpenZenEditorCommand.id){const E={row:r.row,column:r.column,eventType:o,keycode:a,workbook:d,worksheet:c,isZenEditor:!0};if(this.fireEvent(this.Event.BeforeSheetEditStart,E),E.cancel)throw new t.CanceledError}else{const E={row:r.row,column:r.column,eventType:o,keycode:a,workbook:d,worksheet:c,isZenEditor:!0,value:t.RichTextValue.create(u.getUnit(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:e.id===i.ConfirmZenEditCommand.id};if(this.fireEvent(this.Event.BeforeSheetEditEnd,E),E.cancel)throw new t.CanceledError}}})),this.disposeWithMe(m.onCommandExecuted(e=>{if(e.id===i.OpenZenEditorCommand.id||e.id===i.CancelZenEditCommand.id||e.id===i.ConfirmZenEditCommand.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const s=this.getCommandSheetTarget(e);if(!s)return;const{workbook:d,worksheet:c}=s,h=n.get(S.IEditorBridgeService),u=e.params,{keycode:v,eventType:a}=u,o=h.getEditLocation();if(e.id===i.OpenZenEditorCommand.id){const r={row:o.row,column:o.column,eventType:a,keycode:v,workbook:d,worksheet:c,isZenEditor:!0};this.fireEvent(this.Event.SheetEditStarted,r)}else{const r={row:o.row,column:o.column,eventType:a,keycode:v,workbook:d,worksheet:c,isZenEditor:!0,isConfirm:e.id===i.ConfirmZenEditCommand.id};this.fireEvent(this.Event.SheetEditEnded,r)}}if(e.id===l.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const s=this.getCommandSheetTarget(e);if(!s)return;const{workbook:d,worksheet:c}=s,h=n.get(S.IEditorBridgeService),u=n.get(t.IUniverInstanceService),v=e.params;if(!h.isVisible().visible)return;const{unitId:a}=v;if(a===t.DOCS_ZEN_EDITOR_UNIT_ID_KEY){const{row:o,column:r}=h.getEditLocation(),E={workbook:d,worksheet:c,row:o,column:r,value:t.RichTextValue.create(u.getUnit(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!0};this.fireEvent(this.Event.SheetEditChanging,E)}}}))}_initialize(n){this._initSheetZenEditorEvent(n)}}t.FUniver.extend(Z);class _ extends C.FWorkbook{startZenEditingAsync(){return this._injector.get(t.ICommandService).executeCommand(i.OpenZenEditorCommand.id)}endZenEditingAsync(n=!0){const m=this._injector.get(t.ICommandService);return n?m.executeCommand(i.ConfirmZenEditCommand.id):m.executeCommand(i.CancelZenEditCommand.id)}}C.FWorkbook.extend(_);