//////////////////////////////////////////////////////////////////////////////// | |
// | |
// 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.royale.mdl | |
{ | |
import org.apache.royale.html.Group; | |
COMPILE::JS | |
{ | |
import org.apache.royale.core.CSSClassList; | |
} | |
/** | |
* The Card class is a self-contained pieces of paper with data. | |
* The Material Design Lite (MDL) card component is a user interface element | |
* representing a virtual piece of paper that contains related data — such as a | |
* photo, some text, and a link — that are all about a single subject. | |
* | |
* @langversion 3.0 | |
* @playerversion Flash 10.2 | |
* @playerversion AIR 2.6 | |
* @productversion Royale 0.8 | |
*/ | |
public class Card extends Group | |
{ | |
/** | |
* constructor. | |
* | |
* @langversion 3.0 | |
* @playerversion Flash 10.2 | |
* @playerversion AIR 2.6 | |
* @productversion Royale 0.8 | |
*/ | |
public function Card() | |
{ | |
super(); | |
typeNames = "mdl-card"; | |
COMPILE::JS | |
{ | |
_classList = new CSSClassList(); | |
} | |
} | |
COMPILE::JS | |
private var _classList:CSSClassList; | |
protected var _shadow:Number = 0; | |
/** | |
* A boolean flag to activate "mdl-shadow--Xdp" effect selector. | |
* Assigns variable shadow depths (0, 2, 3, 4, 6, 8, or 16) to card | |
* | |
* Cards are a convenient means of coherently displaying related content | |
* that is composed of different types of objects. They are also well-suited | |
* for presenting similar objects whose size or supported actions can vary | |
* considerably, like photos with captions of variable length. Cards have | |
* a constant width and a variable height, depending on their content. | |
* | |
* @langversion 3.0 | |
* @playerversion Flash 10.2 | |
* @playerversion AIR 2.6 | |
* @productversion Royale 0.8 | |
*/ | |
public function get shadow():Number | |
{ | |
return _shadow; | |
} | |
public function set shadow(value:Number):void | |
{ | |
if (_shadow != value) | |
{ | |
COMPILE::JS | |
{ | |
if (value == 2 || value == 3 || value == 4 || value == 6 || value == 8 || value == 16) | |
{ | |
var classVal:String = "mdl-shadow--" + _shadow + "dp"; | |
_classList.remove(classVal); | |
classVal = "mdl-shadow--" + value + "dp"; | |
_classList.add(classVal); | |
_shadow = value; | |
setClassName(computeFinalClassNames()); | |
} | |
} | |
} | |
} | |
COMPILE::JS | |
override protected function computeFinalClassNames():String | |
{ | |
return _classList.compute() + super.computeFinalClassNames(); | |
} | |
} | |
} |