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[],
modelList: SVModel[],
accumulateLeakModels: SVModel[],
isEnterFunction: boolean
isDiffLeak: boolean
): DiffResult {
const continuousModels: SVModel[] = this.getContinuousModels(prevModelList, modelList);
const leakModels: SVModel[] = isEnterFunction
const leakModels: SVModel[] = isDiffLeak
? []
: this.getLeakModels(layoutGroupTable, prevModelList, modelList);
const appendModels: SVModel[] = this.getAppendModels(prevModelList, modelList, accumulateLeakModels);

View File

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

View File

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