Merge branch 'hotfix/cjc' into 'main'

Hotfix/cjc

See merge request phenomLi/StructV2!19
This commit is contained in:
chen jiancheng 2022-04-14 02:18:33 +00:00
commit 9256c9100c
3 changed files with 10 additions and 6 deletions

View File

@ -392,10 +392,10 @@ export class Reconcile {
prevModelList: SVModel[], prevModelList: SVModel[],
modelList: SVModel[], modelList: SVModel[],
accumulateLeakModels: SVModel[], accumulateLeakModels: SVModel[],
isEnterFunction: boolean isDiffLeak: boolean
): DiffResult { ): DiffResult {
const continuousModels: SVModel[] = this.getContinuousModels(prevModelList, modelList); const continuousModels: SVModel[] = this.getContinuousModels(prevModelList, modelList);
const leakModels: SVModel[] = isEnterFunction const leakModels: SVModel[] = isDiffLeak
? [] ? []
: this.getLeakModels(layoutGroupTable, prevModelList, modelList); : this.getLeakModels(layoutGroupTable, prevModelList, modelList);
const appendModels: SVModel[] = this.getAppendModels(prevModelList, modelList, accumulateLeakModels); const appendModels: SVModel[] = this.getAppendModels(prevModelList, modelList, accumulateLeakModels);

View File

@ -174,7 +174,7 @@ export class ViewContainer {
* @param models * @param models
* @param layoutFn * @param layoutFn
*/ */
render(layoutGroupTable: LayoutGroupTable, isSameSources: boolean, handleUpdate: handleUpdate) { render(layoutGroupTable: LayoutGroupTable, isSameSources: boolean, handleUpdate: handleUpdate,hasTriggerLastStep: boolean) {
const modelList = Util.convertGroupTable2ModelList(layoutGroupTable); const modelList = Util.convertGroupTable2ModelList(layoutGroupTable);
this.restoreHighlight([...modelList, ...this.accumulateLeakModels]); this.restoreHighlight([...modelList, ...this.accumulateLeakModels]);
@ -184,12 +184,16 @@ export class ViewContainer {
return; return;
} }
// 判断是否需要进行泄漏区的比较
let isDiffLeak = handleUpdate.isEnterFunction || hasTriggerLastStep;
const diffResult = this.reconcile.diff( const diffResult = this.reconcile.diff(
this.layoutGroupTable, this.layoutGroupTable,
this.prevModelList, this.prevModelList,
modelList, modelList,
this.accumulateLeakModels, this.accumulateLeakModels,
handleUpdate?.isEnterFunction // handleUpdate?.isEnterFunction
isDiffLeak
), ),
renderModelList = [...modelList, ...diffResult.REMOVE, ...diffResult.LEAKED, ...this.accumulateLeakModels]; renderModelList = [...modelList, ...diffResult.REMOVE, ...diffResult.LEAKED, ...this.accumulateLeakModels];

View File

@ -52,7 +52,7 @@ export class Engine {
* @param sources * @param sources
* @param prevStep * @param prevStep
*/ */
public render(source: Sources) { public render(source: Sources, hasTriggerLastStep: boolean) {
let isSameSources: boolean = false, let isSameSources: boolean = false,
layoutGroupTable: LayoutGroupTable; layoutGroupTable: LayoutGroupTable;
@ -80,7 +80,7 @@ export class Engine {
} }
// 2 渲染使用g6进行渲染 // 2 渲染使用g6进行渲染
this.viewContainer.render(layoutGroupTable, isSameSources, handleUpdate); this.viewContainer.render(layoutGroupTable, isSameSources, handleUpdate, hasTriggerLastStep);
} }