@univerjs/docs-ui
Version:
Editor UI layer for Univer Docs.
5 lines • 4.21 kB
JavaScript
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs-ui"),require("@univerjs/engine-render")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/docs-ui`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocsUi,e.UniverEngineRender))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function a(e){"@babel/helpers - typeof";return a=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let d=class{constructor(e,t,n,r,i,a){this._documentDataModel=e,this._injector=t,this._univerInstanceService=n,this._commandService=r,this._resourceManagerService=i,this._renderManagerService=a,c(this,`id`,void 0),this.id=this._documentDataModel.getUnitId()}getId(){return this._documentDataModel.getUnitId()}getName(){return this.getSnapshot().title||``}getSnapshot(){let e=this._resourceManagerService.getResourcesByType(this.id,t.UniverInstanceType.UNIVER_DOC),n=this._documentDataModel.getSnapshot();return n.resources=e,n}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(t.UndoCommand.id)}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(t.RedoCommand.id)}appendText(e){let{body:t}=this.getSnapshot();if(!t)throw Error(`The document body is empty`);let n=t.dataStream.length-2;return this.insertText(e,{startOffset:n,endOffset:n,segmentId:``})}insertText(e,t={}){var n,i,a;let o=this.id,{body:s}=this.getSnapshot();if(!s)throw Error(`The document body is empty`);let c=(n=t.startOffset)==null?Math.max(0,s.dataStream.length-2):n,l=(i=t.endOffset)==null?c:i,u=(a=t.segmentId)==null?``:a,d={startOffset:c,endOffset:l,collapsed:c===l,segmentId:u};return this._commandService.executeCommand(r.InsertCommand.id,{unitId:o,body:{dataStream:e},range:d,segmentId:u,...t.cursorOffset==null?{}:{cursorOffset:t.cursorOffset}})}insertParagraph(e=``,t={}){var n;let r=`${e.replace(/\r\n/g,`
`).replace(/\r/g,`
`).split(`
`).join(`\r
`)}\r\n`;return this.insertText(r,{...t,cursorOffset:(n=t.cursorOffset)==null?r.length:n})}setSelection(e,n){var i;let a=(i=this._renderManagerService.getRenderById(this.getId()))==null?void 0:i.with(r.DocSelectionRenderService);a==null||a.removeAllRanges(),a==null||a.addDocRanges([{startOffset:e,endOffset:n,rangeType:t.DOC_RANGE_TYPE.TEXT}],!0)}};d=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.IUniverInstanceService),l(3,t.ICommandService),l(4,t.IResourceManagerService),l(5,i.IRenderManagerService)],d);var f=class extends n.FUniver{createUniverDoc(e){let n=this._univerInstanceService.createUnit(t.UniverInstanceType.UNIVER_DOC,e);return this._injector.createInstance(d,n)}getActiveDocument(){let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return e?this._injector.createInstance(d,e):null}getUniverDoc(e){let t=this._univerInstanceService.getUniverDocInstance(e);return t?this._injector.createInstance(d,t):null}};n.FUniver.extend(f),Object.defineProperty(e,"FDocument",{enumerable:!0,get:function(){return d}})});