Browse Source

move viewSkeletonRender/viewSkeletonDestroy

Adam Shaw 7 năm trước cách đây
mục cha
commit
f8137dfe04
2 tập tin đã thay đổi với 24 bổ sung12 xóa
  1. 23 0
      src/Calendar.ts
  2. 1 12
      src/View.ts

+ 23 - 0
src/Calendar.ts

@@ -94,6 +94,7 @@ export default class Calendar {
   buildDelayedRerender: any
   buildDelayedRerender: any
   delayedRerender: any
   delayedRerender: any
   afterSizingTriggers: any = {}
   afterSizingTriggers: any = {}
+  isViewNew: boolean = false
 
 
   el: HTMLElement
   el: HTMLElement
   component: CalendarComponent
   component: CalendarComponent
@@ -286,6 +287,18 @@ export default class Calendar {
         this.publiclyTrigger('loading', [ false ])
         this.publiclyTrigger('loading', [ false ])
       }
       }
 
 
+      if (oldState.viewType !== newState.viewType) {
+        if (oldState.viewType) {
+          this.publiclyTrigger('viewSkeletonDestroy', [
+            {
+              view: this.component.view,
+              el: this.component.view.el
+            }
+          ])
+        }
+        this.isViewNew = true
+      }
+
       this.requestRerender()
       this.requestRerender()
     }
     }
   }
   }
@@ -406,6 +419,16 @@ export default class Calendar {
       component.view.applyScroll(savedScroll)
       component.view.applyScroll(savedScroll)
     }
     }
 
 
+    if (this.isViewNew) {
+      this.isViewNew = false
+      this.publiclyTriggerAfterSizing('viewSkeletonRender', [
+        {
+          view: component.view,
+          el: component.view.el
+        }
+      ])
+    }
+
     this.releaseAfterSizingTriggers()
     this.releaseAfterSizingTriggers()
   }
   }
 
 

+ 1 - 12
src/View.ts

@@ -165,6 +165,7 @@ export default abstract class View extends DateComponent<ViewProps> {
   // -----------------------------------------------------------------------------------------------------------------
   // -----------------------------------------------------------------------------------------------------------------
 
 
 
 
+  // TODO: kill
   updateSize(viewHeight: number, isAuto: boolean, isResize: boolean) {
   updateSize(viewHeight: number, isAuto: boolean, isResize: boolean) {
     let map = this.dirtySizeMethodNames
     let map = this.dirtySizeMethodNames
 
 
@@ -221,22 +222,10 @@ export default abstract class View extends DateComponent<ViewProps> {
 
 
 
 
   afterSkeletonRender() {
   afterSkeletonRender() {
-    this.publiclyTriggerAfterSizing('viewSkeletonRender', [
-      {
-        view: this,
-        el: this.el
-      }
-    ])
   }
   }
 
 
 
 
   beforeSkeletonUnrender() {
   beforeSkeletonUnrender() {
-    this.publiclyTrigger('viewSkeletonDestroy', [
-      {
-        view: this,
-        el: this.el
-      }
-    ])
   }
   }