You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2017/06/01 19:32:13 UTC
git commit: [flex-asjs] [refs/heads/release0.8.0] - Intermediate
changes for Accordion.
Repository: flex-asjs
Updated Branches:
refs/heads/release0.8.0 7a030dbc1 -> d6cb59b17
Intermediate changes for Accordion.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/d6cb59b1
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/d6cb59b1
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/d6cb59b1
Branch: refs/heads/release0.8.0
Commit: d6cb59b1769902d5e5bb61ce9d09680b79b21a68
Parents: 7a030db
Author: Peter Ent <pe...@apache.org>
Authored: Thu Jun 1 15:32:11 2017 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Thu Jun 1 15:32:11 2017 -0400
----------------------------------------------------------------------
.../flex/html/beads/AccordionCollapseBead.as | 5 +-
.../html/beads/AccordionItemRendererView.as | 6 +-
.../org/apache/flex/html/beads/AccordionView.as | 62 ++++++++++++++------
.../layouts/OneFlexibleChildHorizontalLayout.as | 4 ++
...eFlexibleChildHorizontalLayoutForOverflow.as | 4 ++
.../layouts/OneFlexibleChildVerticalLayout.as | 4 ++
...OneFlexibleChildVerticalLayoutForOverflow.as | 4 ++
.../Basic/src/main/resources/defaults.css | 2 +-
8 files changed, 67 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
index 2dde93f..163c276 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
@@ -22,6 +22,7 @@ package org.apache.flex.html.beads
import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
+ import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.html.Accordion;
import org.apache.flex.html.beads.layouts.IOneFlexibleChildLayout;
import org.apache.flex.html.supportClasses.ICollapsible;
@@ -74,8 +75,8 @@ package org.apache.flex.html.beads
lastElement.collapse();
}
lastSelectedIndex = host.selectedIndex;
- layout.flexibleChild = newChild.id;
- layout.layout();
+ layout.flexibleChild = String(host.selectedIndex);
+ IEventDispatcher(_strand).dispatchEvent(new Event("layoutNeeded"));
}
protected function get layout():IOneFlexibleChildLayout
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
index 85e2b79..9c59377 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
@@ -19,6 +19,7 @@
package org.apache.flex.html.beads
{
import org.apache.flex.events.Event;
+ import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.html.supportClasses.ICollapsible;
/**
@@ -53,12 +54,13 @@ package org.apache.flex.html.beads
var collapsibleStrand:ICollapsible = _strand as ICollapsible;
if (!collapsibleStrand.collapsed)
{
- super.performLayout(event);
+ IEventDispatcher(_strand).dispatchEvent(new Event("layoutNeeded"));
+// super.performLayout(event);
} else // skip layout for viewport children
{
COMPILE::SWF {
// no longer needed layoutViewBeforeContentLayout();
- afterLayout();
+ //afterLayout();
}
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
index 947da98..141c97d 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
@@ -21,26 +21,62 @@ package org.apache.flex.html.beads
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStyleableObject;
import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.core.IDocument;
+ import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.html.beads.layouts.IOneFlexibleChildLayout;
import org.apache.flex.html.supportClasses.ICollapsible;
import org.apache.flex.utils.StrandUtils;
+ /**
+ * The AccordionView sets up the components for the Accordion component.
+ *
+ * @toplevel
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
public class AccordionView extends ListView
{
- private var _layout:IOneFlexibleChildLayout;
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
public function AccordionView()
{
super();
}
+ private var _layout:IOneFlexibleChildLayout;
+ private function get elements():Array
+ {
+ var host:UIBase = _strand as UIBase;
+ var e:Array = [];
+ for (var i:int = 0; i < host.numElements; i++) {
+ e.push(host.getElementAt(i));
+ }
+ return e;
+ }
+
+ /**
+ * @private
+ */
override protected function selectionChangeHandler(event:Event):void
{
super.selectionChangeHandler(event);
- var renderer:IStyleableObject = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as IStyleableObject;
- layout.flexibleChild = renderer.id;
+ var model:ISelectionModel = StrandUtils.loadBead(ISelectionModel, "iBeadModel", host) as ISelectionModel;
+ layout.flexibleChild = String(model.selectedIndex);
}
+ /**
+ * @private
+ */
public function get layout():IOneFlexibleChildLayout
{
if (!_layout)
@@ -55,28 +91,16 @@ package org.apache.flex.html.beads
if (_layout)
{
_strand.addBead(_layout);
+ IDocument(_layout).setDocument(elements);
}
}
return _layout;
}
- override protected function performLayout(event:Event):void
- {
- if (layout)
- {
- if (!layout.flexibleChild)
- {
- var model:ISelectionModel = StrandUtils.loadBead(ISelectionModel, "iBeadModel", host) as ISelectionModel;
- if (model.selectedIndex > -1)
- {
- layout.flexibleChild = (dataGroup.getItemRendererForIndex(model.selectedIndex) as IStyleableObject).id;
- }
- }
- super.performLayout(event);
- }
- }
-
COMPILE::SWF
+ /**
+ * @private
+ */
override protected function itemsCreatedHandler(event:Event):void
{
var n:int = dataGroup.numElements;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
index 24a1782..2f81699 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
@@ -146,6 +146,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::JS
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document[flexibleChild];
@@ -173,6 +175,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::SWF
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayoutForOverflow.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayoutForOverflow.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayoutForOverflow.as
index f75c08f..2129045 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayoutForOverflow.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayoutForOverflow.as
@@ -119,6 +119,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::JS
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document[flexibleChild];
@@ -146,6 +148,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::SWF
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
index 7f4b462..53617fb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
@@ -147,6 +147,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::JS
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document[flexibleChild];
@@ -174,6 +176,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::SWF
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayoutForOverflow.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayoutForOverflow.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayoutForOverflow.as
index da59ec8..4aabc7d 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayoutForOverflow.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayoutForOverflow.as
@@ -121,6 +121,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::JS
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document[flexibleChild];
@@ -148,6 +150,8 @@ package org.apache.flex.html.beads.layouts
COMPILE::SWF
override public function layout():Boolean
{
+ if (flexibleChild == null) return false;
+
var contentView:ILayoutView = layoutView;
actualChild = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d6cb59b1/frameworks/projects/Basic/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/resources/defaults.css b/frameworks/projects/Basic/src/main/resources/defaults.css
index e38763c..7e839d1 100644
--- a/frameworks/projects/Basic/src/main/resources/defaults.css
+++ b/frameworks/projects/Basic/src/main/resources/defaults.css
@@ -365,7 +365,7 @@ Accordion
IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
IBeadView: ClassReference("org.apache.flex.html.beads.AccordionView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayoutForOverflow");
IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.AccordionItemRenderer");