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
5
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.4 to 0.2.5

2

lib/types/components/component.d.ts

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

import { IDisposable } from '@wendellhu/redi';
import { IDisposable } from '@univerjs/core';
import { BaseObject } from '../base-object';

@@ -3,0 +3,0 @@ import { IViewportInfo } from '../basics/vector2';

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

import { IDisposable } from '@wendellhu/redi';
import { IDisposable } from '@univerjs/core';
import { Lang } from './lang';

@@ -3,0 +3,0 @@

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

import { IDisposable } from '@wendellhu/redi';
import { IDisposable } from '@univerjs/core';
import { Lang } from './lang';

@@ -3,0 +3,0 @@

@@ -71,2 +71,4 @@ import { Nullable, ILogService, RxDisposable } from '@univerjs/core';

blur(): void;
focusEditor(): void;
blurEditor(): void;
changeRuntime(docSkeleton: DocumentSkeleton, scene: Scene, document: Documents): void;

@@ -130,2 +132,3 @@ dispose(): void;

private _scenePointerUpSubs;
private _editorFocusing;
constructor(_logService: ILogService);

@@ -151,2 +154,4 @@ __getEditorContainer(): HTMLElement;

blur(): void;
focusEditor(): void;
blurEditor(): void;
deactivate(): void;

@@ -182,5 +187,6 @@ changeRuntime(docSkeleton: DocumentSkeleton, scene: Scene, document: Documents): void;

private _findNodeByCoord;
private _getNodeIndex;
private _detachEvent;
private _activeSelectionRefresh;
}
export declare const ITextSelectionRenderManager: import('@wendellhu/redi').IdentifierDecorator<TextSelectionRenderManager>;
export declare const ITextSelectionRenderManager: import('@univerjs/core').IdentifierDecorator<TextSelectionRenderManager>;

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

import { ICustomDecorationForInterceptor, ICustomRangeForInterceptor, IDocumentBody, ITextRun, Nullable, DocumentDataModel } from '@univerjs/core';
import { IDisposable } from '@wendellhu/redi';
import { ICustomDecorationForInterceptor, ICustomRangeForInterceptor, IDisposable, IDocumentBody, ITextRun, Nullable, DocumentDataModel } from '@univerjs/core';
import { DataStreamTreeNode } from './data-stream-tree-node';

@@ -4,0 +3,0 @@

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

import { Plugin } from '@univerjs/core';
import { Injector } from '@wendellhu/redi';
import { Injector, Plugin } from '@univerjs/core';
import { Engine } from './engine';

@@ -8,3 +7,3 @@

*/
export declare const IRenderingEngine: import('@wendellhu/redi').IdentifierDecorator<Engine>;
export declare const IRenderingEngine: import('@univerjs/core').IdentifierDecorator<Engine>;
export declare class UniverRenderEnginePlugin extends Plugin {

@@ -11,0 +10,0 @@ readonly _injector: Injector;

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

import { Nullable, UnitModel, UnitType, UniverInstanceType, Disposable, IUniverInstanceService } from '@univerjs/core';
import { Dependency, DependencyIdentifier, IDisposable, Injector } from '@wendellhu/redi';
import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, UniverInstanceType, Disposable, Injector, IUniverInstanceService } from '@univerjs/core';
import { Observable } from 'rxjs';

@@ -77,3 +76,3 @@ import { BaseObject } from '../base-object';

}
export declare const IRenderManagerService: import('@wendellhu/redi').IdentifierDecorator<IRenderManagerService>;
export declare const IRenderManagerService: import('@univerjs/core').IdentifierDecorator<IRenderManagerService>;
export declare function isDisposable(thing: unknown): thing is IDisposable;

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

import { Nullable, UnitModel, UnitType, Disposable } from '@univerjs/core';
import { Dependency, DependencyIdentifier, IDisposable, Injector } from '@wendellhu/redi';
import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, Disposable, Injector } from '@univerjs/core';
import { Engine } from '../engine';

@@ -4,0 +3,0 @@ import { Scene } from '../scene';

@@ -15,4 +15,2 @@ import { IPaddingData } from '@univerjs/core';

private _padding?;
private _smoothRatioX;
private _smoothRatioY;
private _requestNewFrameNumber;

@@ -27,3 +25,3 @@ private _viewport;

private _scrollFunction;
constructor(_scene: Scene, _scrollTimerType?: ScrollTimerType, _padding?: IPaddingData | undefined, _smoothRatioX?: number, _smoothRatioY?: number);
constructor(_scene: Scene, _scrollTimerType?: ScrollTimerType, _padding?: IPaddingData | undefined);
static create(scene: any, scrollTimerType?: ScrollTimerType, padding?: IPaddingData): ScrollTimer;

@@ -30,0 +28,0 @@ set scrollTimerType(type: ScrollTimerType);

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

import { Disposable, EventSubject } from '@univerjs/core';
import { IDisposable } from '@wendellhu/redi';
import { Disposable, EventSubject, IDisposable } from '@univerjs/core';
import { CURSOR_TYPE, RENDER_CLASS_TYPE } from './basics/const';

@@ -4,0 +3,0 @@ import { IEvent } from './basics/i-events';

@@ -35,11 +35,15 @@ import { EventState, IPosition, Nullable, EventSubject } from '@univerjs/core';

*/
scrollX?: number;
scrollY?: number;
x?: number;
y?: number;
scrollX: number;
scrollY: number;
/**
* scrollXY before limit function
* why need this value?
*/
rawScrollX?: number;
rawScrollY?: number;
/**
* scrollX for viewport
*/
viewportScrollX?: number;
viewportScrollY?: number;
viewportScrollX: number;
viewportScrollY: number;
limitX?: number;

@@ -50,5 +54,9 @@ limitY?: number;

interface IScrollBarPosition {
x?: number;
y?: number;
x: number;
y: number;
}
interface IViewportScrollPosition {
viewportScrollX: number;
viewportScrollY: number;
}
export declare class Viewport {

@@ -74,10 +82,17 @@ /**

/**
* physcal scene size (scene width * scale)
* scene size in current viewport port with scale
* scene size relative to row col settings.
* if AB col has set to be freeze, then scene size in viewMain will be smaller compared to no freeze state.
*/
private _physicalSceneWidth;
private _physicalSceneHeight;
private _sceneWCurrVpAfterScale;
private _sceneHCurrVpAfterScale;
/**
* scene size with scale
*/
private _sceneWidthAfterScale;
private _sceneHeightAfterScale;
onMouseWheel$: EventSubject<IWheelEvent>;
onScrollAfter$: EventSubject<IScrollObserverParam>;
onScrollBefore$: EventSubject<IScrollObserverParam>;
onScrollStop$: EventSubject<IScrollObserverParam>;
onScrollEnd$: EventSubject<IScrollObserverParam>;
onScrollByBar$: EventSubject<IScrollObserverParam>;

@@ -111,3 +126,9 @@ private _viewportKey;

private _paddingStartX;
/**
* after create a freeze column, there is a "padding distace" from row header to curr viewport.
*/
private _paddingEndX;
/**
* after create a freeze row, there is a "padding distace" from column header to curr viewport.
*/
private _paddingStartY;

@@ -186,3 +207,3 @@ private _paddingEndY;

*/
resetCanvasSizeAndUpdateScrollBar(): void;
resetCanvasSizeAndUpdateScroll(): void;
setScrollBar(instance: BaseScrollBar): void;

@@ -204,16 +225,17 @@ removeScrollBar(): void;

/**
* set scrollXY and viewportScrollXY, and update scrollInfo without notify listeners of scrollInfo$
* mainly call by scroll.render-controller and viewport.resize ...
* only viewMain would call scrollTo, other views did not call scroll, see scroll.render-controller
* @param pos
* 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.onMouseWheelObserver.add --> scrollManagerService.setScrollInfo -->
* scroll.render-controller@_scrollManagerService.scrollInfo$.subscribe --> scrollTo
* scroll-manager.service@_scrollInfo$.next -->scroll.render-controller@_scrollManagerService.scrollInfo$.subscribe -->
* viewportMain.scrollTo(config);
* 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 ---> scrollTo ---> _scroll
* _currentSkeletonBefore$ ---> scroll.render-controller@_updateSceneSize --> setSearchParam --> scene@_setTransForm ---> viewport.resetCanvasSizeAndUpdateScrollBar ---> scrollToXX
* --> onScrollAfterObserver.notifyObservers --> scroll.render-controller@onScrollAfterObserver ---> setScrollInfoToCurrSheetWithoutNotify ---> sms._setScrollInfo

@@ -225,13 +247,11 @@ *

*
* Debug
* window.scene.getViewports()[0].scrollTo({x: 14.2, y: 1.8}, true)
*
* @param pos
*
* TODO: @lumix many side effects in scrollTo, it would update scrollXY & viewportScrollXY, and notify listeners of scrollInfo$
*
* TODO: @lumix Other controller should call scrollManagerService to set scrollInfo$
* example in scroll.operation.ts
*
* Debug
* window.scene.getViewports()[0].scrollTo({x: 14.2, y: 1.8}, true)
*/
scrollTo(pos: IScrollBarPosition): {
scrollToBarPos(pos: Partial<IScrollBarPosition>): {
scrollX: number;
scrollY: number;
isLimitedX: boolean;

@@ -241,22 +261,27 @@ isLimitedY: boolean;

/**
* current position plus offset, relative
* normally triggered by scroll-timer(in sheet)
* @param pos
* scrolling by current position plus offset
* the most common case is triggered by scroll-timer(in sheet)
* @param delta
* @returns isLimited
*/
scrollBy(pos: IScrollBarPosition, isTrigger?: boolean): {
scrollByBarDeltaValue(delta: Partial<IScrollBarPosition>, isTrigger?: boolean): {
scrollX: number;
scrollY: number;
isLimitedX: boolean;
isLimitedY: boolean;
} | undefined;
scrollByBar(delta: Partial<IScrollBarPosition>, isTrigger?: boolean): void;
scrollToViewportPos(pos: Partial<IViewportScrollPosition>, isTrigger?: boolean): {
viewportScrollX: number;
viewportScrollY: number;
isLimitedX: boolean;
isLimitedY: boolean;
} | undefined;
scrollByViewportDeltaVal(delta: IViewportScrollPosition, isTrigger?: boolean): {
viewportScrollX: number;
viewportScrollY: number;
isLimitedX: boolean;
isLimitedY: boolean;
} | undefined;
/**
*
* @param pos
* @param isTrigger
*/
scrollByBar(pos: IScrollBarPosition, isTrigger?: boolean): void;
scrollByViewportScroll({ deltaX, deltaY }: {
deltaX?: number | undefined;
deltaY?: number | undefined;
}): void;
/**
* current position plus offset relatively

@@ -267,5 +292,6 @@ * the caller no need to deal with the padding when frozen

* @param isTrigger
* @returns
*/
scrollByOffset(offsetX?: number, offsetY?: number, isTrigger?: boolean): {
scrollX: number;
scrollY: number;
isLimitedX: boolean;

@@ -284,5 +310,4 @@ isLimitedY: boolean;

* get actual scroll value by scrollXY
* @returns
*/
getViewportScrollByScroll(): {
getViewportScrollByScrollXY(): {
x: number;

@@ -292,12 +317,11 @@ y: number;

getScrollBar(): Nullable<BaseScrollBar>;
updateScroll(current: IScrollObserverParam): this;
updateScrollVal(current: Partial<IScrollObserverParam>): this;
getScrollBarTransForm(): Transform;
shouldIntoRender(): boolean;
/**
* engine.renderLoop ---> scene.render ---> layer.render ---> viewport.render
* call stack: engine.renderLoop ---> scene.render ---> layer.render ---> viewport.render
* that means each layer call all viewports to render
* @param parentCtx 如果 layer._allowCache true, 那么 parentCtx 是 layer 中的 cacheCtx
* @param parentCtx parentCtx is cacheCtx from layer when layer._allowCache is true
* @param objects
* @param isMaxLayer
* @param isLast last viewport would
*/

@@ -327,6 +351,20 @@ render(parentCtx?: UniverRenderingContext, objects?: BaseObject[], isMaxLayer?: boolean): void;

dispose(): void;
limitedScroll(): {
limitedScroll(scrollX: Nullable<number>, scrollY: Nullable<number>): {
scrollX: number;
scrollY: number;
isLimitedX: boolean;
isLimitedY: boolean;
} | undefined;
};
/**
* Still in working progress, do not use it now.
* @param viewportScrollX
* @param viewportScrollY
* @returns
*/
_limitViewportScroll(viewportScrollX: number, viewportScrollY: number): {
viewportScrollX: number;
viewportScrollY: number;
isLimitedX: boolean;
isLimitedY: boolean;
};
markDirty(state?: boolean): void;

@@ -343,5 +381,5 @@ get isDirty(): boolean;

/**
* This method will be invoked whenever the viewport is resized.
* This method will be invoked when viewport is resizing and removing rol & col
*/
private _updateScrollBarPosByViewportScroll;
private _updateScrollByViewportScrollValue;
private _getViewPortSize;

@@ -352,14 +390,17 @@ /**

private _afterRender;
private _triggerScrollStop;
private _emitScrollEnd$;
/**
* Scroll Viewport
* This function called by viewMain only, other viewports will not.
*
* caller: scroll.render-controller viewportMain.scrollTo({x, y}))
* this._scrollManagerService.scrollInfo$.subscribe --> scrollTo --> _scroll
* @param scrollType
* @param scrollBarPos viewMain 滚动条的位置
* When scroll just in X direction, there is no y definition in scrollXY. So scrollXY is Partial<IScrollBarPosition>
* @param rawScrollXY Partial<IViewportScrollPosition>
* @param isTrigger
*/
private _scrollCore;
private _scrollToBarPosCore;
/**
*
* When scroll just in X direction, there is no y definition in scrollVpPos. So scrollVpPos is Partial<IViewportScrollPosition>
* @param scrollVpPos Partial<IViewportScrollPosition>
* @param isTrigger
*/
private _scrollToViewportPosCore;
expandBounds(value: {

@@ -366,0 +407,0 @@ top: number;

{
"name": "@univerjs/engine-render",
"version": "0.2.4",
"version": "0.2.5",
"private": false,

@@ -49,5 +49,4 @@ "description": "UniverSheet normal base-render",

"peerDependencies": {
"@wendellhu/redi": "0.16.0",
"rxjs": ">=7.0.0",
"@univerjs/core": "0.2.4"
"@univerjs/core": "0.2.5"
},

@@ -63,3 +62,2 @@ "dependencies": {

"@types/opentype.js": "^1.3.8",
"@wendellhu/redi": "0.16.0",
"rxjs": "^7.8.1",

@@ -69,4 +67,4 @@ "typescript": "^5.5.3",

"vitest": "^2.0.3",
"@univerjs/core": "0.2.4",
"@univerjs/shared": "0.2.4"
"@univerjs/core": "0.2.5",
"@univerjs/shared": "0.2.5"
},

@@ -73,0 +71,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