Commit adda3f9afd1ab642ed3b9ba3a3c4362ff9af482a

Authored by Adabriand Furtado
1 parent 3bab6ad9
Exists in master and in 1 other branch dynamic

Adicionado o movimento semicircular.

Showing 50 changed files with 150 additions and 37 deletions   Show diff stats
view/assets/css/main.css
@@ -307,6 +307,7 @@ ul.rig li { @@ -307,6 +307,7 @@ ul.rig li {
307 307
308 ul.rig.columns-2 li { 308 ul.rig.columns-2 li {
309 width: 45%; 309 width: 45%;
  310 + font-size: 17px;
310 } 311 }
311 312
312 ul.rig.columns-3 li { 313 ul.rig.columns-3 li {
@@ -467,6 +468,3 @@ ul.rig.columns-4 li { @@ -467,6 +468,3 @@ ul.rig.columns-4 li {
467 #completed-all-task-msg { 468 #completed-all-task-msg {
468 display: none; 469 display: none;
469 } 470 }
470 -  
471 -  
472 -  
view/assets/js/articulation.js
@@ -6,9 +6,14 @@ @@ -6,9 +6,14 @@
6 function _updateASelector(container, ballSelector, step) { 6 function _updateASelector(container, ballSelector, step) {
7 var pointSelector = parseInt(step) == 2 ? "A" : "B"; 7 var pointSelector = parseInt(step) == 2 ? "A" : "B";
8 $(container + ' .ball-selector.active').each(function() { 8 $(container + ' .ball-selector.active').each(function() {
9 - $(this).removeClass('active'), $(this).find('.point-selector').remove();  
10 - }), ballSelector.addClass('active'), ballSelector.append('<div class="point-selector"><img src="' + server_host +  
11 - '/img/pa/' + pointSelector + '-Seletor.png" class="point-selector" alt=""></div>'); 9 + $(this).removeClass('active');
  10 + $(this).find('.point-selector').remove();
  11 + });
  12 + ballSelector.addClass('active');
  13 + ballSelector.append('<div class="point-selector"><img src="' + server_host + '/img/pa/'
  14 + + pointSelector + '-Seletor.png" class="point-selector" alt=""></div>');
  15 + $(container + ' .selection-panel-option[select=true]').attr('select', false);
  16 + $(ballSelector).attr('select', true);
12 } 17 }
13 18
14 function _getSelectedY(hand, subConfig, step) { 19 function _getSelectedY(hand, subConfig, step) {
view/assets/js/configuration.js
@@ -21,6 +21,9 @@ @@ -21,6 +21,9 @@
21 21
22 var finger_group = $(stepOneBaseId + ' .selection-panel-option[select=true]').attr('value'); 22 var finger_group = $(stepOneBaseId + ' .selection-panel-option[select=true]').attr('value');
23 finger_group = typeof finger_group == 'undefined' ? '0' : finger_group; 23 finger_group = typeof finger_group == 'undefined' ? '0' : finger_group;
  24 +
  25 + // clean next step
  26 + dynworkflow.cleanStep(hand, subConfig, nextStep);
24 $(stepTwoBaseId + ' .finger-group').hide(); 27 $(stepTwoBaseId + ' .finger-group').hide();
25 $(stepTwoBaseId + ' .finger-group[group=' + finger_group + ']').show(); 28 $(stepTwoBaseId + ' .finger-group[group=' + finger_group + ']').show();
26 } 29 }
view/assets/js/defaultConfigurationHandler.js
@@ -9,5 +9,19 @@ @@ -9,5 +9,19 @@
9 dynworkflow.userSelectedAnOption(); 9 dynworkflow.userSelectedAnOption();
10 }); 10 });
11 }; 11 };
  12 +
  13 + function _startVideoLoop(hand, subConfig, step, timeBetweenLoops) {
  14 + setTimeout(function(){
  15 + $('.selection-panel-body[mainConfig=' + hand + '][subConfig=' +
  16 + subConfig + '][step=' + step + '] video').each(function(){
  17 + $(this).get(0).play();
  18 + });
  19 + _startVideoLoop(hand, subConfig, step, timeBetweenLoops);
  20 + }, timeBetweenLoops);
  21 + }
  22 +
  23 + defaultConfigurationHandler.startVideoLoop = function(hand, subConfig, step, timeBetweenLoops) {
  24 + _startVideoLoop(hand, subConfig, step, timeBetweenLoops);
  25 + }
12 26
13 }(window.defaultConfigurationHandler = window.defaultConfigurationHandler || {}, jQuery)); 27 }(window.defaultConfigurationHandler = window.defaultConfigurationHandler || {}, jQuery));
view/assets/js/dynamic-loading-engine.js
@@ -34,6 +34,14 @@ @@ -34,6 +34,14 @@
34 } 34 }
35 } 35 }
36 36
  37 + var replaceMovementNameTag = function(data, mainConfig) {
  38 + var selectedMovement = movement.getPreviousSelectedMovement(mainConfig);
  39 + if (typeof selectedMovement != "undefined") {
  40 + return data.replace(/{{ movement-name }}/g, selectedMovement);
  41 + }
  42 + return data
  43 + }
  44 +
37 if (matchSubConfig) { // case defined 45 if (matchSubConfig) { // case defined
38 // There is no specific(right or left hand dependent) assets for: articulacao, duracao, expressao, movimento, transicao 46 // There is no specific(right or left hand dependent) assets for: articulacao, duracao, expressao, movimento, transicao
39 // Specific configurations: configuracao, orientacao 47 // Specific configurations: configuracao, orientacao
@@ -59,6 +67,7 @@ @@ -59,6 +67,7 @@
59 } 67 }
60 } 68 }
61 goodData = replaceHandFolderTag(goodData, currentMainConfig); 69 goodData = replaceHandFolderTag(goodData, currentMainConfig);
  70 + goodData = replaceMovementNameTag(goodData, currentMainConfig);
62 goodData = goodData.replace(/{{ hand }}/g, currentMainConfig); 71 goodData = goodData.replace(/{{ hand }}/g, currentMainConfig);
63 return goodData.replace(/{{ server }}/g, url); 72 return goodData.replace(/{{ server }}/g, url);
64 }; 73 };
@@ -66,7 +75,6 @@ @@ -66,7 +75,6 @@
66 dynengine.render = function(serverUrl, templatePath, target, prepend, callback) { 75 dynengine.render = function(serverUrl, templatePath, target, prepend, callback) {
67 var url = serverUrl + templatePath; 76 var url = serverUrl + templatePath;
68 $.get(url, function(data) { 77 $.get(url, function(data) {
69 - // TODO replace or append boolean  
70 console.log('got: ' + url); 78 console.log('got: ' + url);
71 79
72 var processedHtml = _preprocessHtml(data, serverUrl); 80 var processedHtml = _preprocessHtml(data, serverUrl);
view/assets/js/dynamic-selection-workflow.js
@@ -103,6 +103,8 @@ @@ -103,6 +103,8 @@
103 function _selectSubConfig(subConfig) { 103 function _selectSubConfig(subConfig) {
104 if (subConfig == 'movimento') { 104 if (subConfig == 'movimento') {
105 _updateAndGetMovementConfig(); 105 _updateAndGetMovementConfig();
  106 + } else if (currentSubConfigName == 'movimento') {
  107 + _updateAndGetFirstMovementSubConfig();
106 } 108 }
107 currentSubConfigName = subConfig; 109 currentSubConfigName = subConfig;
108 currentSubconfig = currentSubconfigParent[currentSubConfigName]; 110 currentSubconfig = currentSubconfigParent[currentSubConfigName];
@@ -133,14 +135,30 @@ @@ -133,14 +135,30 @@
133 } 135 }
134 } 136 }
135 } 137 }
  138 +
  139 + function _checkIfFinished(mainConfig, currentSubConfigName) {
  140 + var numberOfSteps = currentSubconfig.length;
  141 + var completedSteps = $('.selection-panel-body[mainConfig=' + mainConfig +
  142 + '][subConfig=' + currentSubConfigName + '] .selection-panel-option[select=true]').length;
  143 + return completedSteps != 0 && completedSteps == numberOfSteps;
  144 + }
136 145
137 // A callback function to be called when the user selects a option on a panel 146 // A callback function to be called when the user selects a option on a panel
138 function _userSelectedAnOption() { 147 function _userSelectedAnOption() {
139 - if (currentStep == currentSubconfig.length - 1) { 148 + if (_checkIfFinished(mainConfig, currentSubConfigName)) {
140 _setupCheckIcon(mainConfig, currentSubConfigName); 149 _setupCheckIcon(mainConfig, currentSubConfigName);
141 } 150 }
142 _showNextSubConfig(); 151 _showNextSubConfig();
143 } 152 }
  153 +
  154 + function _cleanStep(mainConfig, subConfig, step) {
  155 + var baseId = '.selection-panel-body[mainConfig=' + mainConfig + '][subConfig=' +
  156 + subConfig + '][step=' + step + ']';
  157 + $(baseId + ' .selection-panel-option').removeAttr('select');
  158 + var icon_id = '.subconfiguration-panel[mainConfig=' + mainConfig +
  159 + '] .icon_container[json_name=' + subConfig + ']';
  160 + $(icon_id).removeAttr('complete');
  161 + }
144 162
145 // Timeline functions 163 // Timeline functions
146 function _selectTimelineIcon(mainConfig, subConfig) { 164 function _selectTimelineIcon(mainConfig, subConfig) {
@@ -251,6 +269,20 @@ @@ -251,6 +269,20 @@
251 } 269 }
252 }; 270 };
253 271
  272 + function _cleanPreviousLoadedPanel() {
  273 + $('.selection-panel-body[mainConfig=' + mainConfig + ']').each(function() {
  274 + var subConfigName = $(this).attr("subConfig");
  275 + if (subConfigName.indexOf("articulacao") != -1 ||
  276 + subConfigName.indexOf("configuracao") != -1 ||
  277 + subConfigName.indexOf("orientacao") != -1 ||
  278 + subConfigName.indexOf("movimento") != -1) {
  279 + return;
  280 + }
  281 + $('.selection-panel-body[mainConfig=' + mainConfig + '][subConfig=' +
  282 + subConfigName + ']').remove();
  283 + });
  284 + }
  285 +
254 dynworkflow.selectMovement = function(movement) { 286 dynworkflow.selectMovement = function(movement) {
255 var subconfigJSON = currentSubconfig[movement]; 287 var subconfigJSON = currentSubconfig[movement];
256 currentSubConfigName = _getFirstKey(subconfigJSON); 288 currentSubConfigName = _getFirstKey(subconfigJSON);
@@ -258,6 +290,7 @@ @@ -258,6 +290,7 @@
258 currentSubconfig = subconfigJSON[currentSubConfigName]; 290 currentSubconfig = subconfigJSON[currentSubConfigName];
259 currentStep = 0; 291 currentStep = 0;
260 292
  293 + _cleanPreviousLoadedPanel();
261 _showCurrentSubconfig(); 294 _showCurrentSubconfig();
262 _setupTimeline(true); 295 _setupTimeline(true);
263 }; 296 };
@@ -269,7 +302,11 @@ @@ -269,7 +302,11 @@
269 dynworkflow.userSelectedAnOption = function() { 302 dynworkflow.userSelectedAnOption = function() {
270 _userSelectedAnOption(); 303 _userSelectedAnOption();
271 }; 304 };
272 - 305 +
  306 + dynworkflow.cleanStep = function(mainConfig, subConfig, step) {
  307 + _cleanStep(mainConfig, subConfig, step);
  308 + };
  309 +
273 dynworkflow.getFacialParameters = function() { 310 dynworkflow.getFacialParameters = function() {
274 return _getAttributes(jsonWF['facial']); 311 return _getAttributes(jsonWF['facial']);
275 }; 312 };
view/assets/js/tmpJSONParser.js
@@ -24,9 +24,9 @@ @@ -24,9 +24,9 @@
24 } 24 }
25 25
26 function _parseParameterValue(value) { 26 function _parseParameterValue(value) {
27 - if (typeof value == "string" && value.toLowerCase() == 'true') { 27 + if (typeof value == 'string' && value.toLowerCase() == 'true') {
28 return true; 28 return true;
29 - } else if (typeof value == "string" && value.toLowerCase() == 'false') { 29 + } else if (typeof value == 'string' && value.toLowerCase() == 'false') {
30 return false; 30 return false;
31 } else { 31 } else {
32 return !isNaN(value) ? parseInt(value) : value; 32 return !isNaN(value) ? parseInt(value) : value;
@@ -102,7 +102,20 @@ @@ -102,7 +102,20 @@
102 function _circularMovementParser(tmpJSON, movementName, hand) { 102 function _circularMovementParser(tmpJSON, movementName, hand) {
103 var parsedHand = _parseHand(hand); 103 var parsedHand = _parseHand(hand);
104 _defaultMovementParser(tmpJSON, movementName, hand); 104 _defaultMovementParser(tmpJSON, movementName, hand);
105 - movement_parameter_json[parsedHand][movementName]['lado_oposto'] = false; 105 + var movPlane = movement_parameter_json[parsedHand][movementName]['plano'];
  106 + if (movPlane.indexOf('direita') != -1 || movPlane.indexOf('tras') != -1) {
  107 + movPlane = movPlane.replace('direita', 'esquerda');
  108 + movPlane = movPlane.replace('tras', 'frente');
  109 + movement_parameter_json[parsedHand][movementName]['plano'] = movPlane;
  110 + movement_parameter_json[parsedHand][movementName]['lado_oposto'] = true;
  111 + } else {
  112 + movement_parameter_json[parsedHand][movementName]['lado_oposto'] = false;
  113 + }
  114 +
  115 + if (movPlane == 'frente-cima' || movPlane == 'tras-cima') {
  116 + movement_parameter_json[parsedHand][movementName]['sentido_inverso'] =
  117 + !movement_parameter_json[parsedHand][movementName]['sentido_inverso'];
  118 + }
106 } 119 }
107 120
108 function _parseTempMovementParameterJSON(tmpJSON, hand) { 121 function _parseTempMovementParameterJSON(tmpJSON, hand) {
@@ -115,7 +128,8 @@ @@ -115,7 +128,8 @@
115 128
116 if (movementName == 'retilineo') { 129 if (movementName == 'retilineo') {
117 _retilinearMovementParser(tmpJSON, movementName, hand); 130 _retilinearMovementParser(tmpJSON, movementName, hand);
118 - } else if (movementName == 'circular') { 131 + } else if (movementName == 'circular' ||
  132 + movementName == 'semicircular') {
119 _circularMovementParser(tmpJSON, movementName, hand); 133 _circularMovementParser(tmpJSON, movementName, hand);
120 } else { 134 } else {
121 _defaultMovementParser(tmpJSON, movementName, hand); 135 _defaultMovementParser(tmpJSON, movementName, hand);
view/assets/js/wikilibras.js
@@ -256,14 +256,12 @@ @@ -256,14 +256,12 @@
256 256
257 function _updateTempParameterJSON(mainConfig, subConfig, step, value) { 257 function _updateTempParameterJSON(mainConfig, subConfig, step, value) {
258 var subConfigJSON = tmpParameterJSON[mainConfig][subConfig]; 258 var subConfigJSON = tmpParameterJSON[mainConfig][subConfig];
259 -  
260 if (typeof subConfigJSON == 'undefined') { 259 if (typeof subConfigJSON == 'undefined') {
261 tmpParameterJSON[mainConfig][subConfig] = []; 260 tmpParameterJSON[mainConfig][subConfig] = [];
262 subConfigJSON = tmpParameterJSON[mainConfig][subConfig]; 261 subConfigJSON = tmpParameterJSON[mainConfig][subConfig];
263 } 262 }
264 - 263 +
265 subConfigJSON[parseInt(step) - 1] = value; 264 subConfigJSON[parseInt(step) - 1] = value;
266 - //console.log(tmpParameterJSON);  
267 } 265 }
268 266
269 function _selectAnOption(parentId, el) { 267 function _selectAnOption(parentId, el) {
view/conf/selection-workflow-json
@@ -11,6 +11,11 @@ @@ -11,6 +11,11 @@
11 "configuracao" : ["passo-1", "passo-2"], 11 "configuracao" : ["passo-1", "passo-2"],
12 "orientacao" : ["passo-1"] 12 "orientacao" : ["passo-1"]
13 }, 13 },
  14 + "retilineo" : {
  15 + "articulacao-retilineo": ["passo-1", "passo-2", "passo-3", "passo-4"],
  16 + "configuracao-retilineo": ["passo-1", "passo-2", "passo-3", "passo-4"],
  17 + "orientacao-retilineo": ["passo-1", "passo-2"]
  18 + },
14 "circular" : { 19 "circular" : {
15 "articulacao" : ["passo-1", "passo-2"], 20 "articulacao" : ["passo-1", "passo-2"],
16 "configuracao" : ["passo-1", "passo-2"], 21 "configuracao" : ["passo-1", "passo-2"],
@@ -20,10 +25,14 @@ @@ -20,10 +25,14 @@
20 "velocidade" : ["passo-1"], 25 "velocidade" : ["passo-1"],
21 "sentido_inverso" : ["passo-1"] 26 "sentido_inverso" : ["passo-1"]
22 }, 27 },
23 - "retilineo" : {  
24 - "articulacao-retilineo": ["passo-1", "passo-2", "passo-3", "passo-4"],  
25 - "configuracao-retilineo": ["passo-1", "passo-2", "passo-3", "passo-4"],  
26 - "orientacao-retilineo": ["passo-1", "passo-2"] 28 + "semicircular" : {
  29 + "articulacao" : ["passo-1", "passo-2"],
  30 + "configuracao" : ["passo-1", "passo-2"],
  31 + "orientacao" : ["passo-1"],
  32 + "plano": ["passo-1"],
  33 + "raio" : ["passo-1"],
  34 + "velocidade" : ["passo-1"],
  35 + "sentido_inverso" : ["passo-1"]
27 } 36 }
28 } 37 }
29 } 38 }
view/hand/movimento/passo-1.html
@@ -20,6 +20,11 @@ @@ -20,6 +20,11 @@
20 class="box-panel-option selection-panel-option" autoplay loop> 20 class="box-panel-option selection-panel-option" autoplay loop>
21 <source type="video/webm"> 21 <source type="video/webm">
22 </video> Circular</li> 22 </video> Circular</li>
  23 + <li><video src="{{ server }}/img/mov/CIRCULAR.webm"
  24 + preload="metadata" value="semicircular"
  25 + class="box-panel-option selection-panel-option" autoplay loop>
  26 + <source type="video/webm">
  27 + </video> Semi-Circular</li>
23 <!-- 28 <!--
24 <li><img class="box-panel-option selection-panel-option" 29 <li><img class="box-panel-option selection-panel-option"
25 src="{{ server }}/img/exf/0000.png" value="semicircular"/>Semi-Circular</li> 30 src="{{ server }}/img/exf/0000.png" value="semicircular"/>Semi-Circular</li>
view/hand/plano/passo-1.html
@@ -5,24 +5,46 @@ @@ -5,24 +5,46 @@
5 </div> 5 </div>
6 <div class="selection-panel-inner-body"> 6 <div class="selection-panel-inner-body">
7 <ul class="rig columns-2"> 7 <ul class="rig columns-2">
8 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/plano-esquerda-cima.webm"  
9 - preload="metadata" value="esquerda-cima"  
10 - class="box-panel-option selection-panel-option" autoplay loop> 8 + <li><video
  9 + src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/plano-esquerda-cima.webm"
  10 + preload="metadata" value="direita-cima"
  11 + class="box-panel-option selection-panel-option" autoplay>
11 <source type="video/webm"> 12 <source type="video/webm">
12 </video>Esquerda - Cima</li> 13 </video>Esquerda - Cima</li>
13 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/plano-frente-esquerda.webm" 14 + <li><video
  15 + src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/plano-direita-cima.webm"
  16 + preload="metadata" value="esquerda-cima"
  17 + class="box-panel-option selection-panel-option" autoplay>
  18 + <source type="video/webm">
  19 + </video>Direita - Cima</li>
  20 + <li><video
  21 + src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/plano-frente-esquerda.webm"
14 preload="metadata" value="frente-esquerda" 22 preload="metadata" value="frente-esquerda"
15 - class="box-panel-option selection-panel-option" autoplay loop> 23 + class="box-panel-option selection-panel-option" autoplay>
16 <source type="video/webm"> 24 <source type="video/webm">
17 </video>Frente - Esquerda</li> 25 </video>Frente - Esquerda</li>
18 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/plano-frente-cima.webm" 26 + <li><video
  27 + src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/plano-tras-esquerda.webm"
  28 + preload="metadata" value="tras-esquerda"
  29 + class="box-panel-option selection-panel-option" autoplay>
  30 + <source type="video/webm">
  31 + </video>Trás - Esquerda</li>
  32 + <li><video
  33 + src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/plano-frente-cima.webm"
19 preload="metadata" value="frente-cima" 34 preload="metadata" value="frente-cima"
20 - class="box-panel-option selection-panel-option" autoplay loop> 35 + class="box-panel-option selection-panel-option" autoplay>
21 <source type="video/webm"> 36 <source type="video/webm">
22 </video>Frente - Cima</li> 37 </video>Frente - Cima</li>
  38 + <li><video
  39 + src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/plano-tras-cima.webm"
  40 + preload="metadata" value="tras-cima"
  41 + class="box-panel-option selection-panel-option" autoplay>
  42 + <source type="video/webm">
  43 + </video>Trás - Cima</li>
23 </ul> 44 </ul>
24 </div> 45 </div>
25 </div> 46 </div>
26 <script type="text/javascript"> 47 <script type="text/javascript">
27 defaultConfigurationHandler.setup("{{ hand }}", "plano", "1"); 48 defaultConfigurationHandler.setup("{{ hand }}", "plano", "1");
  49 + defaultConfigurationHandler.startVideoLoop("{{ hand }}", "plano", "1", 2500);
28 </script> 50 </script>
view/hand/raio/passo-1.html
@@ -5,17 +5,17 @@ @@ -5,17 +5,17 @@
5 </div> 5 </div>
6 <div class="selection-panel-inner-body"> 6 <div class="selection-panel-inner-body">
7 <ul class="rig columns-2"> 7 <ul class="rig columns-2">
8 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/raio-pequeno.webm" 8 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/raio-pequeno.webm"
9 preload="metadata" value="pequeno" 9 preload="metadata" value="pequeno"
10 class="box-panel-option selection-panel-option" autoplay loop> 10 class="box-panel-option selection-panel-option" autoplay loop>
11 <source type="video/webm"> 11 <source type="video/webm">
12 </video>Pequeno</li> 12 </video>Pequeno</li>
13 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/raio-normal.webm" 13 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/raio-normal.webm"
14 preload="metadata" value="normal" 14 preload="metadata" value="normal"
15 class="box-panel-option selection-panel-option" autoplay loop> 15 class="box-panel-option selection-panel-option" autoplay loop>
16 <source type="video/webm"> 16 <source type="video/webm">
17 </video>Médio</li> 17 </video>Médio</li>
18 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/raio-grande.webm" 18 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/raio-grande.webm"
19 preload="metadata" value="grande" 19 preload="metadata" value="grande"
20 class="box-panel-option selection-panel-option" autoplay loop> 20 class="box-panel-option selection-panel-option" autoplay loop>
21 <source type="video/webm"> 21 <source type="video/webm">
view/hand/sentido_inverso/passo-1.html
@@ -5,13 +5,13 @@ @@ -5,13 +5,13 @@
5 </div> 5 </div>
6 <div class="selection-panel-inner-body"> 6 <div class="selection-panel-inner-body">
7 <ul class="rig columns-2"> 7 <ul class="rig columns-2">
8 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/sentido-horario.webm"  
9 - preload="metadata" value="false" 8 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/sentido-horario.webm"
  9 + preload="metadata" value="true"
10 class="box-panel-option selection-panel-option" autoplay loop> 10 class="box-panel-option selection-panel-option" autoplay loop>
11 <source type="video/webm"> 11 <source type="video/webm">
12 </video>Horário</li> 12 </video>Horário</li>
13 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/sentido-anti-horario.webm"  
14 - preload="metadata" value="true" 13 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/sentido-anti-horario.webm"
  14 + preload="metadata" value="false"
15 class="box-panel-option selection-panel-option" autoplay loop> 15 class="box-panel-option selection-panel-option" autoplay loop>
16 <source type="video/webm"> 16 <source type="video/webm">
17 </video>Anti-horário</li> 17 </video>Anti-horário</li>
view/hand/velocidade/passo-1.html
@@ -5,17 +5,17 @@ @@ -5,17 +5,17 @@
5 </div> 5 </div>
6 <div class="selection-panel-inner-body"> 6 <div class="selection-panel-inner-body">
7 <ul class="rig columns-2"> 7 <ul class="rig columns-2">
8 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/velocidade-lento.webm" 8 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/velocidade-lento.webm"
9 preload="metadata" value="lento" 9 preload="metadata" value="lento"
10 class="box-panel-option selection-panel-option" autoplay loop> 10 class="box-panel-option selection-panel-option" autoplay loop>
11 <source type="video/webm"> 11 <source type="video/webm">
12 </video>Lento</li> 12 </video>Lento</li>
13 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/velocidade-normal.webm" 13 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/velocidade-normal.webm"
14 preload="metadata" value="normal" 14 preload="metadata" value="normal"
15 class="box-panel-option selection-panel-option" autoplay loop> 15 class="box-panel-option selection-panel-option" autoplay loop>
16 <source type="video/webm"> 16 <source type="video/webm">
17 </video>Normal</li> 17 </video>Normal</li>
18 - <li><video src="{{ server }}/img/circular/{{ hand-folder }}/velocidade-rapido.webm" 18 + <li><video src="{{ server }}/img/{{ movement-name }}/{{ hand-folder }}/velocidade-rapido.webm"
19 preload="metadata" value="rapido" 19 preload="metadata" value="rapido"
20 class="box-panel-option selection-panel-option" autoplay loop> 20 class="box-panel-option selection-panel-option" autoplay loop>
21 <source type="video/webm"> 21 <source type="video/webm">
view/img/circular/md/plano-direita-cima.webm 0 → 100644
No preview for this file type
view/img/circular/md/plano-esquerda-cima.webm
No preview for this file type
view/img/circular/md/plano-tras-cima.webm 0 → 100644
No preview for this file type
view/img/circular/md/plano-tras-esquerda.webm 0 → 100644
No preview for this file type
view/img/circular/md/sentido-anti-horario.webm
No preview for this file type
view/img/circular/md/sentido-horario.webm
No preview for this file type
view/img/circular/me/sentido-anti-horario.webm
No preview for this file type
view/img/circular/me/sentido-horario.webm
No preview for this file type
view/img/semicircular/md/plano-direita-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/plano-esquerda-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/plano-frente-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/plano-frente-esquerda.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/plano-tras-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/plano-tras-esquerda.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/raio-grande.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/raio-normal.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/raio-pequeno.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/sentido-anti-horario.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/sentido-horario.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/velocidade-lento.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/velocidade-normal.webm 0 → 100644
No preview for this file type
view/img/semicircular/md/velocidade-rapido.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/plano-direita-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/plano-esquerda-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/plano-frente-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/plano-frente-esquerda.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/plano-tras-cima.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/plano-tras-esquerda.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/raio-grande.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/raio-normal.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/raio-pequeno.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/sentido-anti-horario.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/sentido-horario.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/velocidade-lento.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/velocidade-normal.webm 0 → 100644
No preview for this file type
view/img/semicircular/me/velocidade-rapido.webm 0 → 100644
No preview for this file type