-
Notifications
You must be signed in to change notification settings - Fork 17
/
session-card.html
89 lines (84 loc) · 2.07 KB
/
session-card.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/core-icon-button/core-icon-button.html">
<polymer-element name="session-card" attributes="sessionid">
<template>
<style>
:host {
margin: 3px;
display: block;
position: relative;
width: 100%;
font-size: 1.0rem;
font-weight: 300;
color: white;
height: 200px;
}
.card-header {
margin-bottom: 10px;
}
polyfill-next-selector { content: '.title'; }
.card-header ::content .title {
margin: 0;
font-size: 1.2rem;
font-weight: 300;
}
polyfill-next-selector { content: '.card-header img'; }
.card-header ::content img {
width: 80px;
height: 80px;
border-radius: 50%;
margin: 10px;
}
core-icon-button {
position: absolute;
top: 3px;
right: 3px;
color: #9e9e9e;
}
:host([favorite]) core-icon-button {
color: #da4336;
}
@media (min-width: 500px) {
:host {
width: 48.5%;
}
}
@media (min-width: 1000px) {
:host {
width: 32.3%;
}
}
</style>
<div class="card-header" layout vertical center on-tap="{{ showDetail }}">
<content select="img"></content>
<content select="p"></content>
<content select=".title"></content>
</div>
<core-icon-button
id="favicon"
icon="favorite"
on-tap="{{favoriteTapped}}">
</core-icon-button>
<core-localstorage name="session-card-{{sessionid}}" value="{{favorite}}"></core-localstorage>
<paper-shadow z="2"></paper-shadow>
</template>
<script>
Polymer({
sessionid: -1,
publish: {
favorite: {
value: false,
reflect: true
}
},
favoriteTapped: function(event, detail, sender) {
event.stopPropagation();//stop tap event
if(this.sessionid < 0){ // not published session
return;
}
this.favorite = !this.favorite;
this.fire('favorite-tap');
}
});
</script>
</polymer-element>