New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@univerjs/engine-render

Package Overview
Dependencies
Maintainers
0
Versions
248
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@univerjs/engine-render - npm Package Compare versions

Comparing version 0.2.8 to 0.2.9

6

lib/types/base-object.d.ts

@@ -10,2 +10,4 @@ import { IKeyValue, ITransformState, Nullable, Disposable, EventSubject } from '@univerjs/core';

import { ITransformerConfig } from './basics/transformer-config';
import { Scene } from './scene';
import { Engine } from './engine';
export declare const BASE_OBJECT_ARRAY: string[];

@@ -165,6 +167,6 @@ export declare enum ObjectType {

toJson(): IKeyValue;
getScene(): any;
getScene(): Nullable<Scene>;
resetCursor(): void;
setCursor(val: CURSOR_TYPE): void;
getEngine(): any;
getEngine(): Nullable<Engine>;
getObjects(): BaseObject[];

@@ -171,0 +173,0 @@ getLayerIndex(): number;

@@ -6,3 +6,2 @@ import { Nullable } from '@univerjs/core';

import { UniverRenderingContext } from '../../context';
import { Scene } from '../../scene';
import { IDocumentsConfig, IPageMarginLayout, DocComponent } from './doc-component';

@@ -31,3 +30,3 @@ import { DocumentSkeleton } from './layout/doc-skeleton';

getOffsetConfig(): IDocumentOffsetConfig;
getEngine(): Nullable<import('../..').ThinEngine<Scene>>;
getEngine(): Nullable<import('../..').Engine>;
changeSkeleton(newSkeleton: DocumentSkeleton): this;

@@ -34,0 +33,0 @@ protected _draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;

@@ -1,20 +0,20 @@

import { IParagraphStyle } from '@univerjs/core';
import { IParagraph } from '@univerjs/core';
import { ISectionBreakConfig } from '../../../../../basics/interfaces';
import { DataStreamTreeNode } from '../../../view-model/data-stream-tree-node';
import { DocumentViewModel } from '../../../view-model/document-view-model';
export declare function otherHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
export declare function otherHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
step: number;
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
};
export declare function ArabicHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
export declare function ArabicHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
step: number;
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
};
export declare function emojiHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
export declare function emojiHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
step: number;
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
};
export declare function TibetanHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
export declare function TibetanHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
step: number;
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
};

@@ -5,3 +5,3 @@ import { IDocumentSkeletonDrawing, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';

import { BreakPointType } from '../../line-breaker/break';
export declare function layoutParagraph(ctx: ILayoutContext, glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig, paragraphStart?: boolean, breakPointType?: BreakPointType): IDocumentSkeletonPage[];
export declare function layoutParagraph(ctx: ILayoutContext, glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig, isParagraphFirstShapedText: boolean, breakPointType?: BreakPointType): IDocumentSkeletonPage[];
export declare function updateInlineDrawingPosition(line: IDocumentSkeletonLine, paragraphInlineSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, blockAnchorTop?: number): void;

@@ -20,2 +20,4 @@ import { LocaleService, Nullable } from '@univerjs/core';

private _docViewModel;
private _dirty$;
readonly dirty$: import('rxjs').Observable<boolean>;
private _skeletonData;

@@ -22,0 +24,0 @@ private _findLiquid;

@@ -1,2 +0,2 @@

import { DocumentDataModel, INumberUnit, IObjectPositionH, IObjectPositionV, IParagraphStyle, ITextStyle, Nullable, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
import { DocumentDataModel, INumberUnit, IObjectPositionH, IObjectPositionV, IParagraph, IParagraphStyle, ITextStyle, Nullable, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
import { IDocumentSkeletonCached, IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonDrawing, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, IDocumentSkeletonSection, ISkeletonResourceReference } from '../../../basics/i-document-skeleton-cached';

@@ -75,3 +75,3 @@ import { IDocsConfig, IParagraphConfig, ISectionBreakConfig } from '../../../basics/interfaces';

};
export declare function getFontCreateConfig(index: number, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): IFontCreateConfig;
export declare function getFontCreateConfig(index: number, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): IFontCreateConfig;
export declare function getNullSkeleton(): IDocumentSkeletonCached;

@@ -78,0 +78,0 @@ export declare function setPageParent(pages: IDocumentSkeletonPage[], parent: IDocumentSkeletonCached): void;

@@ -27,3 +27,3 @@ import { IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, IDocumentSkeletonSection, PageLayoutType } from '../../basics/i-document-skeleton-cached';

};
translateLine(line: IDocumentSkeletonLine, isDraw?: boolean): {
translateLine(line: IDocumentSkeletonLine, includeMarginTop?: boolean, includePaddingTop?: boolean): {
x: number;

@@ -30,0 +30,0 @@ y: number;

@@ -180,3 +180,3 @@ import { Nullable, ILogService, RxDisposable } from '@univerjs/core';

private _addRectRanges;
private _updateTextRangeAnchorPosition;
private _createTextRangeByAnchorPosition;
private _updateActiveRangePosition;

@@ -183,0 +183,0 @@ private _isEmpty;

@@ -28,2 +28,4 @@ import { ICustomDecorationForInterceptor, ICustomRangeForInterceptor, IDisposable, IDocumentBody, ITextRun, Nullable, DocumentDataModel } from '@univerjs/core';

footerTreeMap: Map<string, DocumentViewModel>;
private readonly _segmentViewModels$;
readonly segmentViewModels$: import('rxjs').Observable<DocumentViewModel[]>;
constructor(_documentDataModel: DocumentDataModel);

@@ -30,0 +32,0 @@ registerCustomRangeInterceptor(interceptor: ICustomRangeInterceptor): IDisposable;

@@ -38,2 +38,6 @@ import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IPaddingData, IRange, IRowAutoHeightInfo, ISelectionCellWithMergeInfo, ITextRotation, IWorksheetData, Nullable, Styles, Worksheet } from '@univerjs/core';

export declare const RENDER_RAW_FORMULA_KEY = "RENDER_RAW_FORMULA";
export interface ICacheItem {
bg: boolean;
border: boolean;
}
export declare class SpreadsheetSkeleton extends Skeleton {

@@ -110,2 +114,6 @@ readonly worksheet: Worksheet;

private _calculateRowAutoHeight;
/**
* Calculate data for row col & cell position, then update position value to this._rowHeaderWidth & this._rowHeightAccumulation & this._columnHeaderHeight & this._columnWidthAccumulation.
* @returns this
*/
private _updateLayout;

@@ -280,3 +288,3 @@ private _dynamicallyUpdateRowHeaderWidth;

private _makeDocumentSkeletonDirty;
private _setCellCache;
private _setCellStylesCache;
private _updateConfigAndGetDocumentModel;

@@ -283,0 +291,0 @@ private _getDocumentDataByStyle;

@@ -35,4 +35,2 @@ import { IRange } from '@univerjs/core';

* draw by viewport
* cacheBound ---> viewBound
* diffCacheBounds ---> diffRange
* @param ctx

@@ -39,0 +37,0 @@ * @param viewportInfo

@@ -5,2 +5,7 @@ import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, UniverInstanceType, Disposable, Injector } from '@univerjs/core';

import { RenderComponentType } from './render-manager.service';
/**
* Public interface of a {@link RenderUnit}.
*
* @property {string} unitId - The id of the RenderUnit.
*/
export interface IRender {

@@ -17,6 +22,10 @@ unitId: string;

}
/**
* Every render module should implement this interface.
*/
export interface IRenderModule extends IDisposable {
}
/**
* This object encapsulates methods or properties to render each element.
* Necessary context for a render module.This interface would be the first argument of render modules' constructor
* functions.
*/

@@ -28,3 +37,4 @@ export interface IRenderContext<T extends UnitModel = UnitModel> extends Omit<IRender, 'with'> {

/**
* RenderUnit impl IRender
* This class is necessary for Univer to render several units in the same webpage. It encapsulates the rendering
* context and rendering modules for a specific unit.
*/

@@ -49,7 +59,11 @@ export declare class RenderUnit extends Disposable implements IRender {

/**
* Get render controller hold by this render unit.
* Get a dependency from the RenderUnit's injector.
*/
with<T>(dependency: DependencyIdentifier<T>): T;
/**
* Add render dependencies to the RenderUnit's injector. Note that the dependencies would be initialized immediately
* after being added.
*/
addRenderDependencies(dependencies: Dependency[]): void;
private _initDependencies;
}

@@ -15,2 +15,3 @@ import { Nullable } from '@univerjs/core';

import { ITransformerConfig } from './basics/transformer-config';
import { Engine } from './engine';
export declare class Scene extends ThinScene {

@@ -52,4 +53,6 @@ private _parent;

/**
* scale to value, absolute
* setTransform ---> viewport._updateScrollBarPosByViewportScroll ---> scrollTo
* Set scale, and then emit event to update Viewport scroll state.
* @param scaleX
* @param scaleY
* @returns Scene
*/

@@ -62,5 +65,3 @@ scale(scaleX?: number, scaleY?: number): this;

/**
* This sequence will initiate a series of updates:
* scene._setTransForm --> viewport@resetCanvasSizeAndUpdateScrollBar ---> scrollTo ---> limitedScroll ---> onScrollBeforeObserver ---> setScrollInfo
* scrollInfo needs accurate scene width & height, limitedScroll depends on scene & engine's width & height
* Reset canvas size and update scroll
* @param state

@@ -70,3 +71,3 @@ */

getParent(): ThinEngine<Scene> | SceneViewer;
getEngine(): Nullable<ThinEngine<Scene>>;
getEngine(): Nullable<Engine>;
getLayers(): Layer[];

@@ -77,2 +78,8 @@ getLayer(zIndex?: number): Layer;

addObjects(objects: BaseObject[], zIndex?: number): this;
/**
* Add object to Layer (Layer is specified by zIndex).
* @param o
* @param zIndex layer index
* @returns scene
*/
addObject(o: BaseObject, zIndex?: number): this;

@@ -79,0 +86,0 @@ /**

@@ -93,7 +93,3 @@ import { IDocumentData, IStyleBase, ITransformState, LocaleService, DocumentDataModel } from '@univerjs/core';

/**
*
* it should be invoked when _documentData changed.
* _documentData changed ---> update _documentSkeleton & _documentSkeleton
*
* now it is invoked when transformByState(change editor size) & end of editing
* After changing editor size & end of editing, update skeleton of doc.
*/

@@ -100,0 +96,0 @@ refreshDocumentByDocData(): void;

@@ -198,6 +198,2 @@ import { EventState, IPosition, Nullable, EventSubject } from '@univerjs/core';

disable(): void;
/**
* invoked when canvas element size change
* engineResizeObserver --> engine.resizeBySize --> scene._setTransForm
*/
resetCanvasSizeAndUpdateScroll(): void;

@@ -220,28 +216,4 @@ setScrollBar(instance: BaseScrollBar): void;

/**
* There are serval cases to call this method.
* the most common case is scrolling. Other situations include:
* 1. changing the frozen row & col settings
* 2. changing curr skeleton
* 3. changing selection which cross viewport
* 4. changing the viewport size (also include change window size)
* 5. changing the scroll bar position
*
* when scrolling by trackpad:
* scene.input-manager@_onMouseWheel --> scene@triggerMouseWheel --> sheet-render.controller@scene.onMouseWheel$.add -->
* set-scroll.command.ts --> scroll.operation.ts -->
* scrollManagerService.setScrollInfoAndEmitEvent
*
* when change skelenton:
* _currentSkeletonBefore$ ---> scroll.render-controller@_updateSceneSize --> setSearchParam --> scene@_setTransForm ---> viewport.resetCanvasSizeAndUpdateScrollBar ---> scrollToXX
* --> onScrollAfterObserver.notifyObservers --> scroll.render-controller@onScrollAfterObserver ---> setScrollInfoToCurrSheetWithoutNotify ---> sms._setScrollInfo
*
* _currentSkeleton$ ---> selection.render-controller ---> formula@_autoScroll ---> viewport.resize ---> get scrollXY by viewportScrollXY ---> scrollTo
* _currentSkeleton$ ---> selection.render-controller ---> setCurrentSelection ---> formula@_autoScroll ---> scrollTo
* _currentSkeleton$ ---> freeze.render-controller@_refreshFreeze --> viewport.resize ---> scrollTo ---> _scroll
*
* Debug
* window.scene.getViewports()[0].scrollTo({x: 14.2, y: 1.8}, true)
*
* @param pos
*
* ScrollBar scroll to certain position.
* @param pos position of scrollBar
*/

@@ -267,2 +239,8 @@ scrollToBarPos(pos: Partial<IScrollBarPosition>): {

scrollByBar(delta: Partial<IScrollBarPosition>, isTrigger?: boolean): void;
/**
* Viewport scroll to certain position.
* @param pos
* @param isTrigger
* @returns IViewportScrollPosition
*/
scrollToViewportPos(pos: Partial<IViewportScrollPosition>, isTrigger?: boolean): {

@@ -309,2 +287,7 @@ viewportScrollX: number;

getScrollBar(): Nullable<BaseScrollBar>;
/**
* Just record state of scroll. This method won't scroll viewport and scrollbar.
* @param current
* @returns Viewport
*/
updateScrollVal(current: Partial<IScrollObserverParam>): this;

@@ -314,4 +297,3 @@ getScrollBarTransForm(): Transform;

/**
* call stack: engine.renderLoop ---> scene.render ---> layer.render ---> viewport.render
* that means each layer call all viewports to render
* Render function in each render loop.
* @param parentCtx parentCtx is cacheCtx from layer when layer._allowCache is true

@@ -373,3 +355,3 @@ * @param objects

/**
* This method will be invoked when viewport is resizing and removing rol & col
* Update scroll when viewport is resizing and removing rol & col
*/

@@ -376,0 +358,0 @@ private _updateScrollByViewportScrollValue;

{
"name": "@univerjs/engine-render",
"version": "0.2.8",
"version": "0.2.9",
"private": false,

@@ -50,7 +50,7 @@ "description": "UniverSheet normal base-render",

"rxjs": ">=7.0.0",
"@univerjs/core": "0.2.8"
"@univerjs/core": "0.2.9"
},
"dependencies": {
"@floating-ui/dom": "^1.6.7",
"@floating-ui/utils": "^0.2.4",
"@floating-ui/dom": "^1.6.10",
"@floating-ui/utils": "^0.2.7",
"cjk-regex": "^3.1.0",

@@ -66,4 +66,4 @@ "franc-min": "^6.2.0",

"vitest": "^2.0.5",
"@univerjs/core": "0.2.8",
"@univerjs/shared": "0.2.8"
"@univerjs/core": "0.2.9",
"@univerjs/shared": "0.2.9"
},

@@ -70,0 +70,0 @@ "browser": {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc