v-if false handler

Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/43caaf36
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/43caaf36
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/43caaf36

Branch: refs/heads/0.16-dev
Commit: 43caaf36cf2ea07ae82b4a17ec98871263f50c7d
Parents: af99ed7
Author: jianbai.gbj <jianbai....@alibaba-inc.com>
Authored: Tue Sep 12 15:28:31 2017 +0800
Committer: jianbai.gbj <jianbai....@alibaba-inc.com>
Committed: Tue Sep 12 15:28:31 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/common/Constants.java  |  2 ++
 .../com/taobao/weex/ui/component/WXComponent.java    | 15 +++++++++++----
 .../list/template/WXRecyclerTemplateList.java        | 10 +++++-----
 .../view/listview/ExtendedLinearLayoutManager.java   |  2 +-
 .../src/test/java/com/taobao/weex/el/ParserTest.java |  2 ++
 5 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java 
b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
index ed40338..0cc5bf4 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
@@ -189,6 +189,8 @@ public class Constants {
     String LIST_DATA_ITEM_ID = "itemId";
     String CELL_INDEX = "cellIndex";
     String TYPE_INDEX = "typeIndex";
+
+    String KEEP_POSITION = "keepPosition";
   }
 
   public interface Value {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index dad2c1d..03adfd2 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -1663,10 +1663,17 @@ public abstract class  WXComponent<T extends View> 
implements IWXObject, IWXActi
       this.waste = waste;
       WXDomObject domObject = (WXDomObject) getDomObject();
       if(waste){
-        domObject.setVisible(false);
-        if(getHostView() != null){
-          getHostView().setVisibility(View.GONE);
-        }
+          
if(WXUtils.getBoolean(domObject.getAttrs().get(Constants.Name.KEEP_POSITION), 
false)){
+            domObject.setVisible(true);
+            if(getHostView() != null){
+               getHostView().setVisibility(View.INVISIBLE);
+            }
+          }else{
+            domObject.setVisible(false);
+            if(getHostView() != null){
+              getHostView().setVisibility(View.GONE);
+            }
+          }
       }else{
         domObject.setVisible(true);
         if(getHostView() != null){

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
index 8895080..e8a9179 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
@@ -1078,11 +1078,11 @@ public class WXRecyclerTemplateList extends 
WXVContainer<BounceRecyclerView> imp
         templateViewHolder.setHolderPosition(position);
         Statements.doRender(component, getStackContextForPosition(position));
         if(WXEnvironment.isApkDebugable()){
-            WXLogUtils.d(TAG, position + " onBindViewHolder render used " + 
(System.currentTimeMillis() - start));
+            WXLogUtils.d(TAG, position + getTemplateKey(position) + " 
onBindViewHolder render used " + (System.currentTimeMillis() - start));
         }
         Layouts.doLayout(component, templateViewHolder.getLayoutContext());
         if(WXEnvironment.isApkDebugable()){
-            WXLogUtils.d(TAG, position + " onBindViewHolder render used " + 
(System.currentTimeMillis() - start));
+            WXLogUtils.d(TAG,  position + getTemplateKey(position) + " 
onBindViewHolder render used " + (System.currentTimeMillis() - start));
         }
     }
 
@@ -1102,15 +1102,15 @@ public class WXRecyclerTemplateList extends 
WXVContainer<BounceRecyclerView> imp
         component.lazy(false);
         component.createView();
         if(WXEnvironment.isApkDebugable()){
-            WXLogUtils.e(TAG, template + " onCreateViewHolder view used " + 
(System.currentTimeMillis() - start));
+            WXLogUtils.d(TAG, template + " onCreateViewHolder view used " + 
(System.currentTimeMillis() - start));
         }
         component.applyLayoutAndEvent(component);
         if(WXEnvironment.isApkDebugable()) {
-            WXLogUtils.e(TAG, template +  " onCreateViewHolder layout used " + 
(System.currentTimeMillis() - start));
+            WXLogUtils.d(TAG, template +  " onCreateViewHolder layout used " + 
(System.currentTimeMillis() - start));
         }
         component.bindData(component);
         if(WXEnvironment.isApkDebugable()) {
-            WXLogUtils.e(TAG, template + " onCreateViewHolder bindData used " 
+ (System.currentTimeMillis() - start));
+            WXLogUtils.d(TAG, template + " onCreateViewHolder bindData used " 
+ (System.currentTimeMillis() - start));
         }
         TemplateViewHolder templateViewHolder = new 
TemplateViewHolder(component, viewType);
         return  templateViewHolder;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/ExtendedLinearLayoutManager.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/ExtendedLinearLayoutManager.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/ExtendedLinearLayoutManager.java
index 07a8164..bdb5f91 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/ExtendedLinearLayoutManager.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/view/listview/ExtendedLinearLayoutManager.java
@@ -110,6 +110,6 @@ public class ExtendedLinearLayoutManager extends 
LinearLayoutManager{
     }
 
     public interface OnSmoothScrollEndListener {
-        public void  onStop();
+        void  onStop();
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java 
b/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java
index f093b6a..623e28b 100644
--- a/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java
@@ -141,6 +141,8 @@ public class ParserTest extends TestCase {
         show(null);
 
         show("()++++");
+
+        show("item");
     }
 
 

Reply via email to