Commit 9323de14bd65a7cc844b73e086c648b9592d03ff

Authored by Leonardo Merlin
2 parents bedb8110 72135857

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 });
... ...