Blame view

controllets/page-slider-controllet/page-slider-controllet.html 8.1 KB
94601c1f   Renato De Donato   trevieww multitable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  <link rel="import" href="../../bower_components/polymer/polymer.html" />
  
  <link rel="import" href="../../bower_components/neon-animation/neon-animation.html">
  <link rel="import" href="../../bower_components/neon-animation/neon-animatable.html">
  <link rel="import" href="../../bower_components/neon-animation/neon-animations.html">
  
  <link rel="import" href="../../bower_components/paper-icon-button/paper-icon-button.html">
  <link rel="import" href="../../bower_components/iron-icons/iron-icons.html">
  <link rel="import" href="../../bower_components/iron-icon/iron-icon.html">
  
  <dom-module id="page-slider-controllet">
  
      <template>
  
          <style is="custom-style">
              paper-icon-button{
                  color: #00BCD4;
55ba476b   Renato De Donato   page-slider room
18
19
                  height: 64px;
                  width: 64px;
a31f0660   root   sevc-controllet i...
20
                  padding: 0px;
55ba476b   Renato De Donato   page-slider room
21
                  margin: 0px;
94601c1f   Renato De Donato   trevieww multitable
22
23
24
25
                  --paper-icon-button-ink-color: #00BCD4;
              }
  
              paper-icon-button:hover{
a31f0660   root   sevc-controllet i...
26
27
28
29
30
                  color: #00AABF;
              }
  
              paper-icon-button[disabled]{
                  color: #B6B6B6;
94601c1f   Renato De Donato   trevieww multitable
31
32
33
              }
  
              .header{
a31f0660   root   sevc-controllet i...
34
                  font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
94601c1f   Renato De Donato   trevieww multitable
35
                  width: 100%;
8436d840   Renato De Donato   page-slider line-...
36
                  line-height: normal;
a31f0660   root   sevc-controllet i...
37
38
                  /*padding-bottom: 8px;*/
                  /*border-bottom: 2px solid #B6B6B6;*/
94601c1f   Renato De Donato   trevieww multitable
39
40
41
42
              }
  
              .chevron-left{
                  float: left;
55ba476b   Renato De Donato   page-slider room
43
                  /*margin-top: 8px;*/
94601c1f   Renato De Donato   trevieww multitable
44
45
46
47
              }
  
              .chevron-right{
                  float: right;
55ba476b   Renato De Donato   page-slider room
48
                  /*margin-top: 8px;*/
94601c1f   Renato De Donato   trevieww multitable
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
              }
  
              .box{
                  overflow: auto;
              }
  
              .avatar {
                  display: inline-block;
                  height: 64px;
                  width: 64px;
                  border-radius: 50%;
                  background: #2196F3;
                  color: #FFFFFF;
                  line-height: 64px;
                  font-size: 32px;
                  vertical-align: middle;
                  text-align: center;
              }
  
              .text {
                  display: inline-block;
                  height: 64px;
                  vertical-align: middle;
                  padding-left: 20px;
              }
  
              .title {
                  font-size: 32px;
                  color: #2196F3;
              }
  
              .subtitle {
                  font-size: 16px;
0f6424fe   root   update new data-s...
82
                  color: #727272;/*#00BCD4*/
94601c1f   Renato De Donato   trevieww multitable
83
84
85
86
              }
          </style>
  
          <div class="header">
8e65d84e   Renato De Donato   page-slider butto...
87
88
              <paper-icon-button id="slider_chevron_left" class="chevron-left" on-click="_onPrevClick" icon="arrow-back"></paper-icon-button>
              <paper-icon-button id="slider_chevron_right" class="chevron-right" on-click="_onNextClick" icon="arrow-forward"></paper-icon-button>
94601c1f   Renato De Donato   trevieww multitable
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
  
              <div class="box">
                  <div class="avatar">[[avatar]]</div>
                  <div class="text">
                      <div class="title">[[title]]</div>
                      <div class="subtitle">[[subtitle]]</div>
                  </div>
              </div>
          </div>
  
          <neon-animated-pages on-neon-animation-finish="_onNeonAnimationFinish" selected="[[selected]]" entry-animation="[[entryAnimation]]" exit-animation="[[exitAnimation]]">
              <content></content>
          </neon-animated-pages>
  
      </template>
  
      <script>
  
          Polymer({
  
              is : 'page-slider-controllet',
  
              properties : {
  
                  entryAnimation : {
                      type  : String,
                      value : ""
                  },
  
                  exitAnimation  : {
                      type  : String,
                      value : ""
                  },
  
c41eed2f   Renato De Donato   page slider
123
124
125
126
127
                  prevEntryAnimation : {type  : String, value : 'slide-from-left-animation'},
                  prevExitAnimation : {type  : String, value : 'slide-right-animation'},
                  nextEntryAnimation : {type  : String, value : 'slide-from-right-animation'},
                  nextExitAnimation : {type  : String, value : 'slide-left-animation'},
  
94601c1f   Renato De Donato   trevieww multitable
128
129
130
131
132
                  selected : {
                      type  : Number,
                      value : 0
                  },
  
e0e4a976   Renato De Donato   data-sevc-control...
133
134
135
136
137
                  prevSelected : {
                      type  : Number,
                      value : 0
                  },
  
94601c1f   Renato De Donato   trevieww multitable
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
                  pages : {
                      type  : Number,
                      value : document.querySelectorAll('neon-animatable').length
                  },
  
                  title : {
                      type  : String,
                      value : ""
                  },
  
                  subtitle : {
                      type  : String,
                      value : ""
                  },
  
                  avatar : {
                      type  : String,
                      value : "1"
a31f0660   root   sevc-controllet i...
156
                  }
94601c1f   Renato De Donato   trevieww multitable
157
158
159
160
161
  
              },
  
              attached : function() {
                  this.fire('page-slider-controllet_selected', {selected : this.selected});
a7d52488   Renato De Donato   ln
162
  
8e65d84e   Renato De Donato   page-slider butto...
163
164
                  this.$.slider_chevron_left.setAttribute("title", ln["back_" + ln["localization"]]);
                  this.$.slider_chevron_right.setAttribute("title", ln["forward_" + ln["localization"]]);
94601c1f   Renato De Donato   trevieww multitable
165
166
167
168
169
170
171
172
173
174
175
176
              },
  
              setTitle : function(title, subtitle) {
                  this.title = title;
                  this.subtitle = subtitle;
              },
  
              setAvatar : function(innerText) {
                  this.avatar = innerText;
              },
  
              chevronLeft : function(flag) {
707a1508   root   update data-table...
177
                  if(flag == "invisible") {
8e65d84e   Renato De Donato   page-slider butto...
178
                      this.$.slider_chevron_left.style.visibility = "hidden";
707a1508   root   update data-table...
179
180
181
                      return;
                  }
                  else
8e65d84e   Renato De Donato   page-slider butto...
182
                      this.$.slider_chevron_left.style.visibility = "visible";
707a1508   root   update data-table...
183
  
94601c1f   Renato De Donato   trevieww multitable
184
                  if(flag)
8e65d84e   Renato De Donato   page-slider butto...
185
                      this.$.slider_chevron_left.removeAttribute("disabled");
94601c1f   Renato De Donato   trevieww multitable
186
                  else
8e65d84e   Renato De Donato   page-slider butto...
187
                      this.$.slider_chevron_left.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
188
189
190
              },
  
              chevronRight : function(flag) {
707a1508   root   update data-table...
191
                  if(flag == "invisible") {
8e65d84e   Renato De Donato   page-slider butto...
192
                      this.$.slider_chevron_right.style.visibility = "hidden";
707a1508   root   update data-table...
193
194
195
                      return;
                  }
                  else
8e65d84e   Renato De Donato   page-slider butto...
196
                      this.$.slider_chevron_right.style.visibility = "visible";
707a1508   root   update data-table...
197
  
94601c1f   Renato De Donato   trevieww multitable
198
                  if(flag)
8e65d84e   Renato De Donato   page-slider butto...
199
                      this.$.slider_chevron_right.removeAttribute("disabled");
94601c1f   Renato De Donato   trevieww multitable
200
                  else
8e65d84e   Renato De Donato   page-slider butto...
201
                      this.$.slider_chevron_right.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
202
203
              },
  
e0e4a976   Renato De Donato   data-sevc-control...
204
205
206
207
              getPrevSelected : function() {
                  return this.prevSelected;
              },
  
c41eed2f   Renato De Donato   page slider
208
209
210
211
212
213
214
215
216
217
              setPrevAnimation  : function(entryAnimation, exitAnimation) {
                  this.prevEntryAnimation = entryAnimation;
                  this.prevExitAnimation  = exitAnimation;
              },
  
              setNextAnimation  : function(entryAnimation, exitAnimation) {
                  this.nextEntryAnimation = entryAnimation;
                  this.nextExitAnimation  = exitAnimation;
              },
  
94601c1f   Renato De Donato   trevieww multitable
218
              _onPrevClick : function() {
8e65d84e   Renato De Donato   page-slider butto...
219
220
                  this.$.slider_chevron_left.setAttribute("disabled", "true");
                  this.$.slider_chevron_right.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
221
  
c41eed2f   Renato De Donato   page slider
222
223
                  this.entryAnimation = this.prevEntryAnimation;
                  this.exitAnimation  = this.prevExitAnimation;
94601c1f   Renato De Donato   trevieww multitable
224
  
e0e4a976   Renato De Donato   data-sevc-control...
225
                  this.prevSelected = this.selected;
94601c1f   Renato De Donato   trevieww multitable
226
227
228
229
                  this.selected = this.selected === 0 ? (this.pages-1) : (this.selected - 1);
              },
  
              _onNextClick : function() {
8e65d84e   Renato De Donato   page-slider butto...
230
231
                  this.$.slider_chevron_left.setAttribute("disabled", "true");
                  this.$.slider_chevron_right.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
232
  
c41eed2f   Renato De Donato   page slider
233
234
                  this.entryAnimation = this.nextEntryAnimation;
                  this.exitAnimation  = this.nextExitAnimation;
94601c1f   Renato De Donato   trevieww multitable
235
  
e0e4a976   Renato De Donato   data-sevc-control...
236
                  this.prevSelected = this.selected;
94601c1f   Renato De Donato   trevieww multitable
237
238
239
240
                  this.selected = this.selected === (this.pages-1) ? 0 : (this.selected + 1);
              },
  
              _onNeonAnimationFinish: function() {
8e65d84e   Renato De Donato   page-slider butto...
241
242
                  this.$.slider_chevron_left.removeAttribute("disabled");
                  this.$.slider_chevron_right.removeAttribute("disabled");
94601c1f   Renato De Donato   trevieww multitable
243
244
245
246
247
248
249
250
251
252
253
  
                  this.avatar = this.selected+1;
  
                  this.fire('page-slider-controllet_selected', {selected : this.selected});
              }
  
          });
  
      </script>
  
  </dom-module>