)]}'
{"openstack-dashboard/dashboard/static/dashboard/js/forms.js":[{"author":{"_account_id":1816,"name":"Gabriel Hurley","email":"gabriel.hurley@nebula.com","username":"gabriel-hurley"},"change_message_id":"1c51fb303318afa68d1470352b0d11b928dc58d8","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  // Add twipsy tooltips"},{"line_number":57,"context_line":"  function getTwipsyTitle(){"},{"line_number":58,"context_line":"      return $(\u0027div.input\u0027).has(this)[0].getAttribute(\u0027help_text\u0027)"},{"line_number":59,"context_line":"  };"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  $(\"div.input input,textarea,select\").not(\u0027input:checkbox\u0027).twipsy({"}],"source_content_type":"text/javascript","patch_set":2,"id":"AAAADX%2F%2F%2F00%3D","line":58,"updated":"2012-01-05 22:51:04.000000000","message":"I think this could just be: return $(this).attr(\u0027help_text\u0027).","commit_id":"71a07d00d8588e66052c4cbb0fff1c4ab768771f"},{"author":{"_account_id":543,"name":"Tres Henry","username":"tres"},"change_message_id":"bb54c945bb1641273e2991e7ecda81ae4e747a44","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  // Add twipsy tooltips"},{"line_number":57,"context_line":"  function getTwipsyTitle(){"},{"line_number":58,"context_line":"      return $(\u0027div.input\u0027).has(this)[0].getAttribute(\u0027help_text\u0027)"},{"line_number":59,"context_line":"  };"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  $(\"div.input input,textarea,select\").not(\u0027input:checkbox\u0027).twipsy({"}],"source_content_type":"text/javascript","patch_set":2,"id":"AAAADX%2F%2F%2F0M%3D","line":58,"updated":"2012-01-05 23:04:51.000000000","message":"this is only used in one place so probably doesn\u0027t need extraction","commit_id":"71a07d00d8588e66052c4cbb0fff1c4ab768771f"},{"author":{"_account_id":543,"name":"Tres Henry","username":"tres"},"change_message_id":"bb54c945bb1641273e2991e7ecda81ae4e747a44","unresolved":false,"context_lines":[{"line_number":65,"context_line":"      title: getTwipsyTitle,"},{"line_number":66,"context_line":"  });"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  // Special case for checkboxes, since hovering is equivalent to \"focus\""},{"line_number":69,"context_line":"  $(\u0027div.input\u0027).has(\"input[type\u003d\u0027checkbox\u0027]\").twipsy({"},{"line_number":70,"context_line":"      placement: \u0027right\u0027,"},{"line_number":71,"context_line":"      trigger: \u0027hover\u0027,"}],"source_content_type":"text/javascript","patch_set":2,"id":"AAAADX%2F%2F%2F0I%3D","line":68,"updated":"2012-01-05 23:04:51.000000000","message":"Might want to change this comment to something like: Trigger the twipsy on hover for checkboxes since focus only happens when the user clicks the element (which is too late for a tooltip to be useful).","commit_id":"71a07d00d8588e66052c4cbb0fff1c4ab768771f"},{"author":{"_account_id":1816,"name":"Gabriel Hurley","email":"gabriel.hurley@nebula.com","username":"gabriel-hurley"},"change_message_id":"1ccb8f82f1814c6c9c85126341022a890e4436eb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  });"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  // Twipsy tooltips"},{"line_number":57,"context_line":"  function getTwipsyTitle(){"},{"line_number":58,"context_line":"      return $(this).closest(\u0027div.form-field\u0027).children(\u0027.help-block\u0027).text()"},{"line_number":59,"context_line":"  };"},{"line_number":60,"context_line":""}],"source_content_type":"text/javascript","patch_set":5,"id":"AAAAD3%2F%2F%2FUM%3D","line":57,"updated":"2012-01-10 21:08:43.000000000","message":"Nit, but there should be a space between the parens and the curly bracket. Tres and I are both sticklers on js code style.","commit_id":"cd8ed3cecac9bfeff8931d81a6d3efcf67241622"},{"author":{"_account_id":1816,"name":"Gabriel Hurley","email":"gabriel.hurley@nebula.com","username":"gabriel-hurley"},"change_message_id":"1ccb8f82f1814c6c9c85126341022a890e4436eb","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  // Twipsy tooltips"},{"line_number":57,"context_line":"  function getTwipsyTitle(){"},{"line_number":58,"context_line":"      return $(this).closest(\u0027div.form-field\u0027).children(\u0027.help-block\u0027).text()"},{"line_number":59,"context_line":"  };"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  $(\"div.form-field\").find(\"input:not(:checkbox), textarea, select\").twipsy({"}],"source_content_type":"text/javascript","patch_set":5,"id":"AAAAD3%2F%2F%2FUU%3D","line":58,"updated":"2012-01-10 21:08:43.000000000","message":"Nit, but this line should have a semicolon at the end.","commit_id":"cd8ed3cecac9bfeff8931d81a6d3efcf67241622"},{"author":{"_account_id":1816,"name":"Gabriel Hurley","email":"gabriel.hurley@nebula.com","username":"gabriel-hurley"},"change_message_id":"1ccb8f82f1814c6c9c85126341022a890e4436eb","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  // Twipsy tooltips"},{"line_number":57,"context_line":"  function getTwipsyTitle(){"},{"line_number":58,"context_line":"      return $(this).closest(\u0027div.form-field\u0027).children(\u0027.help-block\u0027).text()"},{"line_number":59,"context_line":"  };"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  $(\"div.form-field\").find(\"input:not(:checkbox), textarea, select\").twipsy({"},{"line_number":62,"context_line":"      placement:\u0027right\u0027,"}],"source_content_type":"text/javascript","patch_set":5,"id":"AAAAD3%2F%2F%2FT8%3D","line":59,"updated":"2012-01-10 21:08:43.000000000","message":"Nit, again... you don\u0027t need a semicolon after the closing bracket on a function declaration. Only if the function is an anonymous function inside parens.","commit_id":"cd8ed3cecac9bfeff8931d81a6d3efcf67241622"}]}
