Commit 55e3b4c41e27cbd61120fa909aa357922dba9612

Authored by Augusto dos Anjos Almeida
2 parents 975967c7 b07bc8e4
Exists in refactory-sass

Merge branch 'master' into refactory-sass

README.txt 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +CSS Files
  2 + - hover for Float Shadow in categories buttons
  3 + -
  4 +
  5 +JS Files
  6 + - Custom Jquery UI for autocomplete on search,
css/bootstrap.min.css
1 -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.container-fluid:after,.container:after,.dl-horizontal dd:after,.row:after{clear:both}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:10px;-webkit-tap-highlight-color:transparent}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.img-thumbnail,body{background-color:#fff}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}figure{margin:0}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.container,.container-fluid{margin-right:auto;margin-left:auto}[role=button]{cursor:pointer}.container:after,.container:before{content:" ";display:table}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid:after,.container-fluid:before{content:" ";display:table}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}address,dd,dt{line-height:1.42857}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}ol,ul{margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.container-fluid:after,.container:after,.dl-horizontal dd:after,.row:after{clear:both}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:10px;-webkit-tap-highlight-color:transparent}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.img-thumbnail,body{background-color:#fff}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto;outline-offset:-2px}figure{margin:0}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.container,.container-fluid{margin-right:auto;margin-left:auto}[role=button]{cursor:pointer}.container:after,.container:before{content:" ";display:table}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid:after,.container-fluid:before{content:" ";display:table}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}address,dd,dt{line-height:1.42857}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}ol,ul{margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.pull-right{float:right!important}.pull-left{float:left!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}
3 \ No newline at end of file 3 \ No newline at end of file
@@ -47,49 +47,17 @@ @@ -47,49 +47,17 @@
47 return url; 47 return url;
48 } 48 }
49 49
50 - function loadJavaScriptSync(file_path){  
51 - var head = document.getElementsByTagName('head')[0];  
52 - var script_element = document.createElement('script');  
53 - script_element.type = 'text/javascript';  
54 - var req = new XMLHttpRequest();  
55 - req.open('GET', file_path, false); // 'false': synchronous.  
56 - req.send(null);  
57 - script_element.text = req.responseText;  
58 - head.appendChild(script_element);  
59 - }  
60 -  
61 function loadJavaScriptAsync(file_path){ 50 function loadJavaScriptAsync(file_path){
62 - var head = document.getElementsByTagName('head')[0];  
63 - var script_element = document.createElement('script');  
64 - script_element.type = 'text/javascript';  
65 - script_element.src = file_path;  
66 - head.appendChild(script_element);  
67 } 51 }
68 52
69 - function loadJSFiles(){  
70 - var js_files = [  
71 - 'js/jquery-2.1.3.min.js',  
72 - 'js/jquery-ui-1.11.4.custom/jquery-ui.min.js',  
73 - 'js/jquery.cookie.js',  
74 - 'js/handlebars-v3.0.1.js',  
75 - 'js/handlebars-helpers.js',  
76 - 'js/jquery.dotdotdot.min.js',  
77 - 'js/jquery.maxlength.min.js',  
78 - 'js/layout.js',  
79 - 'js/main.js'  
80 - ];  
81 -  
82 - var file_path = '';  
83 - for(i = 0; i < js_files.length; i++){  
84 - file_path = makeJSURL(js_files[i]);  
85 - if(file_path.match('layout.js') || file_path.match('main.js')){  
86 - loadJavaScriptAsync(file_path);  
87 - }else{  
88 - loadJavaScriptSync(file_path);  
89 - }  
90 - } 53 + function loadRequireJS(){
  54 + var head = document.getElementsByTagName('head')[0];
  55 + var script_element = document.createElement('script');
  56 + script_element.type = 'text/javascript';
  57 + script_element.src = makeJSURL('js/require.js');
  58 + script_element.setAttribute('data-main', makeJSURL('js/requirejs-config.js'));
  59 + head.appendChild(script_element);
91 } 60 }
92 -  
93 loadCSSFiles(); 61 loadCSSFiles();
94 </script> 62 </script>
95 63
@@ -97,6 +65,7 @@ @@ -97,6 +65,7 @@
97 <body> 65 <body>
98 66
99 <div id="proposal-result"></div> 67 <div id="proposal-result"></div>
  68 + <div class="clearfix"></div>
100 69
101 <script id="proposal-template" type="text/x-handlebars-template"> 70 <script id="proposal-template" type="text/x-handlebars-template">
102 <header> 71 <header>
@@ -105,7 +74,7 @@ @@ -105,7 +74,7 @@
105 </header> 74 </header>
106 75
107 <div id="content"> 76 <div id="content">
108 - <p>{{{article.body}}}</p> 77 + {{{article.body}}}
109 </div> 78 </div>
110 79
111 <nav role="tabpanel"> 80 <nav role="tabpanel">
@@ -183,7 +152,9 @@ @@ -183,7 +152,9 @@
183 </div> 152 </div>
184 153
185 <div class="body proposal-detail-base hide"> 154 <div class="body proposal-detail-base hide">
186 - {{{body}}} 155 + <div class='body-content'>
  156 + {{{body}}}
  157 + </div>
187 <div class="go-to-proposal-button"> 158 <div class="go-to-proposal-button">
188 <a href="#/programas/{{id}}" data-target="proposal-item-{{id}}"> 159 <a href="#/programas/{{id}}" data-target="proposal-item-{{id}}">
189 <span class="fa fa-reply"></span> 160 <span class="fa fa-reply"></span>
@@ -331,10 +302,11 @@ @@ -331,10 +302,11 @@
331 </form> 302 </form>
332 </script> 303 </script>
333 304
334 - <script type="text/javascript">  
335 - loadJSFiles(); 305 + <script type='text/javascript' >
  306 +loadRequireJS();
336 </script> 307 </script>
337 308
  309 +
338 </body> 310 </body>
339 311
340 </html> 312 </html>
js/handlebars-helpers.js
1 -Handlebars.registerHelper('link', function(text, url) {  
2 - text = Handlebars.Utils.escapeExpression(text);  
3 - url = Handlebars.Utils.escapeExpression(url); 1 +define(['handlebars'], function(Handlebars){
4 2
5 - // Exemplo: <a href="#/programas/{{id}}" class="proposal-link" data-target="">{{name}}</a>  
6 - var result = '<a href="#/programas/' + url + '" data-target="proposal-item-' + url + '" class="proposal-link">' + text + '</a>';  
7 -  
8 - return new Handlebars.SafeString(result);  
9 -});  
10 -  
11 -Handlebars.registerHelper('list_proposal', function(proposals, options) {  
12 -  
13 - var ret = "";  
14 - for(var i=0, j=proposals.length; i<j; i++) {  
15 - element = "<li class='proposal-item'><div class='item'>";  
16 - category = "<ul class='category'>";  
17 -  
18 - var proposal = proposals[i];  
19 -  
20 - for(var x=0, y=proposal.categories.length; x<y; x++) {  
21 - if((options.hash['category'] != null) && (options.hash['category'] != proposal.categories[x].slug)){  
22 - element = ''; 3 + Handlebars.registerHelper('link', function(text, url) {
  4 + text = Handlebars.Utils.escapeExpression(text);
  5 + url = Handlebars.Utils.escapeExpression(url);
  6 +
  7 + // Exemplo: <a href="#/programas/{{id}}" class="proposal-link" data-target="">{{name}}</a>
  8 + var result = '<a href="#/programas/' + url + '" data-target="proposal-item-' + url + '" class="proposal-link">' + text + '</a>';
  9 +
  10 + return new Handlebars.SafeString(result);
  11 + });
  12 +
  13 + Handlebars.registerHelper('list_proposal', function(proposals, options) {
  14 +
  15 + var ret = "";
  16 + for(var i=0, j=proposals.length; i<j; i++) {
  17 + var proposal = proposals[i];
  18 +
  19 + element = '<li class="proposal-item">' +
  20 + '<a href="#/programas/'+proposal.id+'" data-target="proposal-item-'+proposal.id+'" class="proposal-link">' +
  21 + '<div class="item">' +
  22 + '' + proposal.title;
  23 + category = "<ul class='category'>";
  24 +
  25 +
  26 + for(var x=0, y=proposal.categories.length; x<y; x++) {
  27 + if((options.hash['category'] != null) && (options.hash['category'] != proposal.categories[x].slug)){
  28 + element = '';
  29 + continue;
  30 + }
  31 + category = category + '<li class="category-'+proposal.categories[x].slug+'">' + proposal.categories[x].name + '</li>';
  32 + }
  33 + if(element == ''){
23 continue; 34 continue;
24 - }  
25 - category = category + '<li class="category-'+proposal.categories[x].slug+'">' + proposal.categories[x].name + '</li>'; 35 + }
  36 + category = category + '</ul>';
  37 + // element = element + options.fn(proposal);
  38 + element = element + (proposal.abstract ? proposal.abstract : '');
  39 +
  40 + element = element + category;
  41 + ret = ret + element + '</div></a></li>';
26 } 42 }
27 - if(element == ''){  
28 - continue; 43 + return ret;
  44 + });
  45 +
  46 + Handlebars.registerHelper('proposal_detail', function(proposals, options) {
  47 + var ret = "";
  48 + for(var i=0, j=proposals.length; i<j; i++) {
  49 + ret = ret + "<div class='proposal-detail hide' id='proposal-item-" + proposals[i].id + "'>";
  50 + ret = ret + "<div class='title'>" + proposals[i].title + "</div>";
  51 + ret = ret + "<span>" + proposals[i].body + "</span>";
  52 + ret = ret + '</div>';
29 } 53 }
30 - category = category + '</ul>';  
31 - element = element + options.fn(proposal);  
32 - element = element + (proposal.abstract ? proposal.abstract : '');  
33 -  
34 - element = element + category;  
35 - ret = ret + element + '</div></li>';  
36 - }  
37 - return ret;  
38 -});  
39 -  
40 -Handlebars.registerHelper('proposal_detail', function(proposals, options) {  
41 - var ret = "";  
42 - for(var i=0, j=proposals.length; i<j; i++) {  
43 - ret = ret + "<div class='proposal-detail hide' id='proposal-item-" + proposals[i].id + "'>";  
44 - ret = ret + "<div class='title'>" + proposals[i].title + "</div>";  
45 - ret = ret + "<span>" + proposals[i].body + "</span>";  
46 - ret = ret + '</div>';  
47 - }  
48 - return ret;  
49 -});  
50 -  
51 -Handlebars.registerHelper('replace', function(string, to_replace, replacement) {  
52 - return (string || '').replace(new RegExp(to_replace, 'g'), replacement);  
53 -});  
54 -  
55 -Handlebars.registerHelper('score', function(article) {  
56 - return article.votes_for - article.votes_against;  
57 -});  
58 -  
59 -Handlebars.registerHelper('select_proposal', function(proposals, category_slug, selected_id) {  
60 - var ret = '<label for="proposal-selection" class="sr-only">Selecione o programa</label>'  
61 - ret = ret + '<select id="proposal-selection" name="proposal-selection" title="Selecione o programa" class="proposal-selection">';  
62 -  
63 - for(var i=0; i<proposals.length; i++) {  
64 - if(!proposal_has_category(proposals[i], category_slug)) continue;  
65 - var selected = proposals[i].id===selected_id ? "selected" : "";  
66 - ret += '<option value="'+proposals[i].id+'" '+selected+'>'+proposals[i].title+'</option>'; 54 + return ret;
  55 + });
  56 +
  57 + Handlebars.registerHelper('replace', function(string, to_replace, replacement) {
  58 + return (string || '').replace(new RegExp(to_replace, 'g'), replacement);
  59 + });
  60 +
  61 + Handlebars.registerHelper('score', function(article) {
  62 + return article.votes_for - article.votes_against;
  63 + });
  64 +
  65 + Handlebars.registerHelper('select_proposal', function(proposals, category_slug, selected_id) {
  66 + var ret = '<label for="proposal-selection" class="sr-only">Selecione o programa</label>'
  67 + ret = ret + '<select id="proposal-selection" name="proposal-selection" title="Selecione o programa" class="proposal-selection">';
  68 +
  69 + for(var i=0; i<proposals.length; i++) {
  70 + if(!proposal_has_category(proposals[i], category_slug)) continue;
  71 + var selected = proposals[i].id===selected_id ? "selected" : "";
  72 + ret += '<option value="'+proposals[i].id+'" '+selected+'>'+proposals[i].title+'</option>';
  73 + }
  74 + ret += '</select>';
  75 + return ret;
  76 + });
  77 +
  78 + Handlebars.registerHelper('trimString', function(passedString, endstring) {
  79 + var theString = passedString.substring(0, endstring);
  80 + return new Handlebars.SafeString(theString)
  81 + });
  82 +
  83 + function proposal_has_category(proposal, category_slug) {
  84 + for(var i=0; i<proposal.categories.length; i++) {
  85 + if(proposal.categories[i].slug == category_slug)
  86 + return true;
  87 + }
  88 + return false;
67 } 89 }
68 - ret += '</select>';  
69 - return ret;  
70 -});  
71 90
72 -Handlebars.registerHelper('trimString', function(passedString, endstring) {  
73 - var theString = passedString.substring(0, endstring);  
74 - return new Handlebars.SafeString(theString)  
75 }); 91 });
76 -  
77 -function proposal_has_category(proposal, category_slug) {  
78 - for(var i=0; i<proposal.categories.length; i++) {  
79 - if(proposal.categories[i].slug == category_slug)  
80 - return true;  
81 - }  
82 - return false;  
83 -}  
1 -/* global Handlebars, $ */  
2 -// The template code  
3 -var templateSource = document.getElementById('proposal-template').innerHTML;  
4 -  
5 -// compile the template  
6 -var template = Handlebars.compile(templateSource);  
7 -var supportProposalTemplate = Handlebars.compile(document.getElementById('support-proposal-template').innerHTML);  
8 -var loginTemplate = Handlebars.compile(document.getElementById('login').innerHTML);  
9 -var resultsTemplate = Handlebars.compile(document.getElementById('results').innerHTML);  
10 -  
11 -// The div/container that we are going to display the results in  
12 -var resultsPlaceholder = document.getElementById('proposal-result');  
13 -  
14 -var logged_in = false;  
15 -  
16 -var loginButton;  
17 -  
18 -var participa = true;  
19 -if(participa){  
20 - var host = 'http://www.participa.br';  
21 - var private_token = '375bee7e17d0021af7160ce664874618'; //participa  
22 - var proposal_discussion = '92856'; //participa  
23 -}else{  
24 - var host = 'http://noosfero.com:3000';  
25 - //var private_token = 'bd8996155f5ea4354e42fee50b4b6891'; //casa  
26 - var private_token = '04c9b36cf0afba52915fe86f182e741c'; //local serpro  
27 - var proposal_discussion = '632'; //local serpro  
28 - //var proposal_discussion = '401'; //casa  
29 -}  
30 -  
31 -// Load data from localhost when it is dev env.  
32 -var isLocalhost = (window.location.hostname === 'localhost' || window.location.hostname === '0.0.0.0');  
33 -if( isLocalhost ){  
34 - var noosferoAPI = '/data.json';  
35 -} else {  
36 - var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + private_token + '&fields=id,children,categories,abstract,body,title,image,url';  
37 -}  
38 -  
39 -$.getJSON(noosferoAPI)  
40 - .done(function( data ) {  
41 - data.host = host;  
42 - data.private_token = private_token;  
43 - resultsPlaceholder.innerHTML = template(data);  
44 - $('.login-container').html(loginTemplate());  
45 - $('.countdown').maxlength({text: '%left caracteres restantes'});  
46 -  
47 - navigateTo(window.location.hash);  
48 -  
49 - //Actions for links  
50 - $( '#nav-proposal-categories a' ).on('click touchstart', function(e){  
51 - e.preventDefault(); 1 +define(['handlebars'], function(Handlebars){
52 2
53 - var $link = $(this); 3 + /* global Handlebars, $ */
  4 + // The template code
  5 + var templateSource = document.getElementById('proposal-template').innerHTML;
54 6
55 - // Update URL and Navigate  
56 - updateHash($link.attr('href'));  
57 - }); 7 + // compile the template
  8 + var template = Handlebars.compile(templateSource);
  9 + var supportProposalTemplate = Handlebars.compile(document.getElementById('support-proposal-template').innerHTML);
  10 + var loginTemplate = Handlebars.compile(document.getElementById('login').innerHTML);
  11 + var resultsTemplate = Handlebars.compile(document.getElementById('results').innerHTML);
58 12
59 - $( '#nav-proposal-group a' ).on('click touchstart', function(e){  
60 - e.preventDefault(); 13 + // The div/container that we are going to display the results in
  14 + var resultsPlaceholder = document.getElementById('proposal-result');
61 15
62 - var $link = $(this); 16 + var logged_in = false;
63 17
64 - // Update URL and Navigate  
65 - updateHash($link.attr('href'));  
66 - }); 18 + var loginButton;
67 19
68 - $( '.proposal-item a' ).on('click touchstart', function(e){  
69 - e.preventDefault(); 20 + var participa = true;
  21 + if(participa){
  22 + var host = 'http://www.participa.br';
  23 + var private_token = '375bee7e17d0021af7160ce664874618'; //participa
  24 + var proposal_discussion = '92856'; //participa
  25 + }else{
  26 + var host = 'http://noosfero.com:3000';
  27 + //var private_token = 'bd8996155f5ea4354e42fee50b4b6891'; //casa
  28 + var private_token = '04c9b36cf0afba52915fe86f182e741c'; //local serpro
  29 + var proposal_discussion = '632'; //local serpro
  30 + //var proposal_discussion = '401'; //casa
  31 + }
70 32
71 - var $link = $(this); 33 + // Load data from localhost when it is dev env.
  34 + var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + private_token + '&fields=id,children,categories,abstract,title,image,url';
72 35
73 - // Update URL and Navigate  
74 - updateHash($link.attr('href'));  
75 - }); 36 + $.getJSON(noosferoAPI)
  37 + .done(function( data ) {
  38 + data.host = host;
  39 + data.private_token = private_token;
  40 + resultsPlaceholder.innerHTML = template(data);
  41 + $('.login-container').html(loginTemplate());
  42 + $('.countdown').maxlength({text: '%left caracteres restantes'});
76 43
77 - $( '.proposal-category a' ).on('click touchstart', function(e){  
78 - e.preventDefault(); 44 + navigateTo(window.location.hash);
79 45
80 - var $link = $(this); 46 + //Actions for links
  47 + $( '#nav-proposal-categories a' ).on('click touchstart', function(e){
  48 + e.preventDefault();
81 49
82 - // Update URL and Navigate  
83 - updateHash($link.attr('href'));  
84 - }); 50 + var $link = $(this);
85 51
86 - $( '.proposal-category .go-back' ).on('click touchstart', function(e){  
87 - e.preventDefault(); 52 + // Update URL and Navigate
  53 + updateHash($link.attr('href'));
  54 + });
88 55
89 - var oldHash = window.location.hash;  
90 - var regexSubpages = /sobre-o-programa$/;  
91 - var isSubpage = regexSubpages.exec(oldHash) !== null;  
92 - var newHash = '#/temas'; // default page 56 + $( '#nav-proposal-group a' ).on('click touchstart', function(e){
  57 + e.preventDefault();
93 58
94 - if(isSubpage){  
95 - // return to proposal page  
96 - newHash = oldHash.split('/sobre-o-programa')[0];  
97 - } 59 + var $link = $(this);
98 60
99 - // Update URL and Navigate  
100 - updateHash(newHash);  
101 - }); 61 + // Update URL and Navigate
  62 + updateHash($link.attr('href'));
  63 + });
102 64
103 - $( '.send-button a' ).on('click touchstart', function(e){  
104 - e.preventDefault();  
105 -  
106 - //display form to send proposal (or login form for non-logged users)  
107 - var $this = $(this);  
108 - loginButton = $this.parents('.send-button');  
109 - loginButton.hide();  
110 - $this.parents('.success-proposal-sent').hide();  
111 - loginCallback(logged_in);  
112 - }); 65 + $( '.proposal-item a' ).on('click touchstart', function(e){
  66 + e.preventDefault();
113 67
114 - $( '#display-contrast' ).on('click touchstart', function(e){  
115 - e.preventDefault();  
116 - $('#proposal-result').toggleClass('contrast');  
117 - }); 68 + var $link = $(this);
118 69
119 - $( '.show_body a' ).on('click touchstart', function(e){  
120 - e.preventDefault(); 70 + // Update URL and Navigate
  71 + updateHash($link.attr('href'));
  72 + });
121 73
122 - var $link = $(this); 74 + $( '.proposal-category a' ).on('click touchstart', function(e){
  75 + e.preventDefault();
123 76
124 - // Update URL and Navigate  
125 - updateHash($link.attr('href'));  
126 - }); 77 + var $link = $(this);
127 78
128 - $( '.go-to-proposal-button a' ).on('click touchstart', function(e){  
129 - e.preventDefault(); 79 + // Update URL and Navigate
  80 + updateHash($link.attr('href'));
  81 + });
130 82
131 - var $link = $(this); 83 + $( '.proposal-category .go-back' ).on('click touchstart', function(e){
  84 + e.preventDefault();
132 85
133 - // Update URL and Navigate  
134 - updateHash($link.attr('href'));  
135 - }); 86 + var oldHash = window.location.hash;
  87 + var regexSubpages = /sobre-o-programa$/;
  88 + var isSubpage = regexSubpages.exec(oldHash) !== null;
  89 + var newHash = '#/temas'; // default page
136 90
137 - $( '.proposal-selection' ).change(function(e){  
138 - e.preventDefault(); 91 + if(isSubpage){
  92 + // return to proposal page
  93 + newHash = oldHash.split('/sobre-o-programa')[0];
  94 + }
139 95
140 - display_proposal('proposal-item-' + this.value);  
141 - }); 96 + // Update URL and Navigate
  97 + updateHash(newHash);
  98 + });
142 99
143 - var availableTags = [ ];  
144 - $('#proposal-group li a').each(function(){  
145 - availableTags.push({ label: $(this).text(), value: $(this).attr('href')});  
146 - }); 100 + $( '.send-button a' ).on('click touchstart', function(e){
  101 + e.preventDefault();
147 102
148 - $( '#search-input' ).autocomplete({  
149 - source: availableTags,  
150 - minLength: 3,  
151 - select: function( event, ui ) {  
152 - updateHash(ui.item.value);  
153 - return false;  
154 - },  
155 - appendTo: '#search-input-container',  
156 - messages: {  
157 - noResults: '',  
158 - results: function() {}  
159 - }  
160 - }); 103 + //display form to send proposal (or login form for non-logged users)
  104 + var $this = $(this);
  105 + loginButton = $this.parents('.send-button');
  106 + loginButton.hide();
  107 + $this.parents('.success-proposal-sent').hide();
  108 + loginCallback(logged_in);
  109 + });
161 110
  111 + $( '#display-contrast' ).on('click touchstart', function(e){
  112 + e.preventDefault();
  113 + $('#proposal-result').toggleClass('contrast');
  114 + });
162 115
163 - $('.save-article-form').submit(function (e) {  
164 - e.preventDefault();  
165 - var proposal_id = this.id.split('-').pop();  
166 - var form = this;  
167 - var $form = $(this);  
168 - var message = $(form).find('.message');  
169 - message.hide();  
170 - message.text('');  
171 - $.ajax({  
172 - type: 'post',  
173 - url: host + '/api/v1/articles/' + proposal_id + '/children',  
174 - data: $('#'+this.id).serialize() + '&private_token=' + private_token + '&fields=id&article[name]=article_' + guid()  
175 - })  
176 - .done(function( /*data*/ ) {  
177 - form.reset();  
178 - $form.hide();  
179 - $form.siblings('.success-sent').show();  
180 - })  
181 - .fail(function( jqxhr, textStatus, error ) {  
182 - var err = textStatus + ', ' + error;  
183 - console.log( 'Request Failed: ' + err );  
184 - message.show();  
185 - message.text('Não foi possível enviar.');  
186 - });  
187 - }); 116 + $( '.show_body a' ).on('click touchstart', function(e){
  117 + e.preventDefault();
188 118
189 - })  
190 - .fail(function( jqxhr, textStatus, error ) {  
191 - var err = textStatus + ', ' + error;  
192 - console.log( 'Request Failed: ' + err );  
193 - }); 119 + var $link = $(this);
194 120
195 -function loadRandomProposal(topic_id, private_token) {  
196 - var $noProposals = $('.no-proposals');  
197 - var $loading = $('.loading');  
198 - var $randomProposal = $('.random-proposal');  
199 - var $body = $(document.body);  
200 -  
201 - // reset view  
202 - $noProposals.hide();  
203 - $loading.show();  
204 - $randomProposal.html('');  
205 -  
206 - var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal';  
207 - $.getJSON(url).done(function( data ) {  
208 - $loading.hide();  
209 -  
210 - if(data.articles.length === 0) {  
211 - $noProposals.show();  
212 - return;  
213 - } 121 + // Update URL and Navigate
  122 + updateHash($link.attr('href'));
  123 + });
214 124
215 - var article = data.articles[0];  
216 - $randomProposal.html(supportProposalTemplate(article));  
217 - $body.off('click', '.vote-actions .skip');  
218 - $body.on('click', '.vote-actions .skip', function(e) {  
219 - loadRandomProposal(topic_id, private_token);  
220 - e.preventDefault();  
221 - });  
222 - $body.off('click', '.vote-actions .like');  
223 - $body.on('click', '.vote-actions .like', function(e) {  
224 - $.ajax({  
225 - type: 'post',  
226 - url: host + '/api/v1/articles/' + article.id + '/vote',  
227 - data: {  
228 - value: $(this).data('vote-value'),  
229 - private_token: private_token 125 + $( '.go-to-proposal-button a' ).on('click touchstart', function(e){
  126 + e.preventDefault();
  127 +
  128 + var $link = $(this);
  129 +
  130 + // Update URL and Navigate
  131 + updateHash($link.attr('href'));
  132 + });
  133 +
  134 + $( '.proposal-selection' ).change(function(e){
  135 + e.preventDefault();
  136 +
  137 + display_proposal('proposal-item-' + this.value);
  138 + });
  139 +
  140 + var availableTags = [ ];
  141 + $('#proposal-group li a').each(function(){
  142 + availableTags.push({ label: $(this).text(), value: $(this).attr('href')});
  143 + });
  144 +
  145 + $( '#search-input' ).autocomplete({
  146 + source: availableTags,
  147 + minLength: 3,
  148 + select: function( event, ui ) {
  149 + updateHash(ui.item.value);
  150 + return false;
  151 + },
  152 + appendTo: '#search-input-container',
  153 + messages: {
  154 + noResults: '',
  155 + results: function() {}
230 } 156 }
231 - }).done(function( /*data*/ ) {  
232 - loadRandomProposal(topic_id, private_token);  
233 }); 157 });
234 - e.preventDefault(); 158 +
  159 +
  160 + $('.save-article-form').submit(function (e) {
  161 + e.preventDefault();
  162 + var proposal_id = this.id.split('-').pop();
  163 + var form = this;
  164 + var $form = $(this);
  165 + var message = $(form).find('.message');
  166 + message.hide();
  167 + message.text('');
  168 + $.ajax({
  169 + type: 'post',
  170 + url: host + '/api/v1/articles/' + proposal_id + '/children',
  171 + data: $('#'+this.id).serialize() + '&private_token=' + private_token + '&fields=id&article[name]=article_' + guid()
  172 + })
  173 + .done(function( /*data*/ ) {
  174 + form.reset();
  175 + $form.hide();
  176 + $form.siblings('.success-sent').show();
  177 + })
  178 + .fail(function( jqxhr, textStatus, error ) {
  179 + var err = textStatus + ', ' + error;
  180 + console.log( 'Request Failed: ' + err );
  181 + message.show();
  182 + message.text('Não foi possível enviar.');
  183 + });
  184 + });
  185 +
  186 + })
  187 + .fail(function( jqxhr, textStatus, error ) {
  188 + var err = textStatus + ', ' + error;
  189 + console.log( 'Request Failed: ' + err );
235 }); 190 });
236 191
237 - $body.off('click', '.vote-result');  
238 - $body.on('click', '.vote-result', function(e) {  
239 -  
240 - var $this = $(this);  
241 - var $proposalDetail = $this.parents('.proposal-detail');  
242 - var $resultsContainer = $proposalDetail.find('.results-container');  
243 -  
244 - // $resultsContainer.toggle();  
245 - // $resultsContainer.toggleClass('hide');  
246 -  
247 - if($resultsContainer.css('display') === 'none') {  
248 -  
249 - $resultsContainer.find('.loading').show();  
250 - $resultsContainer.find('.results-content').hide();  
251 -  
252 - var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=10&order=votes_score&fields=id,name,abstract,votes_for,votes_against&content_type=ProposalsDiscussionPlugin::Proposal';  
253 - $.getJSON(url).done(function( data ) {  
254 -  
255 - $resultsContainer.html(resultsTemplate(data));  
256 - $resultsContainer.find('.loading').hide();  
257 - $resultsContainer.find('.results-content').show();  
258 - $resultsContainer.show();  
259 -  
260 - // scroll to the end  
261 - $('html, body').animate({  
262 - scrollTop: $(document).height()  
263 - }, 'fast');  
264 - });  
265 - $('.experience-proposal-container').hide();  
266 - $('.talk-proposal-container').hide();  
267 - } else {  
268 - $('.experience-proposal-container').show();  
269 - $('.talk-proposal-container').show();  
270 - $resultsContainer.hide(); 192 + function loadRandomProposal(topic_id, private_token) {
  193 + var $noProposals = $('.no-proposals');
  194 + var $loading = $('.loading');
  195 + var $randomProposal = $('.random-proposal');
  196 + var $body = $(document.body);
  197 +
  198 + // reset view
  199 + $noProposals.hide();
  200 + $loading.show();
  201 + $randomProposal.html('');
  202 +
  203 + var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal';
  204 + $.getJSON(url).done(function( data ) {
  205 + $loading.hide();
  206 +
  207 + if(data.articles.length === 0) {
  208 + $noProposals.show();
  209 + return;
271 } 210 }
272 211
273 - e.preventDefault();  
274 - });  
275 - });  
276 -}  
277 -  
278 -$(document).ready(function($) {  
279 - if($.cookie('_dialoga_session')) {  
280 - var url = host + '/api/v1/users/me?private_token=' + $.cookie('_dialoga_session');  
281 - $.getJSON(url).done(function( /*data*/ ) {  
282 - logged_in = true;  
283 - private_token = $.cookie('_dialoga_session'); 212 + var article = data.articles[0];
  213 + $randomProposal.html(supportProposalTemplate(article));
  214 + $body.off('click', '.vote-actions .skip');
  215 + $body.on('click', '.vote-actions .skip', function(e) {
  216 + loadRandomProposal(topic_id, private_token);
  217 + e.preventDefault();
  218 + });
  219 + $body.off('click', '.vote-actions .like');
  220 + $body.on('click', '.vote-actions .like', function(e) {
  221 + //Helps to prevent more than one vote per proposal
  222 + if(hasProposalbeenVoted(article.id)){
  223 + console.log("Proposta " + article.id + " já havia sido votada");
  224 + loadRandomProposal(topic_id, private_token);
  225 + e.preventDefault();
  226 + return;
  227 + }
  228 + $.ajax({
  229 + type: 'post',
  230 + url: host + '/api/v1/articles/' + article.id + '/vote',
  231 + data: {
  232 + value: $(this).data('vote-value'),
  233 + private_token: private_token
  234 + }
  235 + }).done(function( /*data*/ ) {
  236 + addVotedProposal(article.id);
  237 + loadRandomProposal(topic_id, private_token);
  238 + });
  239 + e.preventDefault();
  240 + });
  241 +
  242 + $body.off('click', '.vote-result');
  243 + $body.on('click', '.vote-result', function(e) {
  244 +
  245 + var $this = $(this);
  246 + var $proposalDetail = $this.parents('.proposal-detail');
  247 + var $resultsContainer = $proposalDetail.find('.results-container');
  248 +
  249 + // $resultsContainer.toggle();
  250 + // $resultsContainer.toggleClass('hide');
  251 +
  252 + if($resultsContainer.css('display') === 'none') {
  253 +
  254 + $resultsContainer.find('.loading').show();
  255 + $resultsContainer.find('.results-content').hide();
  256 +
  257 + var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=10&order=votes_score&fields=id,name,abstract,votes_for,votes_against&content_type=ProposalsDiscussionPlugin::Proposal';
  258 + $.getJSON(url).done(function( data ) {
  259 +
  260 + $resultsContainer.html(resultsTemplate(data));
  261 + $resultsContainer.find('.loading').hide();
  262 + $resultsContainer.find('.results-content').show();
  263 + $resultsContainer.show();
  264 +
  265 + // scroll to the end
  266 + $('html, body').animate({
  267 + scrollTop: $(document).height()
  268 + }, 'fast');
  269 + });
  270 + $('.experience-proposal-container').hide();
  271 + $('.talk-proposal-container').hide();
  272 + } else {
  273 + $('.experience-proposal-container').show();
  274 + $('.talk-proposal-container').show();
  275 + $resultsContainer.hide();
  276 + }
  277 +
  278 + e.preventDefault();
  279 + });
284 }); 280 });
285 } 281 }
286 282
287 - $(document).on('click', '.login-action', function(e) {  
288 - var message = $('.login .message');  
289 - message.hide();  
290 - message.text('');  
291 - $.ajax({  
292 - type: 'post',  
293 - url: host + '/api/v1/login',  
294 - data: $(this).parents('.login').serialize(),  
295 - xhrFields: {  
296 - //withCredentials: true  
297 - }  
298 - }).done(function(data) {  
299 - loginCallback(true, data.private_token);  
300 - }).fail(function( /*data*/ ) {  
301 - message.show();  
302 - message.text('Não foi possível logar'); 283 + $(document).ready(function($) {
  284 + if($.cookie('_dialoga_session')) {
  285 + var url = host + '/api/v1/users/me?private_token=' + $.cookie('_dialoga_session');
  286 + $.getJSON(url).done(function( /*data*/ ) {
  287 + logged_in = true;
  288 + private_token = $.cookie('_dialoga_session');
  289 + });
  290 + }
  291 +
  292 + $(document).on('click', '.login-action', function(e) {
  293 + var message = $('.login .message');
  294 + message.hide();
  295 + message.text('');
  296 + $.ajax({
  297 + type: 'post',
  298 + url: host + '/api/v1/login',
  299 + data: $(this).parents('.login').serialize(),
  300 + xhrFields: {
  301 + //withCredentials: true
  302 + }
  303 + }).done(function(data) {
  304 + loginCallback(true, data.private_token);
  305 + }).fail(function( /*data*/ ) {
  306 + message.show();
  307 + message.text('Não foi possível logar');
  308 + });
  309 + e.preventDefault();
303 }); 310 });
304 - e.preventDefault();  
305 }); 311 });
306 -});  
307 312
308 -function loginCallback(loggedIn, token) {  
309 - logged_in = loggedIn;  
310 - $('.login .message').text(''); 313 + function loginCallback(loggedIn, token) {
  314 + logged_in = loggedIn;
  315 + $('.login .message').text('');
311 316
312 - if(logged_in) {  
313 - if(token){  
314 - private_token = token; 317 + if(logged_in) {
  318 + if(token){
  319 + private_token = token;
  320 + }
  321 + loginButton.siblings('.save-article-form').show();
  322 + loginButton.siblings('.save-article-form .message').show();
  323 + loginButton.siblings('.login-container').hide();
  324 + $.cookie('_dialoga_session', private_token);
  325 + } else {
  326 + loginButton.siblings('.save-article-form').hide();
  327 + loginButton.siblings('.login-container').show();
315 } 328 }
316 - loginButton.siblings('.save-article-form').show();  
317 - loginButton.siblings('.save-article-form .message').show();  
318 - loginButton.siblings('.login-container').hide();  
319 - $.cookie('_dialoga_session', private_token);  
320 - } else {  
321 - loginButton.siblings('.save-article-form').hide();  
322 - loginButton.siblings('.login-container').show();  
323 } 329 }
324 -}  
325 330
326 -// function oauthPluginHandleLoginResult(loggedIn, token) {  
327 -// loginCallback(loggedIn, token);  
328 -// } 331 + function oauthPluginHandleLoginResult(loggedIn, token) {
  332 + loginCallback(loggedIn, token);
  333 + }
329 334
330 -function guid() {  
331 - function s4() {  
332 - return Math.floor((1 + Math.random()) * 0x10000)  
333 - .toString(16)  
334 - .substring(1); 335 + function guid() {
  336 + function s4() {
  337 + return Math.floor((1 + Math.random()) * 0x10000)
  338 + .toString(16)
  339 + .substring(1);
  340 + }
335 } 341 }
336 - return s4() + s4() + '-' + s4() + '-' + s4() + '-' +  
337 - s4() + '-' + s4() + s4() + s4();  
338 -}  
339 -  
340 -function display_category_tab(){  
341 - $('#proposal-group').hide();  
342 - $('#proposal-categories').show();  
343 - $('#nav-proposal-categories a').addClass('active');  
344 - $('#nav-proposal-group a').removeClass('active');  
345 - $('.proposal-category-items').hide();  
346 - $('.proposal-category .arrow-box').hide();  
347 - $('.proposal-detail').hide();  
348 -  
349 - $('#content').show();  
350 - $('nav').show();  
351 -}  
352 -  
353 -function display_proposals_tab(){  
354 - $('#proposal-categories').hide();  
355 - $('#proposal-group').show();  
356 - $('#nav-proposal-group a').addClass('active');  
357 - $('#nav-proposal-categories a').removeClass('active');  
358 - $('.proposal-item p').dotdotdot();  
359 -  
360 - $('#content').show();  
361 - $('nav').show();  
362 -}  
363 -  
364 -function display_proposal(proposal_id){  
365 - $('#proposal-categories').hide();  
366 - $('#proposal-group').hide();  
367 - $('nav').hide();  
368 - $('#content').hide();  
369 - $('.make-proposal-form').hide();  
370 - $('.login-container').hide();  
371 - $('.proposal-detail').hide();  
372 -  
373 - $('.proposal-detail-base').hide();  
374 - $('#' + proposal_id).show();  
375 - $('.proposal-header').show();  
376 - $('.make-proposal-container').show();  
377 - $('.support-proposal-container').show();  
378 - $('.results-container').hide();  
379 - $('.results-container .loading').hide();  
380 - $('.results-container .results-content').hide();  
381 - $('.experience-proposal-container').show();  
382 - $('.talk-proposal-container').show();  
383 -  
384 - var topic_id = proposal_id.split('-').pop();  
385 - loadRandomProposal(topic_id, private_token);  
386 -}  
387 -  
388 -function display_proposal_detail(){  
389 - $('#proposal-categories').hide();  
390 - $('#proposal-group').hide();  
391 - $('nav').hide();  
392 - $('#content').hide();  
393 - $('.make-proposal-form').hide();  
394 - $('.proposal-header').hide();  
395 - $('.make-proposal-container').hide();  
396 - $('.support-proposal-container').hide();  
397 - $('.results-container').hide();  
398 - $('.experience-proposal-container').hide();  
399 - $('.talk-proposal-container').hide();  
400 -  
401 - $('.body').show();  
402 -}  
403 -  
404 -function display_proposal_by_category(item){  
405 - var $item = $('#' + item);  
406 -  
407 - if($item.hasClass('proposal-category-items')){  
408 - //Display Topics or Discussion by category  
409 - $('nav').show();  
410 - $('#content').show(); 342 +
  343 + function display_category_tab(){
  344 + $('#proposal-group').hide();
411 $('#proposal-categories').show(); 345 $('#proposal-categories').show();
412 $('#nav-proposal-categories a').addClass('active'); 346 $('#nav-proposal-categories a').addClass('active');
413 $('#nav-proposal-group a').removeClass('active'); 347 $('#nav-proposal-group a').removeClass('active');
414 $('.proposal-category-items').hide(); 348 $('.proposal-category-items').hide();
  349 + $('.proposal-category .arrow-box').hide();
415 $('.proposal-detail').hide(); 350 $('.proposal-detail').hide();
416 - $item.toggle( 'blind', 1000 ); 351 +
  352 + $('#content').show();
  353 + $('nav').show();
  354 + }
  355 +
  356 + function display_proposals_tab(){
  357 + $('#proposal-categories').hide();
  358 + $('#proposal-group').show();
  359 + $('#nav-proposal-group a').addClass('active');
  360 + $('#nav-proposal-categories a').removeClass('active');
417 $('.proposal-item p').dotdotdot(); 361 $('.proposal-item p').dotdotdot();
418 - $('.proposal-category .arrow-box').hide();  
419 - var categorySlug = $item.data('category');  
420 - $('#proposal-category-' + categorySlug).find('.arrow-box').show(); 362 +
  363 + $('#content').show();
  364 + $('nav').show();
421 } 365 }
422 -}  
423 366
424 -function updateHash(hash){  
425 - var id = hash.replace(/^.*#/, '');  
426 - var elem = document.getElementById(id); 367 + function display_proposal(proposal_id){
  368 + $('#proposal-categories').hide();
  369 + $('#proposal-group').hide();
  370 + $('nav').hide();
  371 + $('#content').hide();
  372 + $('.make-proposal-form').hide();
  373 + $('.login-container').hide();
  374 + $('.proposal-detail').hide();
427 375
428 - if ( !elem ) {  
429 - window.location.hash = hash;  
430 - return; 376 + $('.proposal-detail-base').hide();
  377 + $('#' + proposal_id).show();
  378 + $('.proposal-header').show();
  379 + $('.make-proposal-container').show();
  380 + $('.support-proposal-container').show();
  381 + $('.results-container').hide();
  382 + $('.results-container .loading').hide();
  383 + $('.results-container .results-content').hide();
  384 + $('.experience-proposal-container').show();
  385 + $('.talk-proposal-container').show();
  386 +
  387 + var topic_id = proposal_id.split('-').pop();
  388 + loadRandomProposal(topic_id, private_token);
431 } 389 }
432 390
433 - elem.id = id+'-tmp';  
434 - window.location.hash = hash;  
435 - elem.id = id;  
436 -}  
437 -  
438 -function locationHashChanged(){  
439 - var hash = location.hash;  
440 - navigateTo(hash);  
441 -}  
442 -  
443 -function navigateTo(hash){  
444 - var regexProposals = /#\/programas/;  
445 - var regexCategory = /#\/temas/;  
446 - var parts = hash.split('/');  
447 -  
448 - var isProposal = regexProposals.exec(hash) !== null;  
449 - var isCategory = regexCategory.exec(hash) !== null;  
450 -  
451 - if( isProposal ){  
452 -  
453 - // go to proposal  
454 - var proposalId = parts[2];  
455 - navigateToProposal(proposalId); 391 + function display_proposal_detail(proposal_id){
  392 + $('#proposal-categories').hide();
  393 + $('#proposal-group').hide();
  394 + $('nav').hide();
  395 + $('#content').hide();
  396 + $('.make-proposal-form').hide();
  397 + $('.proposal-header').hide();
  398 + $('.make-proposal-container').hide();
  399 + $('.support-proposal-container').hide();
  400 + $('.results-container').hide();
  401 + $('.experience-proposal-container').hide();
  402 + $('.talk-proposal-container').hide();
  403 + $('.body').show();
  404 +
  405 + var url = host + '/api/v1/articles/' + proposal_id + '?private_token=' + private_token + '&fields=id,body&content_type=ProposalsDiscussionPlugin::Topic';
  406 + $.getJSON(url).done(function( data ) {
  407 + $('.body-content').replaceWith(data.article.body);
  408 + })
  409 + .fail(function( jqxhr, textStatus, error ) {
  410 + var err = textStatus + ', ' + error;
  411 + console.log( 'Request Failed: ' + err );
  412 + });
  413 + }
  414 + function display_proposal_by_category(item){
  415 + var $item = $('#' + item);
  416 +
  417 + if($item.hasClass('proposal-category-items')){
  418 + //Display Topics or Discussion by category
  419 + $('nav').show();
  420 + $('#content').show();
  421 + $('#proposal-categories').show();
  422 + $('#nav-proposal-categories a').addClass('active');
  423 + $('#nav-proposal-group a').removeClass('active');
  424 + $('.proposal-category-items').hide();
  425 + $('.proposal-detail').hide();
  426 + $item.toggle( 'blind', 1000 );
  427 + $('.proposal-item p').dotdotdot();
  428 + $('.proposal-category .arrow-box').hide();
  429 + var categorySlug = $item.data('category');
  430 + $('#proposal-category-' + categorySlug).find('.arrow-box').show();
  431 + }
456 } 432 }
457 433
458 - if( isCategory ){ 434 + var BARRA_ADDED = false;
  435 + function addBarraDoGoverno(){
459 436
460 - // go to category  
461 - var categoryId = parts[3];  
462 - navigateToCategory(categoryId); 437 + if( BARRA_ADDED ) { return; }
  438 +
  439 + var HTML_BODY_PREPEND = '' +
  440 + '<div id="barra-brasil" style="background:#7F7F7F; height: 20px; padding:0 0 0 10px;display:block;"> ' +
  441 + '<ul id="menu-barra-temp" style="list-style:none;">' +
  442 + '<li style="display:inline; float:left;padding-right:10px; margin-right:10px; border-right:1px solid #EDEDED"><a href="http://brasil.gov.br" style="font-family:sans,sans-serif; text-decoration:none; color:white;">Portal do Governo Brasileiro</a></li> ' +
  443 + '<li><a style="font-family:sans,sans-serif; text-decoration:none; color:white;" href="http://epwg.governoeletronico.gov.br/barra/atualize.html">Atualize sua Barra de Governo</a></li>' +
  444 + '</ul>' +
  445 + '</div>';
  446 +
  447 + var HTML_BODY_APPEND = ''+
  448 + '<div id="footer-brasil"></div>' +
  449 + '<script defer="defer" src="http://barra.brasil.gov.br/barra.js" type="text/javascript"></script>';
  450 +
  451 + var STYLE_TEMA_AZUL = '' +
  452 + '<style>'+
  453 + '#footer-brasil {'+
  454 + 'background: none repeat scroll 0% 0% #0042b1;'+
  455 + 'padding: 1em 0px;'+
  456 + 'max-width: 100%;'+
  457 + 'margin-top: 40px;'+
  458 + '}'+
  459 + '#barra-brasil ul {'+
  460 + 'width: auto;'+
  461 + '}'+
  462 + '<style>';
  463 +
  464 + var $body = $(document.body);
  465 + $body.prepend(HTML_BODY_PREPEND);
  466 + $body.append(HTML_BODY_APPEND);
  467 + $body.append(STYLE_TEMA_AZUL);
  468 +
  469 + BARRA_ADDED = true;
463 } 470 }
464 471
465 - // default  
466 - if( !isProposal && !isCategory ){  
467 - // show the 'index' -> category tab  
468 - display_category_tab(); 472 + function updateHash(hash){
  473 + var id = hash.replace(/^.*#/, '');
  474 + var elem = document.getElementById(id);
  475 +
  476 + // preserve the query param
  477 + // if (HIDE_BARRA_DO_GOVERNO && (hash.indexOf('?barra=false') === -1)){
  478 + // hash += '?barra=false';
  479 + // }
  480 +
  481 + if ( !elem ) {
  482 + window.location.hash = hash;
  483 + return;
  484 + }
  485 +
  486 + elem.id = id+'-tmp';
  487 + window.location.hash = hash;
  488 + elem.id = id;
469 } 489 }
470 490
471 - $('html, body').animate({ scrollTop: 0 }, 'fast');  
472 -} 491 + function locationHashChanged(){
  492 + var hash = window.location.hash;
  493 + navigateTo(hash);
  494 + }
473 495
474 -function navigateToProposal(proposalId){  
475 - if(proposalId === undefined){  
476 - display_proposals_tab();  
477 - }else{  
478 - display_proposal('proposal-item-' + proposalId); 496 + var HIDE_BARRA_DO_GOVERNO = false;
  497 + function navigateTo(hash){
  498 + var regexProposals = /#\/programas/;
  499 + var regexCategory = /#\/temas/;
  500 + var regexHideBarra = /barra=false$/;
  501 +
  502 + if( !(regexHideBarra.exec(hash) !== null) && !HIDE_BARRA_DO_GOVERNO ){
  503 + addBarraDoGoverno();
  504 + }else{
  505 + HIDE_BARRA_DO_GOVERNO = true;
  506 + }
  507 +
  508 + // remove query params
  509 + hash = hash.split('?')[0];
  510 +
  511 + var parts = hash.split('/');
  512 +
  513 + var isProposal = regexProposals.exec(hash) !== null;
  514 + var isCategory = regexCategory.exec(hash) !== null;
  515 +
  516 + if( isProposal ){
  517 +
  518 + // go to proposal
  519 + var proposalId = parts[2];
  520 + navigateToProposal(proposalId);
  521 + }
  522 +
  523 + if( isCategory ){
  524 +
  525 + // go to category
  526 + var categoryId = parts[3];
  527 + navigateToCategory(categoryId);
  528 + }
  529 +
  530 + // default
  531 + if( !isProposal && !isCategory ){
  532 + // show the 'index' -> category tab
  533 + display_category_tab();
  534 + }
  535 +
  536 + $('html, body').animate({ scrollTop: 0 }, 'fast');
  537 + }
  538 +
  539 + function navigateToProposal(proposalId){
  540 + if(proposalId === undefined){
  541 + display_proposals_tab();
  542 + }else{
  543 + display_proposal('proposal-item-' + proposalId);
  544 +
  545 + // show sub-page
  546 + var regexSubpages = /sobre-o-programa$/;
  547 + var m;
  548 + if((m = regexSubpages.exec(window.location.hash)) !== null ){
  549 + display_proposal_detail(proposalId);
  550 + }
  551 + }
  552 + }
  553 +
  554 + function navigateToCategory(categoryId){
  555 + if(categoryId === undefined){
  556 + display_category_tab();
  557 + }else{
  558 + display_proposal_by_category('proposal-item-' + categoryId);
  559 + }
  560 + }
  561 +
  562 + function addVotedProposal(id) {
  563 + var votedProposals;
  564 + if (typeof($.cookie("votedProposals")) == "undefined"){
  565 + votedProposals = [];
  566 + }
  567 + else{
  568 + votedProposals = JSON.parse($.cookie("votedProposals"));
  569 + }
  570 + if (votedProposals.indexOf(id)==-1){
  571 + votedProposals.push(id);
  572 + }
  573 + $.cookie("votedProposals", JSON.stringify(votedProposals), {expires : 999 }) ;
  574 + }
479 575
480 - // show sub-page  
481 - var regexSubpages = /sobre-o-programa$/;  
482 - var m;  
483 - if((m = regexSubpages.exec(window.location.hash)) !== null ){  
484 - display_proposal_detail(); 576 + function hasProposalbeenVoted(id) {
  577 + if (typeof($.cookie("votedProposals")) == "undefined") {
  578 + return false;
485 } 579 }
  580 + votedProposals = JSON.parse($.cookie("votedProposals"));
  581 + return votedProposals.indexOf(id)!=-1;
486 } 582 }
487 -}  
488 583
489 -function navigateToCategory(categoryId){  
490 - if(categoryId === undefined){  
491 - display_category_tab(); 584 + if('onhashchange' in window){
  585 + window.onhashchange = locationHashChanged;
492 }else{ 586 }else{
493 - display_proposal_by_category('proposal-item-' + categoryId); 587 + console.log('The browser not supports the hashchange event!');
494 } 588 }
495 -}  
496 589
497 -if('onhashchange' in window){  
498 - window.onhashchange = locationHashChanged;  
499 -}else{  
500 - console.log('The browser not supports the hashchange event!');  
501 -} 590 +});
js/require.js 0 → 100644
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
  1 +/*
  2 + RequireJS 2.1.17 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
  3 + Available via the MIT or new BSD license.
  4 + see: http://github.com/jrburke/requirejs for details
  5 +*/
  6 +var requirejs,require,define;
  7 +(function(ba){function G(b){return"[object Function]"===K.call(b)}function H(b){return"[object Array]"===K.call(b)}function v(b,c){if(b){var d;for(d=0;d<b.length&&(!b[d]||!c(b[d],d,b));d+=1);}}function T(b,c){if(b){var d;for(d=b.length-1;-1<d&&(!b[d]||!c(b[d],d,b));d-=1);}}function t(b,c){return fa.call(b,c)}function m(b,c){return t(b,c)&&b[c]}function B(b,c){for(var d in b)if(t(b,d)&&c(b[d],d))break}function U(b,c,d,e){c&&B(c,function(c,g){if(d||!t(b,g))e&&"object"===typeof c&&c&&!H(c)&&!G(c)&&!(c instanceof
  8 +RegExp)?(b[g]||(b[g]={}),U(b[g],c,d,e)):b[g]=c});return b}function u(b,c){return function(){return c.apply(b,arguments)}}function ca(b){throw b;}function da(b){if(!b)return b;var c=ba;v(b.split("."),function(b){c=c[b]});return c}function C(b,c,d,e){c=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+b);c.requireType=b;c.requireModules=e;d&&(c.originalError=d);return c}function ga(b){function c(a,k,b){var f,l,c,d,e,g,i,p,k=k&&k.split("/"),h=j.map,n=h&&h["*"];if(a){a=a.split("/");l=a.length-1;j.nodeIdCompat&&
  9 +Q.test(a[l])&&(a[l]=a[l].replace(Q,""));"."===a[0].charAt(0)&&k&&(l=k.slice(0,k.length-1),a=l.concat(a));l=a;for(c=0;c<l.length;c++)if(d=l[c],"."===d)l.splice(c,1),c-=1;else if(".."===d&&!(0===c||1===c&&".."===l[2]||".."===l[c-1])&&0<c)l.splice(c-1,2),c-=2;a=a.join("/")}if(b&&h&&(k||n)){l=a.split("/");c=l.length;a:for(;0<c;c-=1){e=l.slice(0,c).join("/");if(k)for(d=k.length;0<d;d-=1)if(b=m(h,k.slice(0,d).join("/")))if(b=m(b,e)){f=b;g=c;break a}!i&&(n&&m(n,e))&&(i=m(n,e),p=c)}!f&&i&&(f=i,g=p);f&&(l.splice(0,
  10 +g,f),a=l.join("/"))}return(f=m(j.pkgs,a))?f:a}function d(a){z&&v(document.getElementsByTagName("script"),function(k){if(k.getAttribute("data-requiremodule")===a&&k.getAttribute("data-requirecontext")===i.contextName)return k.parentNode.removeChild(k),!0})}function e(a){var k=m(j.paths,a);if(k&&H(k)&&1<k.length)return k.shift(),i.require.undef(a),i.makeRequire(null,{skipMap:!0})([a]),!0}function n(a){var k,c=a?a.indexOf("!"):-1;-1<c&&(k=a.substring(0,c),a=a.substring(c+1,a.length));return[k,a]}function p(a,
  11 +k,b,f){var l,d,e=null,g=k?k.name:null,j=a,p=!0,h="";a||(p=!1,a="_@r"+(K+=1));a=n(a);e=a[0];a=a[1];e&&(e=c(e,g,f),d=m(r,e));a&&(e?h=d&&d.normalize?d.normalize(a,function(a){return c(a,g,f)}):-1===a.indexOf("!")?c(a,g,f):a:(h=c(a,g,f),a=n(h),e=a[0],h=a[1],b=!0,l=i.nameToUrl(h)));b=e&&!d&&!b?"_unnormalized"+(O+=1):"";return{prefix:e,name:h,parentMap:k,unnormalized:!!b,url:l,originalName:j,isDefine:p,id:(e?e+"!"+h:h)+b}}function s(a){var k=a.id,b=m(h,k);b||(b=h[k]=new i.Module(a));return b}function q(a,
  12 +k,b){var f=a.id,c=m(h,f);if(t(r,f)&&(!c||c.defineEmitComplete))"defined"===k&&b(r[f]);else if(c=s(a),c.error&&"error"===k)b(c.error);else c.on(k,b)}function w(a,b){var c=a.requireModules,f=!1;if(b)b(a);else if(v(c,function(b){if(b=m(h,b))b.error=a,b.events.error&&(f=!0,b.emit("error",a))}),!f)g.onError(a)}function x(){R.length&&(ha.apply(A,[A.length,0].concat(R)),R=[])}function y(a){delete h[a];delete V[a]}function F(a,b,c){var f=a.map.id;a.error?a.emit("error",a.error):(b[f]=!0,v(a.depMaps,function(f,
  13 +d){var e=f.id,g=m(h,e);g&&(!a.depMatched[d]&&!c[e])&&(m(b,e)?(a.defineDep(d,r[e]),a.check()):F(g,b,c))}),c[f]=!0)}function D(){var a,b,c=(a=1E3*j.waitSeconds)&&i.startTime+a<(new Date).getTime(),f=[],l=[],g=!1,h=!0;if(!W){W=!0;B(V,function(a){var i=a.map,j=i.id;if(a.enabled&&(i.isDefine||l.push(a),!a.error))if(!a.inited&&c)e(j)?g=b=!0:(f.push(j),d(j));else if(!a.inited&&(a.fetched&&i.isDefine)&&(g=!0,!i.prefix))return h=!1});if(c&&f.length)return a=C("timeout","Load timeout for modules: "+f,null,
  14 +f),a.contextName=i.contextName,w(a);h&&v(l,function(a){F(a,{},{})});if((!c||b)&&g)if((z||ea)&&!X)X=setTimeout(function(){X=0;D()},50);W=!1}}function E(a){t(r,a[0])||s(p(a[0],null,!0)).init(a[1],a[2])}function I(a){var a=a.currentTarget||a.srcElement,b=i.onScriptLoad;a.detachEvent&&!Y?a.detachEvent("onreadystatechange",b):a.removeEventListener("load",b,!1);b=i.onScriptError;(!a.detachEvent||Y)&&a.removeEventListener("error",b,!1);return{node:a,id:a&&a.getAttribute("data-requiremodule")}}function J(){var a;
  15 +for(x();A.length;){a=A.shift();if(null===a[0])return w(C("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));E(a)}}var W,Z,i,L,X,j={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},h={},V={},$={},A=[],r={},S={},aa={},K=1,O=1;L={require:function(a){return a.require?a.require:a.require=i.makeRequire(a.map)},exports:function(a){a.usingExports=!0;if(a.map.isDefine)return a.exports?r[a.map.id]=a.exports:a.exports=r[a.map.id]={}},module:function(a){return a.module?
  16 +a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){return m(j.config,a.map.id)||{}},exports:a.exports||(a.exports={})}}};Z=function(a){this.events=m($,a.id)||{};this.map=a;this.shim=m(j.shim,a.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};Z.prototype={init:function(a,b,c,f){f=f||{};if(!this.inited){this.factory=b;if(c)this.on("error",c);else this.events.error&&(c=u(this,function(a){this.emit("error",a)}));this.depMaps=a&&a.slice(0);this.errback=
  17 +c;this.inited=!0;this.ignore=f.ignore;f.enabled||this.enabled?this.enable():this.check()}},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0;i.startTime=(new Date).getTime();var a=this.map;if(this.shim)i.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return a.prefix?this.callPlugin():this.load()}));else return a.prefix?this.callPlugin():this.load()}},load:function(){var a=
  18 +this.map.url;S[a]||(S[a]=!0,i.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id;b=this.depExports;var f=this.exports,l=this.factory;if(this.inited)if(this.error)this.emit("error",this.error);else{if(!this.defining){this.defining=!0;if(1>this.depCount&&!this.defined){if(G(l)){if(this.events.error&&this.map.isDefine||g.onError!==ca)try{f=i.execCb(c,l,b,f)}catch(d){a=d}else f=i.execCb(c,l,b,f);this.map.isDefine&&void 0===f&&((b=this.module)?f=b.exports:this.usingExports&&
  19 +(f=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",w(this.error=a)}else f=l;this.exports=f;if(this.map.isDefine&&!this.ignore&&(r[c]=f,g.onResourceLoad))g.onResourceLoad(i,this.map,this.depMaps);y(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=
  20 +this.map,b=a.id,d=p(a.prefix);this.depMaps.push(d);q(d,"defined",u(this,function(f){var l,d;d=m(aa,this.map.id);var e=this.map.name,P=this.map.parentMap?this.map.parentMap.name:null,n=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(e=f.normalize(e,function(a){return c(a,P,!0)})||""),f=p(a.prefix+"!"+e,this.map.parentMap),q(f,"defined",u(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),d=m(h,f.id)){this.depMaps.push(f);
  21 +if(this.events.error)d.on("error",u(this,function(a){this.emit("error",a)}));d.enable()}}else d?(this.map.url=i.nameToUrl(d),this.load()):(l=u(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),l.error=u(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];B(h,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&y(a.map.id)});w(a)}),l.fromText=u(this,function(f,c){var d=a.name,e=p(d),P=M;c&&(f=c);P&&(M=!1);s(e);t(j.config,b)&&(j.config[d]=j.config[b]);try{g.exec(f)}catch(h){return w(C("fromtexteval",
  22 +"fromText eval for "+b+" failed: "+h,h,[b]))}P&&(M=!0);this.depMaps.push(e);i.completeLoad(d);n([d],l)}),f.load(a.name,n,l,j))}));i.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){V[this.map.id]=this;this.enabling=this.enabled=!0;v(this.depMaps,u(this,function(a,b){var c,f;if("string"===typeof a){a=p(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=m(L,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;q(a,"defined",u(this,function(a){this.defineDep(b,
  23 +a);this.check()}));this.errback?q(a,"error",u(this,this.errback)):this.events.error&&q(a,"error",u(this,function(a){this.emit("error",a)}))}c=a.id;f=h[c];!t(L,c)&&(f&&!f.enabled)&&i.enable(a,this)}));B(this.pluginMaps,u(this,function(a){var b=m(h,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){v(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:j,contextName:b,
  24 +registry:h,defined:r,urlFetched:S,defQueue:A,Module:Z,makeModuleMap:p,nextTick:g.nextTick,onError:w,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=j.shim,c={paths:!0,bundles:!0,config:!0,map:!0};B(a,function(a,b){c[b]?(j[b]||(j[b]={}),U(j[b],a,!0,!0)):j[b]=a});a.bundles&&B(a.bundles,function(a,b){v(a,function(a){a!==b&&(aa[a]=b)})});a.shim&&(B(a.shim,function(a,c){H(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);
  25 +b[c]=a}),j.shim=b);a.packages&&v(a.packages,function(a){var b,a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(j.paths[b]=a.location);j.pkgs[b]=a.name+"/"+(a.main||"main").replace(ia,"").replace(Q,"")});B(h,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=p(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ba,arguments));return b||a.exports&&da(a.exports)}},makeRequire:function(a,e){function j(c,d,m){var n,
  26 +q;e.enableBuildCallback&&(d&&G(d))&&(d.__requireJsBuild=!0);if("string"===typeof c){if(G(d))return w(C("requireargs","Invalid require call"),m);if(a&&t(L,c))return L[c](h[a.id]);if(g.get)return g.get(i,c,a,j);n=p(c,a,!1,!0);n=n.id;return!t(r,n)?w(C("notloaded",'Module name "'+n+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[n]}J();i.nextTick(function(){J();q=s(p(null,a));q.skipMap=e.skipMap;q.init(c,d,m,{enabled:!0});D()});return j}e=e||{};U(j,{isBrowser:z,toUrl:function(b){var d,
  27 +e=b.lastIndexOf("."),k=b.split("/")[0];if(-1!==e&&(!("."===k||".."===k)||1<e))d=b.substring(e,b.length),b=b.substring(0,e);return i.nameToUrl(c(b,a&&a.id,!0),d,!0)},defined:function(b){return t(r,p(b,a,!1,!0).id)},specified:function(b){b=p(b,a,!1,!0).id;return t(r,b)||t(h,b)}});a||(j.undef=function(b){x();var c=p(b,a,!0),e=m(h,b);d(b);delete r[b];delete S[c.url];delete $[b];T(A,function(a,c){a[0]===b&&A.splice(c,1)});e&&(e.events.defined&&($[b]=e.events),y(b))});return j},enable:function(a){m(h,a.id)&&
  28 +s(a).enable()},completeLoad:function(a){var b,c,d=m(j.shim,a)||{},g=d.exports;for(x();A.length;){c=A.shift();if(null===c[0]){c[0]=a;if(b)break;b=!0}else c[0]===a&&(b=!0);E(c)}c=m(h,a);if(!b&&!t(r,a)&&c&&!c.inited){if(j.enforceDefine&&(!g||!da(g)))return e(a)?void 0:w(C("nodefine","No define call for "+a,null,[a]));E([a,d.deps||[],d.exportsFn])}D()},nameToUrl:function(a,b,c){var d,e,h;(d=m(j.pkgs,a))&&(a=d);if(d=m(aa,a))return i.nameToUrl(d,b,c);if(g.jsExtRegExp.test(a))d=a+(b||"");else{d=j.paths;
  29 +a=a.split("/");for(e=a.length;0<e;e-=1)if(h=a.slice(0,e).join("/"),h=m(d,h)){H(h)&&(h=h[0]);a.splice(0,e,h);break}d=a.join("/");d+=b||(/^data\:|\?/.test(d)||c?"":".js");d=("/"===d.charAt(0)||d.match(/^[\w\+\.\-]+:/)?"":j.baseUrl)+d}return j.urlArgs?d+((-1===d.indexOf("?")?"?":"&")+j.urlArgs):d},load:function(a,b){g.load(i,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||ja.test((a.currentTarget||a.srcElement).readyState))N=null,a=I(a),i.completeLoad(a.id)},
  30 +onScriptError:function(a){var b=I(a);if(!e(b.id))return w(C("scripterror","Script error for: "+b.id,a,[b.id]))}};i.require=i.makeRequire();return i}var g,x,y,D,I,E,N,J,s,O,ka=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,la=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,Q=/\.js$/,ia=/^\.\//;x=Object.prototype;var K=x.toString,fa=x.hasOwnProperty,ha=Array.prototype.splice,z=!!("undefined"!==typeof window&&"undefined"!==typeof navigator&&window.document),ea=!z&&"undefined"!==typeof importScripts,ja=
  31 +z&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,Y="undefined"!==typeof opera&&"[object Opera]"===opera.toString(),F={},q={},R=[],M=!1;if("undefined"===typeof define){if("undefined"!==typeof requirejs){if(G(requirejs))return;q=requirejs;requirejs=void 0}"undefined"!==typeof require&&!G(require)&&(q=require,require=void 0);g=requirejs=function(b,c,d,e){var n,p="_";!H(b)&&"string"!==typeof b&&(n=b,H(c)?(b=c,c=d,d=e):b=[]);n&&n.context&&(p=n.context);(e=m(F,p))||(e=F[p]=g.s.newContext(p));
  32 +n&&e.configure(n);return e.require(b,c,d)};g.config=function(b){return g(b)};g.nextTick="undefined"!==typeof setTimeout?function(b){setTimeout(b,4)}:function(b){b()};require||(require=g);g.version="2.1.17";g.jsExtRegExp=/^\/|:|\?|\.js$/;g.isBrowser=z;x=g.s={contexts:F,newContext:ga};g({});v(["toUrl","undef","defined","specified"],function(b){g[b]=function(){var c=F._;return c.require[b].apply(c,arguments)}});if(z&&(y=x.head=document.getElementsByTagName("head")[0],D=document.getElementsByTagName("base")[0]))y=
  33 +x.head=D.parentNode;g.onError=ca;g.createNode=function(b){var c=b.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");c.type=b.scriptType||"text/javascript";c.charset="utf-8";c.async=!0;return c};g.load=function(b,c,d){var e=b&&b.config||{};if(z)return e=g.createNode(e,c,d),e.setAttribute("data-requirecontext",b.contextName),e.setAttribute("data-requiremodule",c),e.attachEvent&&!(e.attachEvent.toString&&0>e.attachEvent.toString().indexOf("[native code"))&&
  34 +!Y?(M=!0,e.attachEvent("onreadystatechange",b.onScriptLoad)):(e.addEventListener("load",b.onScriptLoad,!1),e.addEventListener("error",b.onScriptError,!1)),e.src=d,J=e,D?y.insertBefore(e,D):y.appendChild(e),J=null,e;if(ea)try{importScripts(d),b.completeLoad(c)}catch(m){b.onError(C("importscripts","importScripts failed for "+c+" at "+d,m,[c]))}};z&&!q.skipDataMain&&T(document.getElementsByTagName("script"),function(b){y||(y=b.parentNode);if(I=b.getAttribute("data-main"))return s=I,q.baseUrl||(E=s.split("/"),
  35 +s=E.pop(),O=E.length?E.join("/")+"/":"./",q.baseUrl=O),s=s.replace(Q,""),g.jsExtRegExp.test(s)&&(s=I),q.deps=q.deps?q.deps.concat(s):[s],!0});define=function(b,c,d){var e,g;"string"!==typeof b&&(d=c,c=b,b=null);H(c)||(d=c,c=null);!c&&G(d)&&(c=[],d.length&&(d.toString().replace(ka,"").replace(la,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(M){if(!(e=J))N&&"interactive"===N.readyState||T(document.getElementsByTagName("script"),function(b){if("interactive"===
  36 +b.readyState)return N=b}),e=N;e&&(b||(b=e.getAttribute("data-requiremodule")),g=F[e.getAttribute("data-requirecontext")])}(g?g.defQueue:R).push([b,c,d])};define.amd={jQuery:!0};g.exec=function(b){return eval(b)};g(q)}})(this);
js/requirejs-config.js 0 → 100644
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
  1 +var base = window.location.href;
  2 +var host = window.location.host;
  3 +var regex = new RegExp(".*" + host + '/', "g");
  4 +
  5 +if(host){
  6 + base = base.replace(regex,'');
  7 +}else{
  8 + base = base.replace('index.html','');
  9 +}
  10 +base = removeUrlParameters(base);
  11 +
  12 +requirejs.config({
  13 + baseUrl: ( base + '/js/'),
  14 + paths: {
  15 + jquery: 'jquery-2.1.3.min',
  16 + jquery_ui: 'jquery-ui-1.11.4.custom/jquery-ui.min',
  17 + jquery_cookie: 'jquery.cookie',
  18 + handlebars: 'handlebars-v3.0.1',
  19 + handlebars_helpers: 'handlebars-helpers',
  20 + dotdotdot: 'jquery.dotdotdot.min',
  21 + jquery_maxlength: 'jquery.maxlength.min',
  22 + layout: 'layout',
  23 + main: 'main'
  24 + },
  25 + shim: {
  26 + 'handlebars':{
  27 + deps: ['jquery'],
  28 + exports: 'Handlebars'
  29 + },
  30 + 'jquery_ui': {
  31 + deps: ['jquery']
  32 + },
  33 + 'dotdotdot': {
  34 + deps: ['jquery']
  35 + },
  36 + 'layout': {
  37 + deps: ['jquery']
  38 + },
  39 + 'jquery_maxlength': {
  40 + deps: ['jquery']
  41 + },
  42 + 'handlebars_helpers':{
  43 + deps: ['handlebars']
  44 + }
  45 + }
  46 +});
  47 +
  48 +requirejs(['jquery', 'jquery_ui', 'jquery_cookie', 'handlebars', 'handlebars_helpers']);
  49 +requirejs(['dotdotdot', 'jquery_maxlength', 'layout', 'main']);
sass/_proposal_categories.scss
@@ -86,12 +86,18 @@ @@ -86,12 +86,18 @@
86 86
87 .proposal-item { 87 .proposal-item {
88 width: 48%; 88 width: 48%;
89 - min-height: 200px; 89 + // min-height: 200px;
90 margin: 0.5%; 90 margin: 0.5%;
91 background: #fff; 91 background: #fff;
92 border-radius: 5px; 92 border-radius: 5px;
93 vertical-align: top; 93 vertical-align: top;
94 border: 1px solid #03316f; 94 border: 1px solid #03316f;
  95 + .proposal-link {
  96 + min-height: 200px;
  97 + p {
  98 + font-weight: 400;
  99 + }
  100 + }
95 } 101 }
96 102
97 .proposal-item:hover { 103 .proposal-item:hover {
@@ -184,6 +190,9 @@ @@ -184,6 +190,9 @@
184 p, .description, label, .info, h2 small{ 190 p, .description, label, .info, h2 small{
185 font-size: 18px !important; 191 font-size: 18px !important;
186 } 192 }
  193 + .bloco-destaque {
  194 + background-image: url("transparent");
  195 + }
187 } 196 }
188 @media only screen and (max-width: 630px) { 197 @media only screen and (max-width: 630px) {
189 .proposal-detail .categories select{ 198 .proposal-detail .categories select{
@@ -195,4 +204,7 @@ @@ -195,4 +204,7 @@
195 .proposal-item { 204 .proposal-item {
196 width: 95% !important; 205 width: 95% !important;
197 } 206 }
  207 + .bloco-destaque {
  208 + background-image: none !important;
  209 + }
198 } 210 }
sass/_proposal_detail.scss
@@ -664,6 +664,10 @@ @@ -664,6 +664,10 @@
664 height: auto !important; 664 height: auto !important;
665 margin: 0 !important; 665 margin: 0 !important;
666 min-height: 0 !important; 666 min-height: 0 !important;
  667 +
  668 + .info {
  669 + max-height: none !important;
  670 + }
667 } 671 }
668 .send-proposal-button { 672 .send-proposal-button {
669 text-align: center !important; 673 text-align: center !important;
sass/proposal_detail/mais-medicos.scss
1 -.proposal-detail-base 1 +.proposal-detail-base {
2 .bloco-destaque { 2 .bloco-destaque {
3 background-image: url("http://www.participa.br/articles/public/0009/6039/mais-medicos-foto4.png"); 3 background-image: url("http://www.participa.br/articles/public/0009/6039/mais-medicos-foto4.png");
4 background-repeat: no-repeat; 4 background-repeat: no-repeat;
@@ -19,4 +19,5 @@ @@ -19,4 +19,5 @@
19 font-size: 38px; 19 font-size: 38px;
20 color: #172938; 20 color: #172938;
21 text-transform: none; 21 text-transform: none;
22 - }  
23 \ No newline at end of file 22 \ No newline at end of file
  23 + }
  24 +}
24 \ No newline at end of file 25 \ No newline at end of file
sass/style.scss
@@ -13,6 +13,9 @@ @@ -13,6 +13,9 @@
13 @import 'proposal_detail/urgencia-e-emergencia'; 13 @import 'proposal_detail/urgencia-e-emergencia';
14 @import 'proposal_detail/mais-medicos'; 14 @import 'proposal_detail/mais-medicos';
15 15
  16 +// Prevent text size change on orientation change.
  17 +html { -webkit-text-size-adjust: 100%; }
  18 +
16 html, body { 19 html, body {
17 margin: 0; 20 margin: 0;
18 padding: 0; 21 padding: 0;
@@ -45,15 +48,17 @@ h1 { @@ -45,15 +48,17 @@ h1 {
45 48
46 #content { 49 #content {
47 padding-bottom: 50px; 50 padding-bottom: 50px;
48 - /*background: transparent url(./images/header.png) center bottom no-repeat;*/  
49 p { 51 p {
  52 +
  53 + text-align: justify;
  54 + margin: 20px;
  55 + line-height: 1.5em;
  56 + font-size: 1.2em;
  57 +
50 font{ 58 font{
51 weight: lighter; 59 weight: lighter;
52 size: 14px; 60 size: 14px;
53 } 61 }
54 - text-align: justify;  
55 - margin: 20px;  
56 - line-height: 1.5em;  
57 } 62 }
58 } 63 }
59 64
@@ -131,4 +136,11 @@ form { @@ -131,4 +136,11 @@ form {
131 136
132 .ui-helper-hidden-accessible{ 137 .ui-helper-hidden-accessible{
133 display: none; 138 display: none;
  139 +}
  140 +
  141 +// shame hack for issue #72
  142 +@media (max-width: 992px) {
  143 + .col-md-6 > img {
  144 + margin-bottom: 20px;
  145 + }
134 } 146 }
135 \ No newline at end of file 147 \ No newline at end of file