Commit 9323de14bd65a7cc844b73e086c648b9592d03ff
Exists in
master
and in
10 other branches
Merge remote-tracking branch 'upstream/master'
Showing
2 changed files
with
97 additions
and
17 deletions
Show diff stats
index.html
| ... | ... | @@ -6,11 +6,92 @@ |
| 6 | 6 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| 7 | 7 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 8 | 8 | |
| 9 | - <link rel="stylesheet" href="css/bootstrap.min.css" /> | |
| 10 | - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> | |
| 11 | - <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'> | |
| 12 | - <link href='http://fonts.googleapis.com/css?family=Asap:400,700' rel='stylesheet' type='text/css'> | |
| 13 | - <link rel="stylesheet" href="style.css" /> | |
| 9 | + <script type='text/javascript'> | |
| 10 | + function removeUrlParameters(full_url){ | |
| 11 | + var url_base = full_url.split('#').shift(); | |
| 12 | + return url_base; | |
| 13 | + } | |
| 14 | + function addBaseUrl(filename){ | |
| 15 | + var base = window.location.href; | |
| 16 | + if(base.match(/file:/) || filename.match(/http:/)){ | |
| 17 | + base = ''; | |
| 18 | + }else{ | |
| 19 | + base = removeUrlParameters(base) + '/'; | |
| 20 | + } | |
| 21 | + return base + filename; | |
| 22 | + } | |
| 23 | + function makeCSSLink(filename){ | |
| 24 | + var fileref=document.createElement("link"); | |
| 25 | + fileref.setAttribute("rel", "stylesheet"); | |
| 26 | + fileref.setAttribute("type", "text/css"); | |
| 27 | + fileref.setAttribute("href", addBaseUrl(filename)); | |
| 28 | + return fileref; | |
| 29 | + } | |
| 30 | + function loadCSSFiles(){ | |
| 31 | + var css_files = [ | |
| 32 | + 'css/bootstrap.min.css', | |
| 33 | + 'http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css', | |
| 34 | + 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,700', | |
| 35 | + 'http://fonts.googleapis.com/css?family=Asap:400,700', | |
| 36 | + 'style.css' | |
| 37 | + ]; | |
| 38 | + head = document.getElementsByTagName("head")[0] | |
| 39 | + for(i = 0; i < css_files.length; i++){ | |
| 40 | + head.appendChild(makeCSSLink(css_files[i])); | |
| 41 | + } | |
| 42 | + } | |
| 43 | + function makeJSURL(filename){ | |
| 44 | + var url = addBaseUrl(filename); | |
| 45 | + | |
| 46 | + return url; | |
| 47 | + } | |
| 48 | + | |
| 49 | + function loadJavaScriptSync(file_path){ | |
| 50 | + var head = document.getElementsByTagName("head")[0]; | |
| 51 | + var script_element = document.createElement("script"); | |
| 52 | + script_element.type = "text/javascript"; | |
| 53 | + var req = new XMLHttpRequest(); | |
| 54 | + req.open("GET", file_path, false); // 'false': synchronous. | |
| 55 | + req.send(null); | |
| 56 | + script_element.text = req.responseText; | |
| 57 | + head.appendChild(script_element); | |
| 58 | + } | |
| 59 | + | |
| 60 | + function loadJavaScriptAsync(file_path){ | |
| 61 | + var head = document.getElementsByTagName("head")[0]; | |
| 62 | + var script_element = document.createElement("script"); | |
| 63 | + script_element.type = "text/javascript"; | |
| 64 | + script_element.src = file_path; | |
| 65 | + head.appendChild(script_element); | |
| 66 | + } | |
| 67 | + | |
| 68 | + function loadJSFiles(){ | |
| 69 | + var js_files = [ | |
| 70 | + 'js/jquery-2.1.3.min.js', | |
| 71 | + 'js/jquery-ui-1.11.4.custom/jquery-ui.min.js', | |
| 72 | + 'js/jquery.cookie.js', | |
| 73 | + 'js/handlebars-v3.0.1.js', | |
| 74 | + 'js/handlebars-helpers.js', | |
| 75 | + 'js/jquery.dotdotdot.min.js', | |
| 76 | + 'js/jquery.maxlength.min.js', | |
| 77 | + 'js/layout.js', | |
| 78 | + 'js/main.js' | |
| 79 | + ]; | |
| 80 | + | |
| 81 | + var file_path = ''; | |
| 82 | + for(i = 0; i < js_files.length; i++){ | |
| 83 | + file_path = makeJSURL(js_files[i]); | |
| 84 | + if(file_path.match('layout.js') || file_path.match('main.js')){ | |
| 85 | + loadJavaScriptAsync(file_path); | |
| 86 | + }else{ | |
| 87 | + loadJavaScriptSync(file_path); | |
| 88 | + } | |
| 89 | + } | |
| 90 | + } | |
| 91 | + | |
| 92 | + loadCSSFiles(); | |
| 93 | + | |
| 94 | + </script> | |
| 14 | 95 | |
| 15 | 96 | </head> |
| 16 | 97 | <body> |
| ... | ... | @@ -19,7 +100,7 @@ |
| 19 | 100 | |
| 20 | 101 | <script id='proposal-template' type='text/x-handlebars-template'> |
| 21 | 102 | <header> |
| 22 | - <h1><a href="/">{{article.title}}</a></h1> | |
| 103 | + <h1><a href="#">{{article.title}}</a></h1> | |
| 23 | 104 | <a id='display-contrast' href='#'>Alto Contraste</a> |
| 24 | 105 | </header> |
| 25 | 106 | |
| ... | ... | @@ -225,7 +306,7 @@ |
| 225 | 306 | |
| 226 | 307 | <script id='login' type='text/x-handlebars-template'> |
| 227 | 308 | <form id="login-form" class="login"> |
| 228 | - <div class="message"></div> | |
| 309 | + <div class="message hide"></div> | |
| 229 | 310 | <div class="username"> |
| 230 | 311 | <label for="user_name" class="label">Nome de Usuário / E-mail:</label> |
| 231 | 312 | <input id="user_name" name="login" type="text" placeholder="Nome do usuário / E-mail"> |
| ... | ... | @@ -247,16 +328,10 @@ |
| 247 | 328 | </form> |
| 248 | 329 | </script> |
| 249 | 330 | |
| 250 | - <script src='js/jquery-2.1.3.min.js'></script> | |
| 251 | - <script src='js/jquery-ui-1.11.4.custom/jquery-ui.min.js'></script> | |
| 252 | - <script src='js/jquery.cookie.js'></script> | |
| 253 | - <script src='js/handlebars-v3.0.1.js'></script> | |
| 254 | - <script src='js/handlebars-helpers.js'></script> | |
| 255 | - <script src='js/jquery.dotdotdot.min.js'></script> | |
| 256 | - <script src='js/jquery.maxlength.min.js'></script> | |
| 257 | - <script src='js/layout.js'></script> | |
| 331 | + <script type='text/javascript'> | |
| 332 | + loadJSFiles(); | |
| 333 | + </script> | |
| 258 | 334 | |
| 259 | - <script src='js/main.js'></script> | |
| 260 | 335 | </body> |
| 261 | 336 | |
| 262 | 337 | </html> | ... | ... |
js/main.js
| ... | ... | @@ -138,6 +138,7 @@ $.getJSON(noosferoAPI) |
| 138 | 138 | |
| 139 | 139 | $( "#search-input" ).autocomplete({ |
| 140 | 140 | source: availableTags, |
| 141 | + minLength: 3, | |
| 141 | 142 | select: function( event, ui ) { |
| 142 | 143 | updateHash(ui.item.value); |
| 143 | 144 | return false; |
| ... | ... | @@ -269,6 +270,9 @@ function oauthPluginHandleLoginResult(loggedIn, token) { |
| 269 | 270 | |
| 270 | 271 | jQuery(document).ready(function($) { |
| 271 | 272 | $(document).on('click', '.login-action', function(e) { |
| 273 | + var message = $('.login .message') | |
| 274 | + message.hide(); | |
| 275 | + message.text(''); | |
| 272 | 276 | $.ajax({ |
| 273 | 277 | type: 'post', |
| 274 | 278 | url: host + '/api/v1/login', |
| ... | ... | @@ -279,7 +283,8 @@ jQuery(document).ready(function($) { |
| 279 | 283 | }).done(function(data) { |
| 280 | 284 | loginCallback(true, data.private_token); |
| 281 | 285 | }).fail(function(data) { |
| 282 | - $('.login .message').text('Não foi possível logar'); | |
| 286 | + message.show(); | |
| 287 | + message.text('Não foi possível logar'); | |
| 283 | 288 | }); |
| 284 | 289 | e.preventDefault(); |
| 285 | 290 | }); | ... | ... |