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.1.14 to 0.1.15

4

lib/types/basics/scroll-xy.d.ts

@@ -17,4 +17,4 @@ /**

export declare function getCurrentScrollXY(scrollTimer: any): {
scrollX: any;
scrollY: any;
scrollX: number;
scrollY: number;
};

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

import { IRange, IRangeWithCoord, IScale, ISelectionCell, ISelectionCellWithCoord, IStyleBase, LocaleService, Nullable } from '@univerjs/core';
import { IRange, IRangeWithCoord, IScale, ISelectionCellWithCoord, IStyleBase, LocaleService, Nullable } from '@univerjs/core';
import { IBoundRectNoAngle } from './vector2';

@@ -77,6 +77,2 @@ import { IDocumentSkeletonFontStyle } from './i-document-skeleton-cached';

/**
* Determines whether the cell(row, column) is within the range of the merged cells.
*/
export declare function getCellInfoInMergeData(row: number, column: number, mergeData?: IRange[]): ISelectionCell;
/**
* Determine whether there are any cells in a row that are not in the merged cells, mainly used for the calculation of auto height

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

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

import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IPaddingData, IRange, ISelectionCellWithCoord, ITextRotation, IWorksheetData, Nullable, Styles, Worksheet } from '@univerjs/core';
import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IPaddingData, IRange, IRowAutoHeightInfo, ISelectionCellWithCoord, ITextRotation, IWorksheetData, Nullable, Styles, Worksheet } from '@univerjs/core';
import { IBoundRectNoAngle, IViewportInfo } from '../../basics/vector2';

@@ -16,6 +16,2 @@ import { DocumentSkeleton } from '../docs/layout/doc-skeleton';

} | undefined;
export interface IRowAutoHeightInfo {
row: number;
autoHeight?: number;
}
interface IRowColumnSegment {

@@ -22,0 +18,0 @@ startRow: number;

@@ -66,3 +66,5 @@ import { IBoundRectNoAngle, IViewportInfo, Vector2 } from '../../basics/vector2';

/**
* Since multiple controllers, not just the sheet-render.controller, invoke spreadsheet.makeDirty() — for instance, the cf.render-controller — it's essential to also call viewport.markDirty() whenever spreadsheet.makeDirty() is triggered.
* @param state
* @returns
*/

@@ -69,0 +71,0 @@ makeDirty(state?: boolean): this;

@@ -25,5 +25,5 @@ import { Nullable } from '@univerjs/core';

allowSelectedClipElement(): boolean;
pick(coord: Vector2): Nullable<BaseObject | ThinScene>;
pick(coord: Vector2): Nullable<ThinScene | BaseObject>;
dispose(): void;
private _initialProps;
}

@@ -50,4 +50,6 @@ import { Nullable } from '@univerjs/core';

resize(width?: number, height?: number): this;
setScaleValue(scaleX: number, scaleY: number): void;
/**
* scale to value, absolute
* setTransform ---> viewport._updateScrollBarPosByViewportScroll ---> scrollTo
*/

@@ -59,2 +61,9 @@ scale(scaleX?: number, scaleY?: number): this;

scaleBy(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
* @param state
* @returns
*/
transformByState(state: ISceneTransformState): void;

@@ -61,0 +70,0 @@ getParent(): ThinEngine<Scene> | SceneViewer;

@@ -42,4 +42,4 @@ import { EventState, IPosition, Nullable, Observable } from '@univerjs/core';

*/
actualScrollX?: number;
actualScrollY?: number;
viewportScrollX?: number;
viewportScrollY?: number;
limitX?: number;

@@ -60,14 +60,19 @@ limitY?: number;

scrollY: number;
_preScrollX: number;
_preScrollY: number;
private _preScrollX;
private _preScrollY;
/**
* The actual scroll offset equals the distance from the content area position to the top, and there is a conversion relationship with scrollX and scrollY
* use getActualScroll to get scrolling value for spreadsheet.
* The viewport scroll offset equals the distance from the content area position to the top, and there is a conversion relationship with scrollX and scrollY
* use transScroll2ViewportScrollValue to get scrolling value for spreadsheet.
*/
viewportScrollX: number;
viewportScrollY: number;
preViewportScrollX: number;
preViewportScrollY: number;
_deltaViewportScrollX: number;
_deltaViewportScrollY: number;
private _viewportScrollX;
private _viewportScrollY;
private _preViewportScrollX;
private _preViewportScrollY;
private _deltaViewportScrollX;
private _deltaViewportScrollY;
/**
* physcal scene size (scene width * scale)
*/
private _physicalSceneWidth;
private _physicalSceneHeight;
onMouseWheelObserver: Observable<IWheelEvent>;

@@ -160,2 +165,6 @@ onScrollAfterObserver: Observable<IScrollObserverParam>;

get isActive(): boolean;
set viewportScrollX(val: number);
get viewportScrollX(): number;
set viewportScrollY(val: number);
get viewportScrollY(): number;
private set top(value);

@@ -173,32 +182,45 @@ private set left(value);

/**
* 物理 canvas 大小改变时调用(调整 window 大小时触发)
* invoked when canvas element size change
* engineResizeObserver --> engine.resizeBySize --> scene._setTransForm
*/
resetSizeAndScrollBar(): void;
resetCanvasSizeAndUpdateScrollBar(): void;
setScrollBar(instance: BaseScrollBar): void;
removeScrollBar(): void;
/**
* 和 resetSizeAndScrollBar 不同
* 此方法是调整冻结行列设置时 & 初始化时触发, resize window 时并不会触发
* NOT same as resetCanvasSizeAndScrollbar
* This method is triggered when adjusting the frozen row & col settings, and during initialization,
* it is not triggered when resizing the window.
*
* 注意参数 position 不一定有 height & width 对于 viewMain 只有 left top bottom right
* this.width this.height 也有可能是 undefined
* 因此应通过 _getViewPortSize 获取宽高
* Note that the 'position' parameter may not always have 'height' and 'width' properties. For the 'viewMain' element, it only has 'left', 'top', 'bottom', and 'right' properties.
* Additionally, 'this.width' and 'this.height' may also be 'undefined'.
* Therefore, you should use the '_getViewPortSize' method to retrieve the width and height.
* @param position
*/
resize(position: IViewPosition): void;
resizeWhenFreezeChange(position: IViewPosition): void;
setPadding(param: IPosition): void;
resetPadding(): 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
*
* 改动 scrollbar 的位置,不是 viewport content 滚动
* scroll to position, absolute
* 只有 viewMain 才会被调用 scrollTo 其他 viewport 都不会调用此方法
* 具体在 scroll.controller 中
* when scrolling:
*
* scroll.render-controller@_scrollManagerService.scrollInfo$.subscribe --> scrollTo
*
* when change skelenton:
* _currentSkeletonBefore$ ---> scroll.render-controller@_updateSceneSize --> setSearchParam --> scene@_setTransForm ---> viewport.resetCanvasSizeAndUpdateScrollBar ---> scrollTo ---> _scroll
* --> 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
*
* TODO: @lumix many side effects in scrollTo, it would update scrollXY & viewportScrollXY, and notify listeners of scrollInfo$
*
* Debug
* window.scene.getViewports()[0].scrollTo({x: 14.2, y: 1.8}, true)
* @param pos
* @returns
*/
scrollTo(pos: IScrollBarPosition, isTrigger?: boolean): {
scrollTo(pos: IScrollBarPosition): {
isLimitedX: boolean;

@@ -210,3 +232,3 @@ isLimitedY: boolean;

* @param pos
* @returns
* @returns isLimited
*/

@@ -230,7 +252,7 @@ scrollBy(pos: IScrollBarPosition, isTrigger?: boolean): {

} | undefined;
getBarScroll(actualX: number, actualY: number): {
transViewportScroll2ScrollValue(viewportScrollX: number, viewportScrollY: number): {
x: number;
y: number;
};
getActualScroll(scrollX: number, scrollY: number): {
transScroll2ViewportScrollValue(scrollX: number, scrollY: number): {
x: number;

@@ -243,3 +265,3 @@ y: number;

*/
getTransformedScroll(): {
getViewportScrollByScroll(): {
x: number;

@@ -249,3 +271,3 @@ y: number;

getScrollBar(): Nullable<BaseScrollBar>;
updateScroll(param: IScrollObserverParam): this;
updateScroll(current: IScrollObserverParam): this;
getScrollBarTransForm(): Transform;

@@ -283,5 +305,15 @@ shouldIntoRender(): boolean;

get isForceDirty(): boolean;
/**
* resize canvas & use viewportScrollXY to scrollTo
*/
private _resizeCacheCanvas;
/**
* This method will be invoked whenever the viewport is resized.
*/
private _updateScrollBarPosByViewportScroll;
private _getViewPortSize;
private _scrollRendered;
/**
* update pre scroll value has handled in updateScroll()
*/
private _afterRender;
private _triggerScrollStop;

@@ -292,8 +324,9 @@ /**

*
* caller: scroll.controller viewportMain.proscrollTo(config)
* caller: scroll.render-controller viewportMain.scrollTo({x, y}))
* this._scrollManagerService.scrollInfo$.subscribe --> scrollTo --> _scroll
* @param scrollType
* @param pos viewMain 滚动条的位置
* @param scrollBarPos viewMain 滚动条的位置
* @param isTrigger
*/
private _scroll;
private _scrollToScrollbarPos;
expandBounds(value: {

@@ -310,3 +343,3 @@ top: number;

private _drawScrollbar;
private _setWithAndHeight;
private _setViewportWidthAndHeight;
private _getBoundScale;

@@ -313,0 +346,0 @@ /**

{
"name": "@univerjs/engine-render",
"version": "0.1.14",
"version": "0.1.15",
"private": false,

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

"peerDependencies": {
"@wendellhu/redi": "0.15.2",
"@wendellhu/redi": "0.15.4",
"rxjs": ">=7.0.0",
"@univerjs/core": "0.1.14"
"@univerjs/core": "0.1.15"
},

@@ -61,9 +61,9 @@ "dependencies": {

"@types/opentype.js": "^1.3.8",
"@wendellhu/redi": "0.15.2",
"@wendellhu/redi": "0.15.4",
"rxjs": "^7.8.1",
"typescript": "^5.4.5",
"vite": "^5.2.12",
"vite": "^5.2.13",
"vitest": "^1.6.0",
"@univerjs/core": "0.1.14",
"@univerjs/shared": "0.1.14"
"@univerjs/shared": "0.1.15",
"@univerjs/core": "0.1.15"
},

@@ -91,4 +91,5 @@ "browser": {

"lint:types": "tsc --noEmit",
"build": "tsc && vite build"
"build": "tsc && vite build",
"sync:cnpm": "cnpm sync"
}
}

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