All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.terapico.caf.viewcomponent.CarouselViewComponent Maven / Gradle / Ivy

The newest version!
package com.terapico.caf.viewcomponent;

import static com.terapico.utils.MapUtil.$;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.terapico.utils.MapUtil;

/**
 * Carousel 组件.
 * 

* componentType=carousel *

* *

滑动的图像列表组件,并且点击后可以跳转到一个新的视图。

* *
    *
  • content是一个列表。 每个列表元素有3个属性: *
      *
    1. link:要跳转的目标视图URL
    2. *
    3. image: 要展示的图像URL
    4. *
    5. tips: 获得焦点后显示的文字。仅在桌面版有效。
    6. *
    *
  • *
* * @author clariones */ public class CarouselViewComponent extends BaseViewComponent { /** 是否自动播放 */ protected boolean autoPlay = true; /** 如果是自动播放,切换周期是多少毫秒 */ protected int autoPlayPeriodInMs = 1000; /** 是否支持手工控制。 桌面版是指鼠标悬停时是否暂停自动播放。移动端忽略此属性。 */ protected boolean manuallyControl = true; /** 滚动方向。 有两个值:horizontal 和 vertical。 默认是 horizontal */ protected String rollingDirection = "horizontal"; public CarouselViewComponent() { super(); this.setComponentType("carrousel"); } public void addItem(String image, String url, String tips) { if (image == null) { return; // // throw new IllegalArgumentException("image must have value."); } List list = ensureContent(); Map item = MapUtil.newMap(MapUtil.$("link", url), MapUtil.$("image", image)); // if (tips != null) { // item.put("tips", tips); // } list.add(item); } private List ensureContent() { if (this.content == null) { this.content = new ArrayList(); } return (List) this.content; } }