<link rel="import" href="../../bower_components/polymer/polymer-element.html">
<link rel="import" href="../../bower_components/iron-flex-layout/iron-flex-layout-classes.html">
<dom-module id="my-video">
<template>
<custom-style>
<style is="custom-style" include="iron-flex">
#container{
width: var(--video-container-width,100vw);
height: var(--video-container-height, 56.25vw);
}
#container > div{
box-sizing: border-box;
padding: 10px;
}
</style>
</custom-style>
<section id="container" class$="layout horizontal wrap around-justified [[alignV]] ">
<dom-repeat items="[[videoList]]" >
<template>
<!--替换成视频-->
<div style$="[[style]]">
<img src="" alt="video-content" style="width: 100%; height: 100%;">
</div>
</template>
</dom-repeat>
</section>
</template>
<script>
class MyVideo extends Polymer.Element {
static get is()
{
return 'my-video';
}
static get properties()
{
return {
videoList: Array,
alignV: String
}
}
static get observers()
{
return [
'videoListChanged(videoList)'
]
}
videoListChanged(videos){
this.initVideoView(videos.length)
}
initVideoView(len){
if(len == 3 || len > 4){
this.style= "width: 33.3333%; height:33.3333%;"
}else if(len == 2 || len == 4){
this.style = "width: 50%; height:50%;"
}
else{
this.style = "width: 100%; height:100%;"
}
if(len < 7) this.alignV = 'center-aligned';
else this.alignV = null;
}
}
customElements.define(MyVideo.is, MyVideo);
</script>
</dom-module>
<style>
html, body{
margin: 0;
padding: 0;
}
</style>
<my-video video-list='[1,2,3,4,5,6,7,8,9,10]'></my-video>