Commit d4d0fe971e259bcce4cae19fd95fe7e259aacc59

Authored by Adabriand Furtado
1 parent 5bfc2de5
Exists in master and in 1 other branch dynamic

Comentários no módulo de controle do Workflow e remoção de código desnecessário.

view/assets/js/articulation.js
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 $(articulation_x_y + " .ball-selector").off("click").on("click", function(a) { 31 $(articulation_x_y + " .ball-selector").off("click").on("click", function(a) {
32 var b = $(a.target); 32 var b = $(a.target);
33 if (!b.hasClass("ball-selector")) { 33 if (!b.hasClass("ball-selector")) {
34 - dynworkflow.selectedConfig(); 34 + dynworkflow.userSelectedAnOption();
35 return; 35 return;
36 } 36 }
37 var c = b.parent(".grid-row"), 37 var c = b.parent(".grid-row"),
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 selectedY = g; 42 selectedY = g;
43 _setupModuleZ(hand); 43 _setupModuleZ(hand);
44 //_updateParameterJSON(hand); 44 //_updateParameterJSON(hand);
45 - dynworkflow.selectedConfig(); 45 + dynworkflow.userSelectedAnOption();
46 }); 46 });
47 } 47 }
48 48
@@ -52,7 +52,7 @@ @@ -52,7 +52,7 @@
52 $(articulation_z + " .ball-selector").off("click").on("click", function(a) { 52 $(articulation_z + " .ball-selector").off("click").on("click", function(a) {
53 var b = $(a.target); 53 var b = $(a.target);
54 if (!b.hasClass("ball-selector")) { 54 if (!b.hasClass("ball-selector")) {
55 - dynworkflow.selectedConfig(); 55 + dynworkflow.userSelectedAnOption();
56 return; 56 return;
57 } 57 }
58 var c = b.parent(".grid-row"), 58 var c = b.parent(".grid-row"),
@@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
60 h = b.attr("data-z"); 60 h = b.attr("data-z");
61 b.attr("data-z") && e.attr("data-z", h), _updateASelector(articulation_z, b); 61 b.attr("data-z") && e.attr("data-z", h), _updateASelector(articulation_z, b);
62 //_updateParameterJSON(hand); 62 //_updateParameterJSON(hand);
63 - dynworkflow.selectedConfig(); 63 + dynworkflow.userSelectedAnOption();
64 }); 64 });
65 } 65 }
66 66
view/assets/js/configuration.js
@@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
4 var baseId = ".selection-panel-body[mainConfig=right-hand][subConfig=configuracao][step=1]"; 4 var baseId = ".selection-panel-body[mainConfig=right-hand][subConfig=configuracao][step=1]";
5 $(baseId + " .selection-panel-option" 5 $(baseId + " .selection-panel-option"
6 ).off("click").on("click", function() { 6 ).off("click").on("click", function() {
7 - wikilibras.selectConfig(baseId, this);  
8 - dynworkflow.selectedConfig(); 7 + wikilibras.selectAnOption(baseId, this);
  8 + dynworkflow.userSelectedAnOption();
9 }); 9 });
10 }; 10 };
11 11
@@ -13,8 +13,8 @@ @@ -13,8 +13,8 @@
13 var stepTwoBaseId = ".selection-panel-body[mainConfig=right-hand][subConfig=configuracao][step=2]"; 13 var stepTwoBaseId = ".selection-panel-body[mainConfig=right-hand][subConfig=configuracao][step=2]";
14 $(stepTwoBaseId + " .selection-panel-option").off("click").on( 14 $(stepTwoBaseId + " .selection-panel-option").off("click").on(
15 "click", function() { 15 "click", function() {
16 - wikilibras.selectConfig(stepTwoBaseId, this);  
17 - dynworkflow.selectedConfig(); 16 + wikilibras.selectAnOption(stepTwoBaseId, this);
  17 + dynworkflow.userSelectedAnOption();
18 }); 18 });
19 19
20 var stepOneBaseId = ".selection-panel-body[mainConfig=right-hand][subConfig=configuracao][step=1]"; 20 var stepOneBaseId = ".selection-panel-body[mainConfig=right-hand][subConfig=configuracao][step=1]";
view/assets/js/dynamic-selection-workflow.js
1 (function(dynworkflow, $, undefined) { 1 (function(dynworkflow, $, undefined) {
2 2
  3 + // Workflow configuration
3 var jsonWF = {}; 4 var jsonWF = {};
4 var baseUrl = ""; 5 var baseUrl = "";
5 6
  7 + // Main configurations: right-hand, left-hand and facial
6 var mainConfig = ""; 8 var mainConfig = "";
  9 + // The converted Main Config (right/left-hand) to hand for using the same configuration
7 var preprocessedMainConfig = ""; 10 var preprocessedMainConfig = "";
8 - var currentSubconfigParent = ""; 11 + // Subconfigurations: Movimento, articulacao, configuracao, orientacao, etc
9 var currentSubconfig = ""; 12 var currentSubconfig = "";
10 var currentSubConfigName = ""; 13 var currentSubConfigName = "";
  14 + var currentSubconfigParent = "";
11 var currentStep = 0; 15 var currentStep = 0;
12 16
13 function _preprocessMainConfig(config) { 17 function _preprocessMainConfig(config) {
14 config = config.replace("right-hand", "hand"); 18 config = config.replace("right-hand", "hand");
15 config = config.replace("left-hand", "hand"); 19 config = config.replace("left-hand", "hand");
16 return config; 20 return config;
17 - }; 21 + }
18 22
19 function _getFirstKey(json) { 23 function _getFirstKey(json) {
20 var first_key = undefined; 24 var first_key = undefined;
@@ -44,6 +48,7 @@ @@ -44,6 +48,7 @@
44 _showSubconfiguration(mainConfig, currentSubConfigName, currentStep); 48 _showSubconfiguration(mainConfig, currentSubConfigName, currentStep);
45 } 49 }
46 50
  51 + // It checks if a selection panel is already loaded
47 function _isSubconfigurationPanelLoaded(mainConfig, subConfig, stepNumber) { 52 function _isSubconfigurationPanelLoaded(mainConfig, subConfig, stepNumber) {
48 var stepNumber = stepNumber + 1; 53 var stepNumber = stepNumber + 1;
49 return $(".selection-panel-body[mainConfig=" + mainConfig + "][subConfig=" + subConfig + 54 return $(".selection-panel-body[mainConfig=" + mainConfig + "][subConfig=" + subConfig +
@@ -56,9 +61,9 @@ @@ -56,9 +61,9 @@
56 "][step=" + stepNumber + "]").show(); 61 "][step=" + stepNumber + "]").show();
57 } 62 }
58 63
  64 + // It renders or shows the requested selection panel
59 function _showSubconfiguration(mainConfig, subConfig, stepNumber) { 65 function _showSubconfiguration(mainConfig, subConfig, stepNumber) {
60 $(".selection-panel-body").hide(); 66 $(".selection-panel-body").hide();
61 -  
62 if (_isSubconfigurationPanelLoaded(mainConfig, subConfig, stepNumber)) { 67 if (_isSubconfigurationPanelLoaded(mainConfig, subConfig, stepNumber)) {
63 _showLoadedSubconfigurationPanel(mainConfig, subConfig, stepNumber); 68 _showLoadedSubconfigurationPanel(mainConfig, subConfig, stepNumber);
64 } else { 69 } else {
@@ -67,36 +72,9 @@ @@ -67,36 +72,9 @@
67 dynengine.render(baseUrl, "/" + preprocessedMainConfig + "/" + subConfig + 72 dynengine.render(baseUrl, "/" + preprocessedMainConfig + "/" + subConfig +
68 "/" + step + ".html", "#selection-panel", true); 73 "/" + step + ".html", "#selection-panel", true);
69 } 74 }
70 -  
71 _selectTimelineIcon(mainConfig, subConfig, true); 75 _selectTimelineIcon(mainConfig, subConfig, true);
72 } 76 }
73 77
74 - dynworkflow.selectMainConfig = function(config) {  
75 - mainConfig = config;  
76 - preprocessedMainConfig = _preprocessMainConfig(mainConfig)  
77 - currentSubConfigName = _getFirstKey(jsonWF[preprocessedMainConfig]);  
78 - currentSubconfig = jsonWF[preprocessedMainConfig][currentSubConfigName];  
79 - currentSubconfigParent = jsonWF[preprocessedMainConfig];  
80 - currentStep = 0;  
81 -  
82 - _showCurrentSubconfig();  
83 -  
84 - if (preprocessedMainConfig != "hand" || _isTimelineLoaded()) {  
85 - _setupTimeline();  
86 - }  
87 - }  
88 -  
89 - dynworkflow.selectMovement = function(movement) {  
90 - var subconfigJSON = currentSubconfig[movement]  
91 - currentSubConfigName = _getFirstKey(subconfigJSON);  
92 - currentSubconfigParent = subconfigJSON;  
93 - currentSubconfig = subconfigJSON[currentSubConfigName];  
94 - currentStep = 0;  
95 -  
96 - _showCurrentSubconfig();  
97 - _setupTimeline();  
98 - }  
99 -  
100 function _selectSubConfig(subConfig) { 78 function _selectSubConfig(subConfig) {
101 currentSubConfigName = subConfig; 79 currentSubConfigName = subConfig;
102 currentSubconfig = currentSubconfigParent[currentSubConfigName]; 80 currentSubconfig = currentSubconfigParent[currentSubConfigName];
@@ -105,15 +83,8 @@ @@ -105,15 +83,8 @@
105 _showCurrentSubconfig(); 83 _showCurrentSubconfig();
106 } 84 }
107 85
108 - dynworkflow.selectSubConfig = function(subConfig) {  
109 - _selectSubConfig(subConfig);  
110 - }  
111 -  
112 - dynworkflow.nextSubConfig = function() {  
113 - _nextSubConfig();  
114 - }  
115 -  
116 - function _nextSubConfig() { 86 + // It show the next selection panel on the workflow
  87 + function _showNextSubConfig() {
117 currentStep = currentStep + 1; 88 currentStep = currentStep + 1;
118 if (currentStep < currentSubconfig.length) { 89 if (currentStep < currentSubconfig.length) {
119 _showCurrentSubconfig(); 90 _showCurrentSubconfig();
@@ -127,17 +98,15 @@ @@ -127,17 +98,15 @@
127 } 98 }
128 } 99 }
129 100
130 - function _selectedConfig() { 101 + // A callback function to be called when the user selects a option on a panel
  102 + function _userSelectedAnOption() {
131 if (currentStep == currentSubconfig.length - 1) { 103 if (currentStep == currentSubconfig.length - 1) {
132 _setupCheckIcon(mainConfig, currentSubConfigName); 104 _setupCheckIcon(mainConfig, currentSubConfigName);
133 } 105 }
134 - _nextSubConfig();  
135 - }  
136 -  
137 - dynworkflow.selectedConfig = function() {  
138 - _selectedConfig(); 106 + _showNextSubConfig();
139 } 107 }
140 108
  109 + // Timeline functions
141 function _selectTimelineIcon(mainConfig, subConfig) { 110 function _selectTimelineIcon(mainConfig, subConfig) {
142 var icon_id = ".subconfiguration-panel[mainConfig=" + mainConfig + 111 var icon_id = ".subconfiguration-panel[mainConfig=" + mainConfig +
143 "] .icon_container[json_name=" + subConfig + "]"; 112 "] .icon_container[json_name=" + subConfig + "]";
@@ -177,7 +146,7 @@ @@ -177,7 +146,7 @@
177 } 146 }
178 147
179 function _setupTimelineIcons(timelineBaseId) { 148 function _setupTimelineIcons(timelineBaseId) {
180 - $(timelineBaseId + " .icon_container").hide(); 149 + $(timelineBaseId + " .icon_container[json_name]").hide();
181 150
182 for (var name in currentSubconfigParent) { 151 for (var name in currentSubconfigParent) {
183 $(timelineBaseId + " .icon_container[json_name=" + name + "]").show(); 152 $(timelineBaseId + " .icon_container[json_name=" + name + "]").show();
@@ -188,8 +157,7 @@ @@ -188,8 +157,7 @@
188 //TODO Refact 157 //TODO Refact
189 _selectTimelineIcon(mainConfig, "articulacao"); 158 _selectTimelineIcon(mainConfig, "articulacao");
190 } 159 }
191 -  
192 - $(timelineBaseId + " .icon_container").off("click").on("click", 160 + $(timelineBaseId + " .icon_container[json_name]").off("click").on("click",
193 function() { 161 function() {
194 var subConfig = $(this).attr("json_name"); 162 var subConfig = $(this).attr("json_name");
195 _selectSubConfig(subConfig); 163 _selectSubConfig(subConfig);
@@ -210,12 +178,42 @@ @@ -210,12 +178,42 @@
210 } 178 }
211 } 179 }
212 180
213 - dynworkflow.setupTimeline = function() { 181 + // Public methods
  182 + dynworkflow.selectMainConfig = function(config) {
  183 + mainConfig = config;
  184 + preprocessedMainConfig = _preprocessMainConfig(mainConfig);
  185 + currentSubConfigName = _getFirstKey(jsonWF[preprocessedMainConfig]);
  186 + currentSubconfig = jsonWF[preprocessedMainConfig][currentSubConfigName];
  187 + currentSubconfigParent = jsonWF[preprocessedMainConfig];
  188 + currentStep = 0;
  189 +
  190 + _showCurrentSubconfig();
  191 +
  192 + if (preprocessedMainConfig != "hand" || _isTimelineLoaded()) {
  193 + _setupTimeline();
  194 + }
  195 + }
  196 +
  197 + dynworkflow.selectMovement = function(movement) {
  198 + var subconfigJSON = currentSubconfig[movement]
  199 + currentSubConfigName = _getFirstKey(subconfigJSON);
  200 + currentSubconfigParent = subconfigJSON;
  201 + currentSubconfig = subconfigJSON[currentSubConfigName];
  202 + currentStep = 0;
  203 +
  204 + _showCurrentSubconfig();
214 _setupTimeline(); 205 _setupTimeline();
215 } 206 }
216 - 207 +
  208 + dynworkflow.selectSubConfig = function(subConfig) {
  209 + _selectSubConfig(subConfig);
  210 + }
  211 +
  212 + dynworkflow.userSelectedAnOption = function() {
  213 + _userSelectedAnOption();
  214 + }
  215 +
217 dynworkflow.load = function() { 216 dynworkflow.load = function() {
218 - loadedPanel = {};  
219 baseUrl = $('#server-url').data('url'); 217 baseUrl = $('#server-url').data('url');
220 $.get(baseUrl + "/conf/selection-workflow-json", function(result) { 218 $.get(baseUrl + "/conf/selection-workflow-json", function(result) {
221 jsonWF = $.parseJSON(result); 219 jsonWF = $.parseJSON(result);
view/assets/js/movement.js
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 var baseId = ".selection-panel-body[mainConfig=right-hand][subConfig=movimento][step=1]"; 4 var baseId = ".selection-panel-body[mainConfig=right-hand][subConfig=movimento][step=1]";
5 $(baseId + " .selection-panel-option").off("click").on( 5 $(baseId + " .selection-panel-option").off("click").on(
6 "click", function() { 6 "click", function() {
7 - wikilibras.selectConfig(baseId, this); 7 + wikilibras.selectAnOption(baseId, this);
8 dynworkflow.selectMovement($(this).attr("value")); 8 dynworkflow.selectMovement($(this).attr("value"));
9 }); 9 });
10 }; 10 };
view/assets/js/orientation.js
@@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
4 var baseId = ".selection-panel-body[mainConfig=right-hand][subConfig=orientacao][step=1]"; 4 var baseId = ".selection-panel-body[mainConfig=right-hand][subConfig=orientacao][step=1]";
5 $(baseId + " .selection-panel-option").off("click").on( 5 $(baseId + " .selection-panel-option").off("click").on(
6 "click", function() { 6 "click", function() {
7 - wikilibras.selectConfig(baseId, this);  
8 - dynworkflow.selectedConfig(); 7 + wikilibras.selectAnOption(baseId, this);
  8 + dynworkflow.userSelectedAnOption();
9 }); 9 });
10 }; 10 };
11 11
view/assets/js/wikilibras.js
@@ -186,8 +186,6 @@ @@ -186,8 +186,6 @@
186 } 186 }
187 187
188 function _hideSelectionPanel() { 188 function _hideSelectionPanel() {
189 - _setupCurrentSubConfiguration(true, false);  
190 -  
191 var config = _getCurrentMainConfiguration(); 189 var config = _getCurrentMainConfiguration();
192 _deselectIcon(config); 190 _deselectIcon(config);
193 if (_isConfigurationComplete(config)) { 191 if (_isConfigurationComplete(config)) {
@@ -225,148 +223,6 @@ @@ -225,148 +223,6 @@
225 $("#ready-button").addClass("disabled"); 223 $("#ready-button").addClass("disabled");
226 } 224 }
227 } 225 }
228 - ;  
229 -  
230 - // Subconfigurations  
231 - function _getCurrentSubConfiguration() {  
232 - var config = _getCurrentMainConfiguration();  
233 - return $(  
234 - "#" +  
235 - config +  
236 - "-subconfiguration-options .icon_container[select=true]")  
237 - .attr("panel");  
238 - }  
239 -  
240 - function _getNextSubConfiguration() {  
241 - var config = _getCurrentMainConfiguration();  
242 - return $(  
243 - "#" +  
244 - config +  
245 - "-subconfiguration-options .icon_container[select=true]")  
246 - .attr("next");  
247 - }  
248 -  
249 - function _getPreviousSubConfiguration() {  
250 - var config = _getCurrentMainConfiguration();  
251 - return $(  
252 - "#" +  
253 - config +  
254 - "-subconfiguration-options .icon_container[select=true]")  
255 - .attr("previous");  
256 - }  
257 -  
258 - function _setupCurrentSubConfiguration(onHide, onFinish) {  
259 - var current_subconfig = _getCurrentSubConfiguration();  
260 -  
261 - if (!onHide) {  
262 - _selectSubConfigurationIcon(current_subconfig, false);  
263 - }  
264 -  
265 - // Add a check if the user finished a configuration  
266 - if (onFinish && _hasSelectedAnOption(current_subconfig)) {  
267 - _setupCheckSubConfigurationIcon(current_subconfig);  
268 - }  
269 -  
270 - // Hide the current selection panel  
271 - $("#" + current_subconfig).hide();  
272 - }  
273 -  
274 - function _hasMultipleConfigurations(config) {  
275 - return $("#" + config).is("[multiple-config]");  
276 - }  
277 -  
278 - function _handleFingersPositionSubConfiguration(main_config) {  
279 - var finger_group = $(  
280 - "#" +  
281 - main_config +  
282 - "-fingers-position-1 .selection-panel-option[select=true]")  
283 - .attr("group");  
284 - $(".finger-group").hide();  
285 - $(".finger-group[group=" + finger_group + "]").show();  
286 - }  
287 -  
288 - function _setupMultipleConfiguration(config, selectEvent) {  
289 - var sub_config_id = "#" + config + " [sub-config]";  
290 - var has_active_config = $(sub_config_id).is(":visible");  
291 -  
292 - var main_config = _getCurrentMainConfiguration();  
293 - var icon_name = _getSubConfigurationIconName(config);  
294 - var icon_id = "#" + main_config +  
295 - "-subconfiguration-options .icon_container[name=" + icon_name +  
296 - "]";  
297 - var sub_config = "";  
298 -  
299 - if (!has_active_config || !selectEvent) {  
300 - sub_config = config + "-1";  
301 - if (!$(icon_id).is("[tmp-next]")) {  
302 - $(icon_id).attr("tmp-next", $(icon_id).attr("next"));  
303 - $(icon_id).attr("next", config);  
304 - }  
305 - } else {  
306 - sub_config = $(sub_config_id + ":visible").attr("next");  
307 - }  
308 - $(sub_config_id).hide();  
309 -  
310 - if (sub_config == "end") {  
311 - var tmp_next = $(icon_id).attr("tmp-next");  
312 - $(icon_id).removeAttr("tmp-next");  
313 - $(icon_id).attr("next", tmp_next);  
314 - config = tmp_next;  
315 - if (_hasMultipleConfigurations(config)) {  
316 - config = _setupMultipleConfiguration(config, selectEvent);  
317 - }  
318 - } else {  
319 - if (sub_config.indexOf("fingers-position-2") != -1) {  
320 - _handleFingersPositionSubConfiguration(main_config);  
321 - }  
322 - $("#" + sub_config).show();  
323 - }  
324 - return config;  
325 - }  
326 -  
327 - function _getSubConfigurationIconName(subconfig) {  
328 - subconfig = subconfig.replace("right-hand", "hand");  
329 - subconfig = subconfig.replace("left-hand", "hand");  
330 - return subconfig;  
331 - }  
332 -  
333 - function _selectSubConfigurationIcon(subconfig, isSelect) {  
334 - var iconName = _getSubConfigurationIconName(subconfig);  
335 - _selectIcon(iconName, isSelect, subconfig);  
336 - }  
337 -  
338 - function _setupCheckSubConfigurationIcon(subconfig) {  
339 - var iconName = _getSubConfigurationIconName(subconfig);  
340 - _setupCheckIcon(iconName, true, subconfig);  
341 - }  
342 -  
343 - function _showSubConfiguration(next_config, selectEvent) {  
344 - var current_config = _getCurrentSubConfiguration();  
345 - var next_has_multiple_config = _hasMultipleConfigurations(next_config);  
346 -  
347 - if (current_config == next_config && !next_has_multiple_config)  
348 - return;  
349 -  
350 - var onFinish = true;  
351 - if (next_has_multiple_config) {  
352 - next_config = _setupMultipleConfiguration(next_config, selectEvent);  
353 - onFinish = next_config != current_config;  
354 - }  
355 -  
356 - _setupCurrentSubConfiguration(false, onFinish);  
357 -  
358 - if (next_config != "end") {  
359 - _selectSubConfigurationIcon(next_config, true);  
360 - $("#" + next_config).show();  
361 -  
362 - var main_config = _getCurrentMainConfiguration();  
363 - if (_isHandMovimentComplete(main_config)) {  
364 - $(".subconfiguration-panel").fadeIn(300);  
365 - }  
366 - } else {  
367 - _hideSelectionPanel();  
368 - }  
369 - }  
370 226
371 function _setupGUIOnSelection(option) { 227 function _setupGUIOnSelection(option) {
372 $("#ready-button").fadeOut(300); 228 $("#ready-button").fadeOut(300);
@@ -497,7 +353,7 @@ @@ -497,7 +353,7 @@
497 return $(el).attr("value"); 353 return $(el).attr("value");
498 } 354 }
499 355
500 - function _selectConfig(parentId, el) { 356 + function _selectAnOption(parentId, el) {
501 $(parentId + " .selection-panel-option[select=true]") 357 $(parentId + " .selection-panel-option[select=true]")
502 .removeAttr("select"); 358 .removeAttr("select");
503 $(el).attr("select", true); 359 $(el).attr("select", true);
@@ -510,17 +366,6 @@ @@ -510,17 +366,6 @@
510 $("#selection-panel .x").off("click").on("click", function() { 366 $("#selection-panel .x").off("click").on("click", function() {
511 _hideSelectionPanel(); 367 _hideSelectionPanel();
512 }); 368 });
513 - // $(".selection-panel-body .selection-panel-option").off("click").on(  
514 - // "click", function() {  
515 - // _selectConfig(this);  
516 - // var next = _getNextSubConfiguration();  
517 - // _showSubConfiguration(next, true);  
518 - // });  
519 - // $(".subconfiguration-options .icon_container").off("click").on("click",  
520 - // function() {  
521 - // var subconfig = $(this).attr("panel");  
522 - // _showSubConfiguration(subconfig, false);  
523 - // });  
524 // $(".arrow[name=right-arrow]").off("click").on("click", function() { 369 // $(".arrow[name=right-arrow]").off("click").on("click", function() {
525 // var next = _getNextSubConfiguration(); 370 // var next = _getNextSubConfiguration();
526 // _showSubConfiguration(next, false); 371 // _showSubConfiguration(next, false);
@@ -683,8 +528,8 @@ @@ -683,8 +528,8 @@
683 _hideSelectionPanel(); 528 _hideSelectionPanel();
684 } 529 }
685 530
686 - wikilibras.selectConfig = function(parentId, el) {  
687 - _selectConfig(parentId, el); 531 + wikilibras.selectAnOption = function(parentId, el) {
  532 + _selectAnOption(parentId, el);
688 } 533 }
689 534
690 wikilibras.enableIconHover = function(container, isHover) { 535 wikilibras.enableIconHover = function(container, isHover) {