Add first version of MDL ProgressBar component
- Add ProgressBar to example
- Make getter for isActive property in Spinner


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/63c0e8ee
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/63c0e8ee
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/63c0e8ee

Branch: refs/heads/feature/mdl
Commit: 63c0e8eebf513aad5938e38d9e1eed716f6ca74b
Parents: 676abbf
Author: piotrz <[email protected]>
Authored: Sun Dec 18 16:30:29 2016 +0100
Committer: piotrz <[email protected]>
Committed: Sun Dec 18 16:30:29 2016 +0100

----------------------------------------------------------------------
 .../MDLExample/src/main/flex/Loading.mxml       |   3 +
 .../flex/org/apache/flex/mdl/ProgressBar.as     | 120 +++++++++++++++++++
 .../main/flex/org/apache/flex/mdl/Spinner.as    |  27 +++++
 .../src/main/resources/mdl-manifest.xml         |   1 +
 4 files changed, 151 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/63c0e8ee/examples/flexjs/MDLExample/src/main/flex/Loading.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLExample/src/main/flex/Loading.mxml 
b/examples/flexjs/MDLExample/src/main/flex/Loading.mxml
index 6095965..1955ace 100644
--- a/examples/flexjs/MDLExample/src/main/flex/Loading.mxml
+++ b/examples/flexjs/MDLExample/src/main/flex/Loading.mxml
@@ -26,5 +26,8 @@ limitations under the License.
         <mdl:GridCell column="1">
             <mdl:Spinner isActive="true" singleColor="true"/>
         </mdl:GridCell>
+        <mdl:GridCell column="1">
+            <mdl:ProgressBar currentProgress="47"/>
+        </mdl:GridCell>
     </mdl:Grid>
 </mdl:TabBarPanel>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/63c0e8ee/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
new file mode 100644
index 0000000..e8fa3f1
--- /dev/null
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
@@ -0,0 +1,120 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    COMPILE::JS
+    {
+        import org.apache.flex.events.Event;
+        import org.apache.flex.core.UIBase;
+        import org.apache.flex.core.WrappedHTMLElement;
+    }
+    /**
+     *  The ProgressBar class provides a MDL UI-like appearance for
+     *  a ProgressBar.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    COMPILE::SWF
+    public class ProgressBar
+    {
+        private var _currentProgress:Number;
+
+        /**
+         *  Current progress of the progressbar
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get currentProgress():Number
+        {
+            return _currentProgress;
+        }
+
+        public function set currentProgress(value:Number):void
+        {
+            _currentProgress = value;
+        }
+    }
+
+    COMPILE::JS
+    public class ProgressBar extends UIBase
+    {
+        private const MaterialProgress:String = "MaterialProgress";
+
+        public function ProgressBar()
+        {
+            super();
+
+            className = "";
+        }
+
+        private var _materialProgress:Object;
+        private var _currentProgress:Number;
+
+        public function get currentProgress():Number
+        {
+            return _currentProgress;
+        }
+
+        public function set currentProgress(value:Number):void
+        {
+            _currentProgress = value;
+
+            setCurrentProgress(value);
+        }
+
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         *
+         * @return
+         */
+        override protected function createElement():WrappedHTMLElement
+        {
+            typeNames = "mdl-progress mdl-js-progress";
+
+            element = document.createElement("div") as WrappedHTMLElement;
+            element.addEventListener("mdl-componentupgraded", 
onElementMdlComponentUpgraded, false);
+
+            positioner = element;
+            element.flexjs_wrapper = this;
+
+            return element;
+        }
+
+        private function setCurrentProgress(value:Number):void
+        {
+            if (_materialProgress)
+            {
+                _materialProgress.setProgress(value);
+            }
+        }
+
+        private function onElementMdlComponentUpgraded(event:Event):void
+        {
+            _materialProgress = event.currentTarget[MaterialProgress];
+
+            setCurrentProgress(_currentProgress);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/63c0e8ee/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
index dd7bf18..fac128a 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
@@ -38,11 +38,33 @@ package org.apache.flex.mdl
         private var _isActive:Boolean;
         private var _singleColor:Boolean;
 
+        /**
+         *  Indicates whether Spinner is active and visible
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get isActive():Boolean
+        {
+            return _isActive;
+        }
+
         public function set isActive(value:Boolean):void
         {
             _isActive = value;
         }
 
+
+        /**
+         *  Make Spinner in a single color
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
         public function set singleColor(value:Boolean):void
         {
             _singleColor = value;
@@ -62,6 +84,11 @@ package org.apache.flex.mdl
         private var _isActive:Boolean;
         private var _singleColor:Boolean;
 
+        public function get isActive():Boolean
+        {
+            return _isActive;
+        }
+
         public function set isActive(value:Boolean):void
         {
             _isActive = value;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/63c0e8ee/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 c8bb885..c2a69ab 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/resources/mdl-manifest.xml
+++ b/frameworks/projects/MaterialDesignLite/src/main/resources/mdl-manifest.xml
@@ -83,4 +83,5 @@
     <component id="MdlColor" class="org.apache.flex.mdl.beads.MdlColor"/>
     <component id="MdlTextColor" 
class="org.apache.flex.mdl.beads.MdlTextColor"/>
     <component id="Spinner" class="org.apache.flex.mdl.Spinner"/>
+    <component id="ProgressBar" class="org.apache.flex.mdl.ProgressBar"/>
 </componentPackage>

Reply via email to