You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ha...@apache.org on 2017/08/06 21:12:16 UTC
git commit: [flex-asjs] [refs/heads/feature/visible-layout] - Only
layout if visible LayoutOnShow bead must be used to trigger layout when
visible is set to true. LayoutOnShow added to Express Container
Repository: flex-asjs
Updated Branches:
refs/heads/feature/visible-layout [created] a9e7458c5
Only layout if visible
LayoutOnShow bead must be used to trigger layout when visible is set to true.
LayoutOnShow added to Express Container
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/a9e7458c
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/a9e7458c
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/a9e7458c
Branch: refs/heads/feature/visible-layout
Commit: a9e7458c505fdd1731068b3888a649035934c171
Parents: bc50901
Author: Harbs <ha...@in-tools.com>
Authored: Mon Aug 7 00:12:12 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Aug 7 00:12:12 2017 +0300
----------------------------------------------------------------------
.../src/main/flex/org/apache/flex/core/LayoutBase.as | 2 ++
.../flex/org/apache/flex/html/beads/ScrollBarView.as | 3 ++-
.../apache/flex/html/beads/layouts/DataGridLayout.as | 10 +++++++++-
.../flex/html/beads/layouts/DataGridPercentageLayout.as | 12 ++++++++++--
.../src/main/flex/org/apache/flex/express/Container.as | 9 +++++----
5 files changed, 28 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a9e7458c/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
index 7bc5ab0..6c4f2f2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
@@ -316,6 +316,8 @@ package org.apache.flex.core
*/
public function performLayout():void
{
+ if(!host.visible)
+ return;
// avoid running this layout instance recursively.
if (isLayoutRunning) return;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a9e7458c/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
index 41ef624..e290ba7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
@@ -116,7 +116,8 @@ package org.apache.flex.html.beads
sbModel.addEventListener("stepSizeChange", changeHandler);
sbModel.addEventListener("pageSizeChange", changeHandler);
sbModel.addEventListener("valueChange", changeHandler);
-
+ (value as IEventDispatcher).addEventListener("show", changeHandler);
+
if( _strand.getBeadByType(IBeadLayout) == null ) {
layout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
_strand.addBead(layout);
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a9e7458c/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
index fe4ccab..e3c4624 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
@@ -67,6 +67,7 @@ package org.apache.flex.html.beads.layouts
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
*/
public function set strand(value:IStrand):void
{
@@ -105,9 +106,12 @@ package org.apache.flex.html.beads.layouts
{
return _header;
}
+ /**
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
+ */
public function set header(value:IUIBase):void
{
- _header = UIBase(value);
+ _header = (value as UIBase);
}
private var _columns:Array;
@@ -142,6 +146,7 @@ package org.apache.flex.html.beads.layouts
/**
* @copy org.apache.flex.core.IBeadLayout#layout
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
*/
public function layout():Boolean
{
@@ -202,9 +207,12 @@ package org.apache.flex.html.beads.layouts
/**
* @private
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
*/
private function handleSizeChanges(event:Event):void
{
+ if(!(_strand as UIBase).visible)
+ return;
var view:DataGridView = UIBase(_strand).view as DataGridView;
if (view == null) return;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a9e7458c/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridPercentageLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridPercentageLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridPercentageLayout.as
index 7459a24..a8195d5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridPercentageLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridPercentageLayout.as
@@ -66,6 +66,7 @@ package org.apache.flex.html.beads.layouts
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
*/
public function set strand(value:IStrand):void
{
@@ -104,9 +105,12 @@ package org.apache.flex.html.beads.layouts
{
return _header;
}
+ /**
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
+ */
public function set header(value:IUIBase):void
{
- _header = UIBase(value);
+ _header = value as UIBase;
}
private var _columns:Array;
@@ -141,6 +145,7 @@ package org.apache.flex.html.beads.layouts
/**
* @copy org.apache.flex.core.IBeadLayout#layout
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
*/
public function layout():Boolean
{
@@ -210,10 +215,13 @@ package org.apache.flex.html.beads.layouts
/**
* @private
+ * @flexjsignorecoercion org.apache.flex.core.UIBase
*/
private function handleSizeChanges(event:Event):void
{
- var view:DataGridView = UIBase(_strand).view as DataGridView;
+ if(!(_strand as UIBase).visible)
+ return;
+ var view:DataGridView = (_strand as UIBase).view as DataGridView;
if (view == null) return;
columns = view.columnLists;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a9e7458c/frameworks/projects/Express/src/main/flex/org/apache/flex/express/Container.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Express/src/main/flex/org/apache/flex/express/Container.as b/frameworks/projects/Express/src/main/flex/org/apache/flex/express/Container.as
index 27e2b08..5316c8c 100644
--- a/frameworks/projects/Express/src/main/flex/org/apache/flex/express/Container.as
+++ b/frameworks/projects/Express/src/main/flex/org/apache/flex/express/Container.as
@@ -19,15 +19,15 @@
package org.apache.flex.express
{
import org.apache.flex.binding.ContainerDataBinding;
- import org.apache.flex.html.Container;
- import org.apache.flex.html.supportClasses.ScrollingViewport;
-
import org.apache.flex.core.BindableCSSStyles;
import org.apache.flex.core.StyleChangeNotifier;
+ import org.apache.flex.html.Container;
+ import org.apache.flex.html.beads.layouts.LayoutOnShow;
+ import org.apache.flex.html.supportClasses.ScrollingViewport;
COMPILE::SWF {
- import org.apache.flex.html.beads.SolidBackgroundWithChangeListenerBead;
import org.apache.flex.html.beads.SingleLineBorderWithChangeListenerBead;
+ import org.apache.flex.html.beads.SolidBackgroundWithChangeListenerBead;
}
/**
@@ -48,6 +48,7 @@ package org.apache.flex.express
addBead(new ContainerDataBinding());
addBead(new ScrollingViewport());
addBead(new StyleChangeNotifier());
+ addBead(new LayoutOnShow());
COMPILE::SWF {
addBead(new SolidBackgroundWithChangeListenerBead());