Blame view

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