Yeah! :) 2017-01-13 20:43 GMT+01:00 Piotr Zarzycki <piotrzarzyck...@gmail.com>:
> Love this commit :) > > On Fri, Jan 13, 2017, 20:34 <carlosrov...@apache.org> wrote: > > > Repository: flex-asjs > > Updated Branches: > > refs/heads/develop 2e52060f3 -> b0b41aefe > > > > > > MDL Table component and example initial implementation > > > > > > Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo > > Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/b0b41aef > > Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/b0b41aef > > Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/b0b41aef > > > > Branch: refs/heads/develop > > Commit: b0b41aefe2a419d310c010299430ba56bf87d974 > > Parents: 2e52060 > > Author: Carlos Rovira <carlosrov...@apache.org> > > Authored: Fri Jan 13 20:34:17 2017 +0100 > > Committer: Carlos Rovira <carlosrov...@apache.org> > > Committed: Fri Jan 13 20:34:17 2017 +0100 > > > > ---------------------------------------------------------------------- > > .../src/main/flex/MainNavigation.mxml | 1 + > > .../flexjs/MDLExample/src/main/flex/Tables.mxml | 41 ++++++ > > .../src/main/flex/models/MainNavigationModel.as | 1 + > > .../src/main/flex/models/TablesModel.as | 41 ++++++ > > .../MDLExample/src/main/flex/vos/MaterialVO.as | 35 +++++ > > .../main/flex/org/apache/flex/mdl/Navigation.as | 2 +- > > .../src/main/flex/org/apache/flex/mdl/Table.as | 30 ++-- > > .../flex/mdl/itemRenderers/TableItemRenderer.as | 145 > +++++++++++++++++++ > > .../src/main/resources/defaults.css | 10 ++ > > .../src/main/resources/mdl-manifest.xml | 2 + > > 10 files changed, 293 insertions(+), 15 deletions(-) > > ---------------------------------------------------------------------- > > > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/examples/flexjs/MDLExample/src/main/flex/MainNavigation.mxml > > ---------------------------------------------------------------------- > > diff --git a/examples/flexjs/MDLExample/src/main/flex/MainNavigation. > mxml > > b/examples/flexjs/MDLExample/src/main/flex/MainNavigation.mxml > > index f056f18..a2414b8 100644 > > --- a/examples/flexjs/MDLExample/src/main/flex/MainNavigation.mxml > > +++ b/examples/flexjs/MDLExample/src/main/flex/MainNavigation.mxml > > @@ -74,6 +74,7 @@ limitations under the License. > > <local:Toggles id="toggles_panel"/> > > <local:Snackbar id="snackbar_panel"/> > > <local:Lists id="lists_panel"/> > > + <local:Tables id="tables_panel"/> > > <local:Loading id="loading_panel"/> > > <local:Menus id="menus_panel"/> > > <local:Badges id="badges_panel"/> > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/examples/flexjs/MDLExample/src/main/flex/Tables.mxml > > ---------------------------------------------------------------------- > > diff --git a/examples/flexjs/MDLExample/src/main/flex/Tables.mxml > > b/examples/flexjs/MDLExample/src/main/flex/Tables.mxml > > new file mode 100644 > > index 0000000..a5591d7 > > --- /dev/null > > +++ b/examples/flexjs/MDLExample/src/main/flex/Tables.mxml > > @@ -0,0 +1,41 @@ > > +<?xml version="1.0" encoding="utf-8"?> > > +<!-- > > + > > +Licensed to the Apache Software Foundation (ASF) under one or more > > +contributor license agreements. See the NOTICE file distributed with > > +this work for additional information regarding copyright ownership. > > +The ASF licenses this file to You under the Apache License, Version 2.0 > > +(the "License"); you may not use this file except in compliance with > > +the License. You may obtain a copy of the License at > > + > > +http://www.apache.org/licenses/LICENSE-2.0 > > + > > +Unless required by applicable law or agreed to in writing, software > > +distributed under the License is distributed on an "AS IS" BASIS, > > +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > > +See the License for the specific language governing permissions and > > +limitations under the License. > > + > > +--> > > +<mdl:TabBarPanel xmlns:fx="http://ns.adobe.com/mxml/2009" > > + xmlns:js="library://ns.apache.org/flexjs/basic" > > + xmlns:mdl="library://ns.apache.org/flexjs/mdl" > > + xmlns="http://www.w3.org/1999/xhtml" > > + xmlns:models="models.*"> > > + > > + <mdl:model> > > + <models:TablesModel/> > > + </mdl:model> > > + > > + <mdl:Grid> > > + <mdl:Table labelField="materialName" shadow="2"> > > + <mdl:beads> > > + <js:ConstantBinding > > + sourceID="model" > > + sourcePropertyName="materials" > > + destinationPropertyName="dataProvider" /> > > + </mdl:beads> > > + </mdl:Table> > > + </mdl:Grid> > > + > > +</mdl:TabBarPanel> > > \ No newline at end of file > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/examples/flexjs/MDLExample/src/main/flex/ > models/MainNavigationModel.as > > ---------------------------------------------------------------------- > > diff --git > > a/examples/flexjs/MDLExample/src/main/flex/models/MainNavigationModel.as > > b/examples/flexjs/MDLExample/src/main/flex/models/MainNavigationModel.as > > index 5330ae4..12fbbf3 100644 > > --- > > a/examples/flexjs/MDLExample/src/main/flex/models/MainNavigationModel.as > > +++ > > b/examples/flexjs/MDLExample/src/main/flex/models/MainNavigationModel.as > > @@ -63,6 +63,7 @@ package models > > new NavigationLinkVO("Snackbar", "snackbar_panel"), > > new NavigationLinkVO("Toggles", "toggles_panel"), > > new NavigationLinkVO("Lists", "lists_panel"), > > + new NavigationLinkVO("Tables", "tables_panel"), > > new NavigationLinkVO("Loading", "loading_panel"), > > new NavigationLinkVO("Menu", "menus_panel"), > > new NavigationLinkVO("Badges", "badges_panel"), > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/examples/flexjs/MDLExample/src/main/flex/models/TablesModel.as > > ---------------------------------------------------------------------- > > diff --git > > a/examples/flexjs/MDLExample/src/main/flex/models/TablesModel.as > > b/examples/flexjs/MDLExample/src/main/flex/models/TablesModel.as > > new file mode 100644 > > index 0000000..19e355e > > --- /dev/null > > +++ b/examples/flexjs/MDLExample/src/main/flex/models/TablesModel.as > > @@ -0,0 +1,41 @@ > > > > +/////////////////////////////////////////////////////////// > ///////////////////// > > +// > > +// Licensed to the Apache Software Foundation (ASF) under one or more > > +// contributor license agreements. See the NOTICE file distributed > with > > +// this work for additional information regarding copyright ownership. > > +// The ASF licenses this file to You under the Apache License, Version > > 2.0 > > +// (the "License"); you may not use this file except in compliance with > > +// the License. You may obtain a copy of the License at > > +// > > +// http://www.apache.org/licenses/LICENSE-2.0 > > +// > > +// Unless required by applicable law or agreed to in writing, software > > +// distributed under the License is distributed on an "AS IS" BASIS, > > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > > implied. > > +// See the License for the specific language governing permissions and > > +// limitations under the License. > > +// > > > > +/////////////////////////////////////////////////////////// > ///////////////////// > > +package models > > +{ > > + import org.apache.flex.events.EventDispatcher; > > + import vos.*; > > + > > + public class TablesModel extends EventDispatcher > > + { > > + /** > > + * Used in the Tables example. > > + */ > > + private var _materials:Array = [ > > + new MaterialVO("Acrylic (Transparent)", "25", > > "$2.90"), > > + new MaterialVO("Plywood (Birch)", "50", "$1.25"), > > + new MaterialVO("Laminate (Gold on Blue)", "10", > > "$2.35") > > + ]; > > + > > + public function get materials():Array > > + { > > + return _materials; > > + } > > + > > + } > > +} > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/examples/flexjs/MDLExample/src/main/flex/vos/MaterialVO.as > > ---------------------------------------------------------------------- > > diff --git a/examples/flexjs/MDLExample/src/main/flex/vos/MaterialVO.as > > b/examples/flexjs/MDLExample/src/main/flex/vos/MaterialVO.as > > new file mode 100644 > > index 0000000..b7dc69e > > --- /dev/null > > +++ b/examples/flexjs/MDLExample/src/main/flex/vos/MaterialVO.as > > @@ -0,0 +1,35 @@ > > > > +/////////////////////////////////////////////////////////// > ///////////////////// > > +// > > +// Licensed to the Apache Software Foundation (ASF) under one or more > > +// contributor license agreements. See the NOTICE file distributed > with > > +// this work for additional information regarding copyright ownership. > > +// The ASF licenses this file to You under the Apache License, Version > > 2.0 > > +// (the "License"); you may not use this file except in compliance with > > +// the License. You may obtain a copy of the License at > > +// > > +// http://www.apache.org/licenses/LICENSE-2.0 > > +// > > +// Unless required by applicable law or agreed to in writing, software > > +// distributed under the License is distributed on an "AS IS" BASIS, > > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > > implied. > > +// See the License for the specific language governing permissions and > > +// limitations under the License. > > +// > > > > +/////////////////////////////////////////////////////////// > ///////////////////// > > +package vos > > +{ > > + [Bindable] > > + public class MaterialVO > > + { > > + public function MaterialVO(materialName:String = null, > > quantity:String = null, unitPrice:String = null) > > + { > > + this.materialName = materialName; > > + this.quantity = quantity; > > + this.unitPrice = unitPrice; > > + } > > + > > + public var materialName:String = ""; > > + public var quantity:String = ""; > > + public var unitPrice:String = ""; > > + } > > +} > > \ No newline at end of file > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Navigation.as > > ---------------------------------------------------------------------- > > diff --git > > a/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Navigation.as > > b/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Navigation.as > > index a638d1e..708983d 100644 > > --- > > a/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Navigation.as > > +++ > > b/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Navigation.as > > @@ -64,7 +64,7 @@ package org.apache.flex.mdl > > positioner = element; > > element.flexjs_wrapper = this; > > > > - return positioner; > > + return element; > > } > > } > > } > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Table.as > > ---------------------------------------------------------------------- > > diff --git > > a/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Table.as > > b/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Table.as > > index 0ac0377..b23b834 100644 > > --- > > a/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Table.as > > +++ > > b/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/Table.as > > @@ -18,7 +18,7 @@ > > > > //////////////////////////////////////////////////////////// > //////////////////// > > package org.apache.flex.mdl > > { > > - import org.apache.flex.core.ContainerBase; > > + import org.apache.flex.mdl.List; > > > > COMPILE::JS > > { > > @@ -41,7 +41,7 @@ package org.apache.flex.mdl > > * @playerversion AIR 2.6 > > * @productversion FlexJS 0.0 > > */ > > - public class Table extends ContainerBase > > + public class Table extends List > > { > > /** > > * constructor. > > @@ -67,14 +67,8 @@ package org.apache.flex.mdl > > typeNames = "mdl-data-table mdl-js-data-table"; > > > > element = document.createElement('table') as > > WrappedHTMLElement; > > - element.className = typeNames; > > > > positioner = element; > > - > > - // absolute positioned children need a non-null > > - // position value in the parent. It might > > - // get set to 'absolute' if the container is > > - // also absolutely positioned > > element.flexjs_wrapper = this; > > > > return element; > > @@ -96,15 +90,20 @@ package org.apache.flex.mdl > > } > > public function set shadow(value:Number):void > > { > > - if(value == 0 || value == 2 || value == 3 || > value > > == 4 || value == 6 || value == 8 || value == 16) > > + COMPILE::JS > > { > > - _shadow = value; > > + element.classList.remove("mdl-shadow--" > + > > _shadow + "dp"); > > + > > + if(value == 2 || value == 3 || value == 4 > > || value == 6 || value == 8 || value == 16) > > + { > > + _shadow = value; > > > > - className += (_shadow != 0 ? " > > mdl-shadow--" + _shadow + "dp" : ""); > > - } > > + > > element.classList.add("mdl-shadow--" + _shadow + "dp"); > > + } > > + } > > } > > > > - protected var _selectable:Boolean; > > + protected var _selectable:Boolean = false; > > /** > > * A boolean flag to activate > > "mdl-data-table--selectable" effect selector. > > * Applies all/individual selectable behavior > (checkboxes) > > @@ -123,7 +122,10 @@ package org.apache.flex.mdl > > { > > _selectable = value; > > > > - > > element.classList.toggle("mdl-data-table--selectable", _selectable); > > + COMPILE::JS > > + { > > + > > element.classList.toggle("mdl-data-table--selectable", _selectable); > > + } > > } > > } > > } > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/itemRenderers/TableItemRenderer.as > > ---------------------------------------------------------------------- > > diff --git > > a/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/itemRenderers/TableItemRenderer.as > > b/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/itemRenderers/TableItemRenderer.as > > new file mode 100644 > > index 0000000..c5ae510 > > --- /dev/null > > +++ > > b/frameworks/projects/MaterialDesignLite/src/main/ > flex/org/apache/flex/mdl/itemRenderers/TableItemRenderer.as > > @@ -0,0 +1,145 @@ > > > > +/////////////////////////////////////////////////////////// > ///////////////////// > > +// > > +// Licensed to the Apache Software Foundation (ASF) under one or more > > +// contributor license agreements. See the NOTICE file distributed > with > > +// this work for additional information regarding copyright ownership. > > +// The ASF licenses this file to You under the Apache License, Version > > 2.0 > > +// (the "License"); you may not use this file except in compliance with > > +// the License. You may obtain a copy of the License at > > +// > > +// http://www.apache.org/licenses/LICENSE-2.0 > > +// > > +// Unless required by applicable law or agreed to in writing, software > > +// distributed under the License is distributed on an "AS IS" BASIS, > > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > > implied. > > +// See the License for the specific language governing permissions and > > +// limitations under the License. > > +// > > > > +/////////////////////////////////////////////////////////// > ///////////////////// > > +package org.apache.flex.mdl.itemRenderers > > +{ > > + COMPILE::JS > > + { > > + import org.apache.flex.core.WrappedHTMLElement; > > + } > > + > > + import org.apache.flex.html.supportClasses.MXMLItemRenderer; > > + > > + /** > > + * The TableItemRenderer defines the basic Item Renderer for a > > MDL Table Component. > > + * > > + * @langversion 3.0 > > + * @playerversion Flash 10.2 > > + * @playerversion AIR 2.6 > > + * @productversion FlexJS 0.0 > > + */ > > + public class TableItemRenderer extends MXMLItemRenderer > > + { > > + /** > > + * constructor. > > + * > > + * @langversion 3.0 > > + * @playerversion Flash 10.2 > > + * @playerversion AIR 2.6 > > + * @productversion FlexJS 0.0 > > + */ > > + public function TableItemRenderer() > > + { > > + super(); > > + > > + className = ""; //set to empty string avoid 'undefined' > > output when no class selector is assigned by user; > > + } > > + > > + private var _text:String = ""; > > + > > + /** > > + * The text of the heading > > + * > > + * @langversion 3.0 > > + * @playerversion Flash 10.2 > > + * @playerversion AIR 2.6 > > + * @productversion FlexJS 0.0 > > + */ > > + public function get text():String > > + { > > + return _text; > > + } > > + > > + public function set text(value:String):void > > + { > > + _text = value; > > + } > > + > > + COMPILE::JS > > + private var textNode:Text; > > + > > + /** > > + * Sets the data value and uses the String version of > the > > data for display. > > + * > > + * @param Object data The object being displayed by the > > itemRenderer instance. > > + * > > + * @langversion 3.0 > > + * @playerversion Flash 10.2 > > + * @playerversion AIR 2.6 > > + * @productversion FlexJS 0.0 > > + */ > > + override public function set data(value:Object):void > > + { > > + super.data = value; > > + > > + var text:String; > > + if (labelField || dataField) { > > + text = String(value[labelField]); > > + } else { > > + text = String(value); > > + } > > + > > + COMPILE::JS > > + { > > + if(textNode != null) > > + { > > + textNode.nodeValue = text; > > + } > > + } > > + } > > + > > + /** > > + * @flexjsignorecoercion org.apache.flex.core. > WrappedHTMLElement > > + */ > > + COMPILE::JS > > + override protected function createElement():WrappedHTMLElement > > + { > > + element = document.createElement('td') as > WrappedHTMLElement; > > + > > + if(MXMLDescriptor == null) > > + { > > + textNode = document.createTextNode('') as > > Text; > > + element.appendChild(textNode); > > + } > > + > > + positioner = element; > > + element.flexjs_wrapper = this; > > + > > + return element; > > + } > > + > > + private var _nonNumeric:Boolean; > > + /** > > + * Activate "mdl-data-table__cell--non-numeric" class selector, > > for use in table td item. > > + * Optional > > + */ > > + public function get nonNumeric():Boolean > > + { > > + return _nonNumeric; > > + } > > + public function set nonNumeric(value:Boolean):void > > + { > > + _nonNumeric = value; > > + > > + COMPILE::JS > > + { > > + > > element.classList.toggle("mdl-data-table__cell--non-numeric", > _nonNumeric); > > + } > > + } > > + } > > +} > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/frameworks/projects/MaterialDesignLite/src/main/ > resources/defaults.css > > ---------------------------------------------------------------------- > > diff --git > > a/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css > > b/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css > > index 9f2dbd6..566875e 100644 > > --- > > a/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css > > +++ > > b/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css > > @@ -56,6 +56,16 @@ List > > IItemRenderer: > > ClassReference("org.apache.flex.mdl.itemRenderers.ListItemRenderer"); > > } > > > > +Table > > +{ > > + IBeadView: ClassReference("org.apache. > flex.mdl.beads.views.ListView"); > > + IBeadModel: > > ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel"); > > + IBeadLayout: ClassReference(null); > > /*"org.apache.flex.html.beads.layouts.VerticalLayout"*/ > > + IDataProviderItemRendererMapper: > > ClassReference("org.apache.flex.html.beads. > DataItemRendererFactoryForArrayData"); > > + IItemRendererClassFactory: > > ClassReference("org.apache.flex.core.ItemRendererClassFactory"); > > + IItemRenderer: > > ClassReference("org.apache.flex.mdl.itemRenderers.TableItemRenderer"); > > +} > > + > > Navigation > > { > > IBeadView: ClassReference("org.apache. > flex.mdl.beads.views.ListView"); > > > > > > http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ > b0b41aef/frameworks/projects/MaterialDesignLite/src/main/ > resources/mdl-manifest.xml > > ---------------------------------------------------------------------- > > diff --git > > a/frameworks/projects/MaterialDesignLite/src/main/ > resources/mdl-manifest.xml > > b/frameworks/projects/MaterialDesignLite/src/main/ > resources/mdl-manifest.xml > > index 1b8b2a0..b4d2c9a 100644 > > --- > > a/frameworks/projects/MaterialDesignLite/src/main/ > resources/mdl-manifest.xml > > +++ > > b/frameworks/projects/MaterialDesignLite/src/main/ > resources/mdl-manifest.xml > > @@ -56,6 +56,8 @@ > > <component id="ListItemSubTitle" > > class="org.apache.flex.mdl.beads.ListItemSubTitle"/> > > <component id="ListItemSecondaryInfo" > > class="org.apache.flex.mdl.beads.ListItemSecondaryInfo"/> > > <component id="ListItemTextBody" > > class="org.apache.flex.mdl.beads.ListItemTextBody"/> > > + <component id="Table" class="org.apache.flex.mdl.Table"/> > > + <component id="TableItemRenderer" > > class="org.apache.flex.mdl.itemRenderers.TableItemRenderer"/> > > <component id="NavigationLayout" > > class="org.apache.flex.mdl.NavigationLayout"/> > > <component id="LayoutTitle" class="org.apache.flex.mdl. > LayoutTitle"/> > > <component id="Navigation" class="org.apache.flex.mdl.Navigation"/> > > > > > -- Carlos Rovira Director General M: +34 607 22 60 05 http://www.codeoscopic.com http://www.avant2.es Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC S.A. La finalidad de dicho tratamiento es facilitar la prestación del servicio o información solicitados, teniendo usted derecho de acceso, rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación necesaria.