Blame view

controllets/page-slider-controllet/page-slider-controllet.html 9.06 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;
              }
  
b8ce3f87   Andrea Petta   plugin update
48
49
50
51
              :host > ::content neon-animatable.iron-selected:not(.neon-animating) {
                  position: static;
              }
  
94601c1f   Renato De Donato   trevieww multitable
52
              .header{
a31f0660   root   sevc-controllet i...
53
                  font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
94601c1f   Renato De Donato   trevieww multitable
54
                  width: 100%;
8436d840   Renato De Donato   page-slider line-...
55
                  line-height: normal;
a31f0660   root   sevc-controllet i...
56
57
                  /*padding-bottom: 8px;*/
                  /*border-bottom: 2px solid #B6B6B6;*/
94601c1f   Renato De Donato   trevieww multitable
58
59
60
61
              }
  
              .chevron-left{
                  float: left;
55ba476b   Renato De Donato   page-slider room
62
                  /*margin-top: 8px;*/
94601c1f   Renato De Donato   trevieww multitable
63
64
65
66
              }
  
              .chevron-right{
                  float: right;
55ba476b   Renato De Donato   page-slider room
67
                  /*margin-top: 8px;*/
94601c1f   Renato De Donato   trevieww multitable
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
97
98
99
100
              }
  
              .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...
101
                  color: #727272;/*#00BCD4*/
94601c1f   Renato De Donato   trevieww multitable
102
103
104
105
              }
          </style>
  
          <div class="header">
8e65d84e   Renato De Donato   page-slider butto...
106
107
              <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
108
109
110
111
112
113
114
115
116
117
  
              <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
118
119
120
          <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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
          <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
145
146
147
148
149
                  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
150
151
152
153
154
                  selected : {
                      type  : Number,
                      value : 0
                  },
  
e0e4a976   Renato De Donato   data-sevc-control...
155
156
157
158
159
                  prevSelected : {
                      type  : Number,
                      value : 0
                  },
  
94601c1f   Renato De Donato   trevieww multitable
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
                  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...
178
                  }
94601c1f   Renato De Donato   trevieww multitable
179
180
181
182
183
  
              },
  
              attached : function() {
                  this.fire('page-slider-controllet_selected', {selected : this.selected});
a7d52488   Renato De Donato   ln
184
  
256ece27   Renato De Donato   new controllet
185
186
187
188
189
  //                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
190
191
192
193
194
195
196
197
198
199
200
201
              },
  
              setTitle : function(title, subtitle) {
                  this.title = title;
                  this.subtitle = subtitle;
              },
  
              setAvatar : function(innerText) {
                  this.avatar = innerText;
              },
  
              chevronLeft : function(flag) {
707a1508   root   update data-table...
202
                  if(flag == "invisible") {
8e65d84e   Renato De Donato   page-slider butto...
203
                      this.$.slider_chevron_left.style.visibility = "hidden";
707a1508   root   update data-table...
204
205
206
                      return;
                  }
                  else
8e65d84e   Renato De Donato   page-slider butto...
207
                      this.$.slider_chevron_left.style.visibility = "visible";
707a1508   root   update data-table...
208
  
94601c1f   Renato De Donato   trevieww multitable
209
                  if(flag)
8e65d84e   Renato De Donato   page-slider butto...
210
                      this.$.slider_chevron_left.removeAttribute("disabled");
94601c1f   Renato De Donato   trevieww multitable
211
                  else
8e65d84e   Renato De Donato   page-slider butto...
212
                      this.$.slider_chevron_left.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
213
214
215
              },
  
              chevronRight : function(flag) {
707a1508   root   update data-table...
216
                  if(flag == "invisible") {
8e65d84e   Renato De Donato   page-slider butto...
217
                      this.$.slider_chevron_right.style.visibility = "hidden";
707a1508   root   update data-table...
218
219
220
                      return;
                  }
                  else
8e65d84e   Renato De Donato   page-slider butto...
221
                      this.$.slider_chevron_right.style.visibility = "visible";
707a1508   root   update data-table...
222
  
94601c1f   Renato De Donato   trevieww multitable
223
                  if(flag)
8e65d84e   Renato De Donato   page-slider butto...
224
                      this.$.slider_chevron_right.removeAttribute("disabled");
94601c1f   Renato De Donato   trevieww multitable
225
                  else
8e65d84e   Renato De Donato   page-slider butto...
226
                      this.$.slider_chevron_right.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
227
228
              },
  
e0e4a976   Renato De Donato   data-sevc-control...
229
230
231
232
              getPrevSelected : function() {
                  return this.prevSelected;
              },
  
c41eed2f   Renato De Donato   page slider
233
234
235
236
237
238
239
240
241
242
              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
243
              _onPrevClick : function() {
8e65d84e   Renato De Donato   page-slider butto...
244
245
                  this.$.slider_chevron_left.setAttribute("disabled", "true");
                  this.$.slider_chevron_right.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
246
  
c41eed2f   Renato De Donato   page slider
247
248
                  this.entryAnimation = this.prevEntryAnimation;
                  this.exitAnimation  = this.prevExitAnimation;
94601c1f   Renato De Donato   trevieww multitable
249
  
e0e4a976   Renato De Donato   data-sevc-control...
250
                  this.prevSelected = this.selected;
94601c1f   Renato De Donato   trevieww multitable
251
252
253
254
                  this.selected = this.selected === 0 ? (this.pages-1) : (this.selected - 1);
              },
  
              _onNextClick : function() {
8e65d84e   Renato De Donato   page-slider butto...
255
256
                  this.$.slider_chevron_left.setAttribute("disabled", "true");
                  this.$.slider_chevron_right.setAttribute("disabled", "true");
94601c1f   Renato De Donato   trevieww multitable
257
  
c41eed2f   Renato De Donato   page slider
258
259
                  this.entryAnimation = this.nextEntryAnimation;
                  this.exitAnimation  = this.nextExitAnimation;
94601c1f   Renato De Donato   trevieww multitable
260
  
e0e4a976   Renato De Donato   data-sevc-control...
261
                  this.prevSelected = this.selected;
94601c1f   Renato De Donato   trevieww multitable
262
263
264
265
                  this.selected = this.selected === (this.pages-1) ? 0 : (this.selected + 1);
              },
  
              _onNeonAnimationFinish: function() {
8e65d84e   Renato De Donato   page-slider butto...
266
267
                  this.$.slider_chevron_left.removeAttribute("disabled");
                  this.$.slider_chevron_right.removeAttribute("disabled");
94601c1f   Renato De Donato   trevieww multitable
268
269
270
271
272
273
274
275
276
277
278
  
                  this.avatar = this.selected+1;
  
                  this.fire('page-slider-controllet_selected', {selected : this.selected});
              }
  
          });
  
      </script>
  
  </dom-module>