facade.js 3.9 KB

1
  1. "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),d=require("@univerjs/sheets-hyper-link"),h=require("@univerjs/sheets/facade");var m=Object.defineProperty,g=Object.getOwnPropertyDescriptor,v=(o,e,i,r)=>{for(var n=r>1?void 0:r?g(e,i):e,t=o.length-1,s;t>=0;t--)(s=o[t])&&(n=(r?s(e,i,n):s(n))||n);return r&&n&&m(e,i,n),n},y=(o,e)=>(i,r)=>e(i,r,o);let u=class{constructor(o,e){this._workbook=o,this._parserService=e}getRangeUrl(o){return this._parserService.buildHyperLink(this._workbook.getId(),o.getSheetId(),o.getRange()),this}};u=v([y(1,a.Inject(d.SheetsHyperLinkParserService))],u);class S extends h.FWorkbook{createSheetHyperlink(e,i){return this._injector.get(d.SheetsHyperLinkParserService).buildHyperLink(this.getId(),e,i)}parseSheetHyperlink(e){return this._injector.get(d.SheetsHyperLinkParserService).parseHyperLink(e)}}h.FWorkbook.extend(S);class w extends h.FWorksheet{getUrl(){return this._injector.get(d.SheetsHyperLinkParserService).buildHyperLink(this._workbook.getUnitId(),this._worksheet.getSheetId())}}h.FWorksheet.extend(w);class _ extends h.FRange{setHyperLink(e,i){const r={unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),link:{row:this._range.startRow,column:this._range.startColumn,payload:e,display:i,id:a.generateRandomId()}};return this._commandService.executeCommand(d.AddHyperLinkCommand.id,r)}getHyperLinks(){var i,r,n;const e=this._worksheet.getCellRaw(this._range.startRow,this._range.startColumn);return e!=null&&e.p?(n=(r=(i=e.p.body)==null?void 0:i.customRanges)==null?void 0:r.filter(t=>t.rangeType===a.CustomRangeType.HYPERLINK).map(t=>{var s,c,k,p,l;return{id:`${t.rangeId}`,startIndex:t.startIndex,endIndex:t.endIndex,url:(c=(s=t.properties)==null?void 0:s.url)!=null?c:"",label:(l=(p=(k=e.p)==null?void 0:k.body)==null?void 0:p.dataStream.slice(t.startIndex,t.endIndex+1).replaceAll(a.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(a.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))!=null?l:""}}))!=null?n:[]:[]}updateHyperLink(e,i,r){const n={unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this._range.startRow,column:this._range.startColumn,id:e,payload:{payload:i,display:r}};return this._commandService.executeCommand(d.UpdateHyperLinkCommand.id,n)}cancelHyperLink(e){const i={unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),row:this._range.startRow,column:this._range.startColumn,id:e};return this._commandService.syncExecuteCommand(d.CancelHyperLinkCommand.id,i)}getUrl(){return this._injector.get(d.SheetsHyperLinkParserService).buildHyperLink(this.getUnitId(),this.getSheetId(),this.getRange())}}h.FRange.extend(_);class L{get BeforeSheetLinkAdd(){return"BeforeSheetLinkAdd"}get BeforeSheetLinkCancel(){return"BeforeSheetLinkCancel"}get BeforeSheetLinkUpdate(){return"BeforeSheetLinkUpdate"}}a.FEventName.extend(L);class C extends a.FUniver{_initialize(e){const i=e.get(a.ICommandService);this.disposeWithMe(i.beforeCommandExecuted(r=>{if(r.id===d.AddHyperLinkCommand.id){if(!this._eventListend(this.Event.BeforeSheetLinkAdd))return;const n=this.getCommandSheetTarget(r);if(!n)return;const t=r.params,s={workbook:n.workbook,worksheet:n.worksheet,row:t.link.row,col:t.link.column,link:t.link};if(this.fireEvent(this.Event.BeforeSheetLinkAdd,s),s.cancel)throw new a.CanceledError}if(r.id===d.UpdateHyperLinkCommand.id){const n=this.getCommandSheetTarget(r);if(!n)return;const t=r.params,s={workbook:n.workbook,worksheet:n.worksheet,row:t.row,column:t.column,id:t.id,payload:t.payload};if(this.fireEvent(this.Event.BeforeSheetLinkUpdate,s),s.cancel)throw new a.CanceledError}if(r.id===d.CancelHyperLinkCommand.id){const n=this.getCommandSheetTarget(r);if(!n)return;const t=r.params,s={workbook:n.workbook,worksheet:n.worksheet,row:t.row,column:t.column,id:t.id};if(this.fireEvent(this.Event.BeforeSheetLinkCancel,s),s.cancel)throw new a.CanceledError}}))}}a.FUniver.extend(C);exports.FWorkbookHyperLinkMixin=S;