blinker / firefox.plugin / data / scripts / actions / actions.js @ master
History | View | Annotate | Download (13.518 KB)
1 |
/*
|
---|---|
2 |
* Copyright 2015 Thies Pfeiffer and Dimitri Heil and Kevin Taron
|
3 |
* Blinker is distributed under the terms of the GNU General Public License
|
4 |
*
|
5 |
* This file is part of Blinker.
|
6 |
*
|
7 |
* Blinker is free software: you can redistribute it and/or modify
|
8 |
* it under the terms of the GNU General Public License as published by
|
9 |
* the Free Software Foundation, either version 3 of the License, or
|
10 |
* (at your option) any later version.
|
11 |
*
|
12 |
* Blinker is distributed in the hope that it will be useful,
|
13 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15 |
* GNU General Public License for more details.
|
16 |
*
|
17 |
* You should have received a copy of the GNU General Public License
|
18 |
* along with Blinker. If not, see <http://www.gnu.org/licenses/>.
|
19 |
*/
|
20 |
|
21 |
function getActionElements(element) { |
22 |
var elementType = $(element).get(0).tagName; |
23 |
var elementAttr = $(element).attr('type'); |
24 |
|
25 |
switch(elementType) {
|
26 |
case "BUTTON": |
27 |
return getItemsForButton(element);
|
28 |
case "A": |
29 |
return getItemsForLink(element);
|
30 |
case "INPUT": |
31 |
if(elementAttr == "submit" || elementAttr == "reset") { |
32 |
return getItemsForButton(element);
|
33 |
} else {
|
34 |
console.log("ERROR MESSAGE: elementAttr for INPUT not found - " + elementAttr);
|
35 |
return null; |
36 |
} |
37 |
case "AUDIO": |
38 |
return getItemsForAudio(element);
|
39 |
case "VIDEO": |
40 |
return getItemsForVideo(element);
|
41 |
default:
|
42 |
console.log("ERROR MESSAGE: elementType not found - " + elementType);
|
43 |
return getItemsForButton(element);
|
44 |
} |
45 |
} |
46 |
|
47 |
|
48 |
|
49 |
function getItemsForButton(element) { |
50 |
var dataValue = "Ok"; |
51 |
var dataCancel = "Hide"; |
52 |
var gazeCloseFunction = "closeAll()"; |
53 |
var gazeFunction = ""; |
54 |
var gazeFunctionAfter = "closeAll()"; |
55 |
var gazeTarget = ".openedElement"; |
56 |
var gazeType = "action"; |
57 |
var gazeModel = "dwell"; |
58 |
var isKeyboardButton = false; |
59 |
var gazeClass = 'gazeOk'; |
60 |
|
61 |
if($(element).hasClass('ui-keyboard-button')) { isKeyboardButton = true; gazeClass = 'gazeOk gazeKeyBoardOk' } |
62 |
if($(element).attr('gaze-data-value')) { dataValue = $(element).attr('gaze-data-value'); } |
63 |
if($(element).attr('data-gaze-function-Close')) { gazeCloseFunction = $(element).attr('data-gaze-function-Close'); } |
64 |
if($(element).attr('data-gaze-function-After')) { gazeFunctionAfter = $(element).attr('data-gaze-function-After'); } |
65 |
|
66 |
var gazeCancel = '<div class="gazeCancel" data-gaze="true"'; |
67 |
gazeCancel += ' data-gaze-type="' + gazeType +'"'; |
68 |
gazeCancel += ' data-gaze-model="' + gazeModel +'"'; |
69 |
gazeCancel += ' data-gaze-target="' + gazeTarget +'"'; |
70 |
gazeCancel += ' data-gaze-function="' + gazeCloseFunction +'"'; |
71 |
|
72 |
gazeCancel += '>';
|
73 |
gazeCancel += '<p>';
|
74 |
gazeCancel += dataCancel; |
75 |
gazeCancel += '</p>';
|
76 |
gazeCancel += '</div>';
|
77 |
|
78 |
|
79 |
var gazeOk = '<div class="' + gazeClass +'" data-gaze="true"'; |
80 |
gazeOk += ' data-gaze-type="' + gazeType +'"'; |
81 |
gazeOk += ' data-gaze-model="' + gazeModel +'"'; |
82 |
gazeOk += ' data-gaze-target="' + gazeTarget +'"'; |
83 |
|
84 |
gazeOk += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
85 |
gazeOk += '>';
|
86 |
gazeOk += '<p>';
|
87 |
gazeOk += dataValue; |
88 |
gazeOk += '</p>';
|
89 |
gazeOk += '</div>';
|
90 |
|
91 |
var myarray = [];
|
92 |
|
93 |
if(isKeyboardButton) {
|
94 |
myarray.push(gazeCancel); |
95 |
|
96 |
// Add the prev Keyboard Button
|
97 |
if($(element).prev('.ui-keyboard-button').length > 0) { |
98 |
$('.openedElementPrev').removeClass('openedElementPrev'); |
99 |
$(element).prev().addClass('openedElementPrev'); |
100 |
var prevButton = $(element).prev(); |
101 |
var prevValue = $(prevButton).attr('gaze-data-value'); |
102 |
var prevTarget = '.openedElementPrev'; |
103 |
|
104 |
var gazePrev = '<div class="' + gazeClass +'" data-gaze="true"'; |
105 |
gazePrev += ' data-gaze-type="' + gazeType +'"'; |
106 |
gazePrev += ' data-gaze-model="' + gazeModel +'"'; |
107 |
gazePrev += ' data-gaze-target="' + prevTarget +'"'; |
108 |
gazePrev += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
109 |
|
110 |
gazePrev += '>';
|
111 |
gazePrev += '<p>';
|
112 |
gazePrev += prevValue; |
113 |
gazePrev += '</p>';
|
114 |
gazePrev += '</div>';
|
115 |
myarray.push(gazePrev); |
116 |
} |
117 |
|
118 |
// Add the watch Keyboard Button
|
119 |
myarray.push(gazeOk); |
120 |
|
121 |
// Add the next Keyboard Button
|
122 |
if($(element).next('.ui-keyboard-button').length > 0) { |
123 |
$('.openedElementNext').removeClass('openedElementNext'); |
124 |
$(element).next().addClass('openedElementNext'); |
125 |
var nextButton = $(element).next(); |
126 |
var nextValue = $(nextButton).attr('gaze-data-value'); |
127 |
var nextTarget = '.openedElementNext'; |
128 |
|
129 |
var gazeNext = '<div class="' + gazeClass +'" data-gaze="true"'; |
130 |
gazeNext += ' data-gaze-type="' + gazeType +'"'; |
131 |
gazeNext += ' data-gaze-model="' + gazeModel +'"'; |
132 |
gazeNext += ' data-gaze-target="' + nextTarget +'"'; |
133 |
gazeNext += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
134 |
|
135 |
gazeNext += '>';
|
136 |
gazeNext += '<p>';
|
137 |
gazeNext += nextValue; |
138 |
gazeNext += '</p>';
|
139 |
gazeNext += '</div>';
|
140 |
myarray.push(gazeNext); |
141 |
} |
142 |
|
143 |
} else {
|
144 |
myarray.push(gazeCancel); |
145 |
myarray.push(gazeOk); |
146 |
} |
147 |
|
148 |
|
149 |
return myarray;
|
150 |
} |
151 |
|
152 |
function getItemsForLink(element) { |
153 |
var dataValue = "Follow Link"; |
154 |
var dataCancel = "Hide"; |
155 |
var gazeCloseFunction = "closeAll()"; |
156 |
var gazeFunction = ""; |
157 |
var gazeFunctionAfter = "closeAll()"; |
158 |
var gazeTarget = ".openedElement"; |
159 |
var gazeType = "action"; |
160 |
var gazeModel = "dwell"; |
161 |
var isKeyboardButton = false; |
162 |
var gazeClass = 'gazeOk'; |
163 |
|
164 |
if($(element).hasClass('ui-keyboard-button')) { isKeyboardButton = true; gazeClass = 'gazeOk gazeKeyBoardOk' } |
165 |
if($(element).attr('gaze-data-value')) { dataValue = $(element).attr('gaze-data-value'); } |
166 |
if($(element).attr('data-gaze-function-Close')) { gazeCloseFunction = $(element).attr('data-gaze-function-Close'); } |
167 |
if($(element).attr('data-gaze-function-After')) { gazeFunctionAfter = $(element).attr('data-gaze-function-After'); } |
168 |
|
169 |
var gazeCancel = '<div class="gazeCancel" data-gaze="true"'; |
170 |
gazeCancel += ' data-gaze-type="' + gazeType +'"'; |
171 |
gazeCancel += ' data-gaze-model="' + gazeModel +'"'; |
172 |
gazeCancel += ' data-gaze-target="' + gazeTarget +'"'; |
173 |
gazeCancel += ' data-gaze-function="' + gazeCloseFunction +'"'; |
174 |
|
175 |
gazeCancel += '>';
|
176 |
gazeCancel += '<p>';
|
177 |
gazeCancel += dataCancel; |
178 |
gazeCancel += '</p>';
|
179 |
gazeCancel += '</div>';
|
180 |
|
181 |
|
182 |
var gazeOk = '<div class="' + gazeClass +'" data-gaze="true"'; |
183 |
gazeOk += ' data-gaze-type="' + gazeType +'"'; |
184 |
gazeOk += ' data-gaze-model="' + gazeModel +'"'; |
185 |
gazeOk += ' data-gaze-target="' + gazeTarget +'"'; |
186 |
|
187 |
gazeOk += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
188 |
gazeOk += '>';
|
189 |
gazeOk += '<p>';
|
190 |
gazeOk += dataValue; |
191 |
gazeOk += '</p>';
|
192 |
gazeOk += '</div>';
|
193 |
|
194 |
var myarray = [];
|
195 |
|
196 |
myarray.push(gazeCancel); |
197 |
myarray.push(gazeOk); |
198 |
|
199 |
|
200 |
|
201 |
return myarray;
|
202 |
} |
203 |
|
204 |
|
205 |
function getItemsForVideo(element) { |
206 |
var myarray = [];
|
207 |
|
208 |
var dataValue = "Ok"; |
209 |
var dataCancel = "Hide"; |
210 |
var gazeCloseFunction = "closeAll()"; |
211 |
var gazeFunction = ""; |
212 |
var gazeFunctionAfter = "closeAll()"; |
213 |
var gazeTarget = ".openedElement"; |
214 |
var gazeType = "action"; |
215 |
var gazeModel = "dwell"; |
216 |
var isKeyboardButton = false; |
217 |
var gazeClass = 'gazeOk gazeMultimedia'; |
218 |
|
219 |
if($(element).attr('gaze-data-value')) { dataValue = $(element).attr('gaze-data-value'); } |
220 |
if($(element).attr('data-gaze-function-Close')) { gazeCloseFunction = $(element).attr('data-gaze-function-Close'); } |
221 |
if($(element).attr('data-gaze-function-After')) { gazeFunctionAfter = $(element).attr('data-gaze-function-After'); } |
222 |
|
223 |
var gazeCancel = '<div class="gazeCancel" data-gaze="true"'; |
224 |
gazeCancel += ' data-gaze-type="' + gazeType +'"'; |
225 |
gazeCancel += ' data-gaze-model="' + gazeModel +'"'; |
226 |
gazeCancel += ' data-gaze-target="' + gazeTarget +'"'; |
227 |
gazeCancel += ' data-gaze-function="' + gazeCloseFunction +'"'; |
228 |
|
229 |
gazeCancel += '>';
|
230 |
gazeCancel += '<p>';
|
231 |
gazeCancel += dataCancel; |
232 |
gazeCancel += '</p>';
|
233 |
gazeCancel += '</div>';
|
234 |
|
235 |
var gazePause = '<div class="gazeMultiPause ' + gazeClass +'" data-gaze="true"'; |
236 |
gazePause += ' data-gaze-type="' + gazeType +'"'; |
237 |
gazePause += ' data-gaze-model="' + gazeModel +'"'; |
238 |
gazePause += ' data-gaze-target="' + gazeTarget +'"'; |
239 |
|
240 |
gazePause += ' data-gaze-function="vidpause()"';
|
241 |
gazePause += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
242 |
gazePause += '>';
|
243 |
gazePause += '<p>';
|
244 |
gazePause += 'Pause';
|
245 |
gazePause += '</p>';
|
246 |
gazePause += '</div>';
|
247 |
|
248 |
|
249 |
var gazeOk = '<div class="gazeMultiPlay ' + gazeClass +'" data-gaze="true"'; |
250 |
gazeOk += ' data-gaze-type="' + gazeType +'"'; |
251 |
gazeOk += ' data-gaze-model="' + gazeModel +'"'; |
252 |
gazeOk += ' data-gaze-target="' + gazeTarget +'"'; |
253 |
|
254 |
gazeOk += ' data-gaze-function="vidplay()"';
|
255 |
gazeOk += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
256 |
gazeOk += '>';
|
257 |
gazeOk += '<p>';
|
258 |
gazeOk += dataValue; |
259 |
gazeOk += '</p>';
|
260 |
gazeOk += '</div>';
|
261 |
|
262 |
var gazeFullscreen = '<div class="gazeFullScreen ' + gazeClass +'" data-gaze="true"'; |
263 |
gazeFullscreen += ' data-gaze-type="' + gazeType +'"'; |
264 |
gazeFullscreen += ' data-gaze-model="' + gazeModel +'"'; |
265 |
gazeFullscreen += ' data-gaze-function="gazeFullscreenclick()"';
|
266 |
gazeFullscreen += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
267 |
gazeFullscreen += '>';
|
268 |
gazeFullscreen += '<p>';
|
269 |
gazeFullscreen += 'Fullscreen';
|
270 |
gazeFullscreen += '</p>';
|
271 |
gazeFullscreen += '</div>';
|
272 |
|
273 |
var gazeTime = '<div class="gazeMultiSkipTime ' + gazeClass +'" data-gaze="true"'; |
274 |
gazeTime += ' data-gaze-type="' + gazeType +'"'; |
275 |
gazeTime += ' data-gaze-model="' + gazeModel +'"'; |
276 |
gazeTime += ' data-gaze-target="' + gazeTarget +'"'; |
277 |
|
278 |
gazeTime += ' data-gaze-function="skip(10)"';
|
279 |
gazeTime += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
280 |
gazeTime += '>';
|
281 |
gazeTime += '<p>';
|
282 |
gazeTime += 'Skip';
|
283 |
gazeTime += '</p>';
|
284 |
gazeTime += '</div>';
|
285 |
|
286 |
var gazeVolume = '<div class="gazeMultiVolume ' + gazeClass +'" data-gaze="true"'; |
287 |
gazeVolume += ' data-gaze-type="' + gazeType +'"'; |
288 |
gazeVolume += ' data-gaze-model="' + gazeModel +'"'; |
289 |
gazeVolume += ' data-gaze-target="' + gazeTarget +'"'; |
290 |
|
291 |
gazeVolume += ' data-gaze-function="vidvol(0.5)"';
|
292 |
gazeVolume += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
293 |
gazeVolume += '>';
|
294 |
gazeVolume += '<p>';
|
295 |
gazeVolume += 'Volumen';
|
296 |
gazeVolume += '</p>';
|
297 |
gazeVolume += '</div>';
|
298 |
|
299 |
|
300 |
//myarray.push(gazeCancel);
|
301 |
myarray.push(gazeVolume); |
302 |
myarray.push(gazePause); |
303 |
myarray.push(gazeOk); |
304 |
myarray.push(gazeTime); |
305 |
myarray.push(gazeFullscreen); |
306 |
|
307 |
return myarray;
|
308 |
} |
309 |
|
310 |
function getItemsForAudio(element) { |
311 |
var myarray = [];
|
312 |
|
313 |
var dataValue = "Ok"; |
314 |
var dataCancel = "Hide"; |
315 |
var gazeCloseFunction = "closeAll()"; |
316 |
var gazeFunction = ""; |
317 |
var gazeFunctionAfter = "closeAll()"; |
318 |
var gazeTarget = ".openedElement"; |
319 |
var gazeType = "action"; |
320 |
var gazeModel = "dwell"; |
321 |
var isKeyboardButton = false; |
322 |
var gazeClass = 'gazeOk gazeMultimedia'; |
323 |
|
324 |
if($(element).attr('gaze-data-value')) { dataValue = $(element).attr('gaze-data-value'); } |
325 |
if($(element).attr('data-gaze-function-Close')) { gazeCloseFunction = $(element).attr('data-gaze-function-Close'); } |
326 |
if($(element).attr('data-gaze-function-After')) { gazeFunctionAfter = $(element).attr('data-gaze-function-After'); } |
327 |
|
328 |
var gazeCancel = '<div class="gazeCancel" data-gaze="true"'; |
329 |
gazeCancel += ' data-gaze-type="' + gazeType +'"'; |
330 |
gazeCancel += ' data-gaze-model="' + gazeModel +'"'; |
331 |
gazeCancel += ' data-gaze-target="' + gazeTarget +'"'; |
332 |
gazeCancel += ' data-gaze-function="' + gazeCloseFunction +'"'; |
333 |
|
334 |
gazeCancel += '>';
|
335 |
gazeCancel += '<p>';
|
336 |
gazeCancel += dataCancel; |
337 |
gazeCancel += '</p>';
|
338 |
gazeCancel += '</div>';
|
339 |
|
340 |
var gazePause = '<div class="gazeMultiPause ' + gazeClass +'" data-gaze="true"'; |
341 |
gazePause += ' data-gaze-type="' + gazeType +'"'; |
342 |
gazePause += ' data-gaze-model="' + gazeModel +'"'; |
343 |
gazePause += ' data-gaze-target="' + gazeTarget +'"'; |
344 |
|
345 |
gazePause += ' data-gaze-function="audpause()"';
|
346 |
gazePause += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
347 |
gazePause += '>';
|
348 |
gazePause += '<p>';
|
349 |
gazePause += 'Pause';
|
350 |
gazePause += '</p>';
|
351 |
gazePause += '</div>';
|
352 |
|
353 |
|
354 |
var gazeOk = '<div class="gazeMultiPlay ' + gazeClass +'" data-gaze="true"'; |
355 |
gazeOk += ' data-gaze-type="' + gazeType +'"'; |
356 |
gazeOk += ' data-gaze-model="' + gazeModel +'"'; |
357 |
gazeOk += ' data-gaze-target="' + gazeTarget +'"'; |
358 |
|
359 |
gazeOk += ' data-gaze-function="audplay()"';
|
360 |
gazeOk += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
361 |
gazeOk += '>';
|
362 |
gazeOk += '<p>';
|
363 |
gazeOk += dataValue; |
364 |
gazeOk += '</p>';
|
365 |
gazeOk += '</div>';
|
366 |
|
367 |
var gazeTime = '<div class="gazeMultiSkipTime ' + gazeClass +'" data-gaze="true"'; |
368 |
gazeTime += ' data-gaze-type="' + gazeType +'"'; |
369 |
gazeTime += ' data-gaze-model="' + gazeModel +'"'; |
370 |
gazeTime += ' data-gaze-target="' + gazeTarget +'"'; |
371 |
|
372 |
gazeTime += ' data-gaze-function="audskip(10)"';
|
373 |
gazeTime += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
374 |
gazeTime += '>';
|
375 |
gazeTime += '<p>';
|
376 |
gazeTime += 'Skip';
|
377 |
gazeTime += '</p>';
|
378 |
gazeTime += '</div>';
|
379 |
|
380 |
var gazeVolume = '<div class="gazeMultiVolume ' + gazeClass +'" data-gaze="true"'; |
381 |
gazeVolume += ' data-gaze-type="' + gazeType +'"'; |
382 |
gazeVolume += ' data-gaze-model="' + gazeModel +'"'; |
383 |
gazeVolume += ' data-gaze-target="' + gazeTarget +'"'; |
384 |
|
385 |
gazeVolume += ' data-gaze-function="audplay()"';
|
386 |
gazeVolume += ' data-gaze-function-after="' + gazeFunctionAfter +'"'; |
387 |
gazeVolume += '>';
|
388 |
gazeVolume += '<p>';
|
389 |
gazeVolume += 'Volumen';
|
390 |
gazeVolume += '</p>';
|
391 |
gazeVolume += '</div>';
|
392 |
|
393 |
|
394 |
myarray.push(gazeCancel); |
395 |
myarray.push(gazePause); |
396 |
myarray.push(gazeOk); |
397 |
myarray.push(gazeTime); |
398 |
myarray.push(gazeVolume); |
399 |
|
400 |
return myarray;
|
401 |
} |