11import _ from 'lodash' ;
22import { Freezen } from '..' ;
3- import { Context , getFlowdata } from '../context' ;
3+ import {
4+ Context ,
5+ getFlowdata ,
6+ updateContextWithSheetData ,
7+ } from '../context' ;
48import {
59 cancelActiveImgItem ,
610 cancelPaintModel ,
@@ -2500,6 +2504,8 @@ export function mouseRender(
25002504 scrollX . scrollLeft -
25012505 window . scrollX ;
25022506 if ( x < rect . width + ctx . scrollLeft - 100 ) {
2507+ // Match mouseup commit (`x + 3`); stored on globalCache to avoid Immer churn.
2508+ globalCache . colResizeLiveRightPx = x + 3 ;
25032509 const changeSizeLine = container . querySelector (
25042510 '.fortune-change-size-line' ,
25052511 ) ;
@@ -2522,6 +2528,8 @@ export function mouseRender(
25222528 scrollY . scrollTop -
25232529 window . scrollY ;
25242530 if ( y < rect . height + ctx . scrollTop - 20 ) {
2531+ // Match mouseup commit (`y + 3`); stored on globalCache to avoid Immer churn.
2532+ globalCache . rowResizeLiveBottomPx = y + 3 ;
25252533 const changeSizeLine = container . querySelector (
25262534 '.fortune-change-size-line' ,
25272535 ) ;
@@ -4200,6 +4208,7 @@ export function handleOverlayMouseUp(
42004208
42014209 // 改变行高
42024210 if ( ctx . luckysheet_rows_change_size ) {
4211+ delete globalCache . rowResizeLiveBottomPx ;
42034212 ctx . luckysheet_rows_change_size = false ;
42044213
42054214 // $("#fortune-change-size-line").hide();
@@ -4286,6 +4295,11 @@ export function handleOverlayMouseUp(
42864295 if ( idx == null ) return ;
42874296 ctx . luckysheetfile [ idx ] . config = ctx . config ;
42884297
4298+ const flowdataAfterRowResize = getFlowdata ( ctx ) ;
4299+ if ( flowdataAfterRowResize ) {
4300+ updateContextWithSheetData ( ctx , flowdataAfterRowResize ) ;
4301+ }
4302+
42894303 // server.saveParam("cg", ctx.currentSheetId, cfg.rowlen, {
42904304 // k: "rowlen",
42914305 // });
@@ -4301,6 +4315,7 @@ export function handleOverlayMouseUp(
43014315
43024316 // 改变列宽
43034317 if ( ctx . luckysheet_cols_change_size ) {
4318+ delete globalCache . colResizeLiveRightPx ;
43044319 ctx . luckysheet_cols_change_size = false ;
43054320
43064321 const { scrollLeft } = ctx ;
@@ -4390,6 +4405,11 @@ export function handleOverlayMouseUp(
43904405 if ( idx == null ) return ;
43914406 ctx . luckysheetfile [ idx ] . config = ctx . config ;
43924407
4408+ const flowdataAfterColResize = getFlowdata ( ctx ) ;
4409+ if ( flowdataAfterColResize ) {
4410+ updateContextWithSheetData ( ctx , flowdataAfterColResize ) ;
4411+ }
4412+
43934413 // server.saveParam("cg", ctx.currentSheetId, cfg.columnlen, {
43944414 // k: "columnlen",
43954415 // });
@@ -5423,7 +5443,7 @@ export function handleColSizeHandleMouseDown(
54235443 cancelActiveImgItem ( ctx , globalCache ) ;
54245444 // }
54255445
5426- ctx . luckysheetCellUpdate = [ ] ;
5446+ // Keep in-cell edit open while resizing (do not clear luckysheetCellUpdate).
54275447
54285448 // let mouse = mouseposition(event.pageX, event.pageY);
54295449 const { scrollLeft } = ctx ;
@@ -5439,8 +5459,10 @@ export function handleColSizeHandleMouseDown(
54395459 const col = col_location [ 1 ] ;
54405460 const col_index = col_location [ 2 ] ;
54415461
5462+ delete globalCache . colResizeLiveRightPx ;
54425463 ctx . luckysheet_cols_change_size = true ;
54435464 ctx . luckysheet_scroll_status = true ;
5465+ globalCache . colResizeLiveRightPx = col ;
54445466 const changeSizeLine = workbookContainer . querySelector (
54455467 '.fortune-change-size-line' ,
54465468 ) ;
@@ -5556,7 +5578,7 @@ export function handleRowSizeHandleMouseDown(
55565578 israngeseleciton ( ctx )
55575579 )
55585580 return ;
5559- ctx . luckysheetCellUpdate = [ ] ;
5581+ // Keep in-cell edit open while resizing (do not clear luckysheetCellUpdate).
55605582
55615583 // let mouse = mouseposition(event.pageX, event.pageY);
55625584 const { scrollLeft } = ctx ;
@@ -5572,8 +5594,10 @@ export function handleRowSizeHandleMouseDown(
55725594 const row = row_location [ 1 ] ;
55735595 const row_index = row_location [ 2 ] ;
55745596
5597+ delete globalCache . rowResizeLiveBottomPx ;
55755598 ctx . luckysheet_rows_change_size = true ;
55765599 ctx . luckysheet_scroll_status = true ;
5600+ globalCache . rowResizeLiveBottomPx = row ;
55775601 const changeSizeLine = workbookContainer . querySelector (
55785602 '.fortune-change-size-line' ,
55795603 ) ;
0 commit comments