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>
