You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by gj...@apache.org on 2012/04/01 11:22:27 UTC
svn commit: r1308053 - in
/incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css
htdocs/scripts/theme.js htdocs/theme.js templates/bloodhound_theme.html
theme.py
Author: gjm
Date: Sun Apr 1 09:22:26 2012
New Revision: 1308053
URL: http://svn.apache.org/viewvc?rev=1308053&view=rev
Log:
Theme code import: Quick create ticket box UI . bootstrap 2.0.1
Added:
incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/scripts/theme.js
- copied, changed from r1308039, incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/theme.js
Removed:
incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/theme.js
Modified:
incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css
incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html
incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py
Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1308053&r1=1308052&r2=1308053&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original)
+++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Sun Apr 1 09:22:26 2012
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v2.0.0
+ * Bootstrap v2.0.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
@@ -33,7 +33,7 @@ html {
-ms-text-size-adjust: 100%;
}
a:focus {
- outline: thin dotted;
+ outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
@@ -94,6 +94,16 @@ textarea {
overflow: auto;
vertical-align: top;
}
+.clearfix {
+ *zoom: 1;
+}
+.clearfix:before, .clearfix:after {
+ display: table;
+ content: "";
+}
+.clearfix:after {
+ clear: both;
+}
body {
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -212,40 +222,40 @@ a:hover {
.row-fluid > [class*="span"]:first-child {
margin-left: 0;
}
-.row-fluid .span1 {
+.row-fluid > .span1 {
width: 6.382978723%;
}
-.row-fluid .span2 {
+.row-fluid > .span2 {
width: 14.89361702%;
}
-.row-fluid .span3 {
+.row-fluid > .span3 {
width: 23.404255317%;
}
-.row-fluid .span4 {
+.row-fluid > .span4 {
width: 31.914893614%;
}
-.row-fluid .span5 {
+.row-fluid > .span5 {
width: 40.425531911%;
}
-.row-fluid .span6 {
+.row-fluid > .span6 {
width: 48.93617020799999%;
}
-.row-fluid .span7 {
+.row-fluid > .span7 {
width: 57.446808505%;
}
-.row-fluid .span8 {
+.row-fluid > .span8 {
width: 65.95744680199999%;
}
-.row-fluid .span9 {
+.row-fluid > .span9 {
width: 74.468085099%;
}
-.row-fluid .span10 {
+.row-fluid > .span10 {
width: 82.97872339599999%;
}
-.row-fluid .span11 {
+.row-fluid > .span11 {
width: 91.489361693%;
}
-.row-fluid .span12 {
+.row-fluid > .span12 {
width: 99.99999998999999%;
}
.container {
@@ -374,7 +384,7 @@ ol {
li {
line-height: 18px;
}
-ul.unstyled {
+ul.unstyled, ol.unstyled {
margin-left: 0;
list-style: none;
}
@@ -393,7 +403,7 @@ dd {
hr {
margin: 18px 0;
border: 0;
- border-top: 1px solid #e5e5e5;
+ border-top: 1px solid #eeeeee;
border-bottom: 1px solid #ffffff;
}
strong {
@@ -488,13 +498,20 @@ pre {
white-space: pre;
white-space: pre-wrap;
word-break: break-all;
+ word-wrap: break-word;
}
pre.prettyprint {
margin-bottom: 18px;
}
pre code {
padding: 0;
+ color: inherit;
background-color: transparent;
+ border: 0;
+}
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
}
form {
margin: 0 0 18px;
@@ -515,16 +532,25 @@ legend {
border: 0;
border-bottom: 1px solid #eee;
}
+legend small {
+ font-size: 13.5px;
+ color: #999999;
+}
label,
input,
button,
select,
textarea {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-weight: normal;
line-height: 18px;
}
+input,
+button,
+select,
+textarea {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
label {
display: block;
margin-bottom: 5px;
@@ -563,11 +589,19 @@ input[type="image"], input[type="checkbo
/* IE7 */
line-height: normal;
- border: 0;
cursor: pointer;
- border-radius: 0 \0/;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+ border: 0 \9;
+ /* IE9 and down */
+
+}
+input[type="image"] {
+ border: 0;
}
input[type="file"] {
+ width: auto;
padding: initial;
line-height: initial;
border: initial;
@@ -590,6 +624,9 @@ select, input[type="file"] {
line-height: 28px;
}
+input[type="file"] {
+ line-height: 18px \9;
+}
select {
width: 220px;
background-color: #ffffff;
@@ -620,15 +657,13 @@ input[type="hidden"] {
}
.radio.inline, .checkbox.inline {
display: inline-block;
+ padding-top: 5px;
margin-bottom: 0;
vertical-align: middle;
}
.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
margin-left: 10px;
}
-.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {
- padding-top: 0;
-}
input, textarea {
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
@@ -646,14 +681,17 @@ input:focus, textarea:focus {
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
outline: 0;
outline: thin dotted \9;
- /* IE6-8 */
+ /* IE6-9 */
}
-input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus,
+select:focus {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
- outline: thin dotted;
+ outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
@@ -815,6 +853,7 @@ input:focus:required:invalid:focus, text
color: #999999;
}
.help-block {
+ display: block;
margin-top: 5px;
margin-bottom: 0;
color: #999999;
@@ -896,6 +935,7 @@ input:focus:required:invalid:focus, text
border-radius: 3px 0 0 3px;
}
.input-append .uneditable-input {
+ border-left-color: #eee;
border-right-color: #ccc;
}
.input-append .add-on {
@@ -937,6 +977,9 @@ input:focus:required:invalid:focus, text
display: inline-block;
margin-bottom: 0;
}
+.form-search .hide, .form-inline .hide, .form-horizontal .hide {
+ display: none;
+}
.form-search label,
.form-inline label,
.form-search .input-append,
@@ -951,10 +994,17 @@ input:focus:required:invalid:focus, text
.form-inline .input-prepend .add-on {
vertical-align: middle;
}
+.form-search .radio,
+.form-inline .radio,
+.form-search .checkbox,
+.form-inline .checkbox {
+ margin-bottom: 0;
+ vertical-align: middle;
+}
.control-group {
margin-bottom: 9px;
}
-.form-horizontal legend + .control-group {
+legend + .control-group {
margin-top: 18px;
-webkit-margin-top-collapse: separate;
}
@@ -969,7 +1019,7 @@ input:focus:required:invalid:focus, text
.form-horizontal .control-group:after {
clear: both;
}
-.form-horizontal .control-group > label {
+.form-horizontal .control-label {
float: left;
width: 140px;
padding-top: 5px;
@@ -994,14 +1044,14 @@ table {
padding: 8px;
line-height: 18px;
text-align: left;
+ vertical-align: top;
border-top: 1px solid #ddd;
}
.table th {
font-weight: bold;
- vertical-align: bottom;
}
-.table td {
- vertical-align: top;
+.table thead th {
+ vertical-align: bottom;
}
.table thead:first-child tr th, .table thead:first-child tr td {
border-top: 0;
@@ -1052,6 +1102,9 @@ table {
.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
background-color: #f9f9f9;
}
+.table tbody tr:hover td, .table tbody tr:hover th {
+ background-color: #f5f5f5;
+}
table .span1 {
float: none;
width: 44px;
@@ -1112,21 +1165,22 @@ table .span12 {
width: 924px;
margin-left: 0;
}
-[class^="icon-"] {
+[class^="icon-"], [class*=" icon-"] {
display: inline-block;
width: 14px;
height: 14px;
+ line-height: 14px;
vertical-align: text-top;
- background-image: url(images/glyphicons-halflings.png);
+ background-image: url("images/glyphicons-halflings.png");
background-position: 14px 14px;
background-repeat: no-repeat;
*margin-right: .3em;
}
-[class^="icon-"]:last-child {
+[class^="icon-"]:last-child, [class*=" icon-"]:last-child {
*margin-left: 0;
}
.icon-white {
- background-image: url(images/glyphicons-halflings-white.png);
+ background-image: url("images/glyphicons-halflings-white.png");
}
.icon-glass {
background-position: 0 0;
@@ -1527,7 +1581,6 @@ table .span12 {
float: left;
display: none;
min-width: 160px;
- max-width: 220px;
_width: 160px;
padding: 4px 0;
margin: 0;
@@ -1656,20 +1709,25 @@ table .span12 {
.btn {
display: inline-block;
padding: 4px 10px 4px;
+ margin-bottom: 0;
font-size: 13px;
line-height: 18px;
color: #333333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
- background-color: #fafafa;
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
- background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
- background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
- background-repeat: no-repeat;
+ vertical-align: middle;
+ background-color: #f5f5f5;
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: linear-gradient(top, #ffffff, #e6e6e6);
+ background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
border: 1px solid #ccc;
border-bottom-color: #bbb;
-webkit-border-radius: 4px;
@@ -1679,8 +1737,19 @@ table .span12 {
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
cursor: pointer;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
*margin-left: .3em;
}
+.btn:hover,
+.btn:active,
+.btn.active,
+.btn.disabled,
+.btn[disabled] {
+ background-color: #e6e6e6;
+}
+.btn:active, .btn.active {
+ background-color: #cccccc \9;
+}
.btn:first-child {
*margin-left: 0;
}
@@ -1696,7 +1765,7 @@ table .span12 {
transition: background-position 0.1s linear;
}
.btn:focus {
- outline: thin dotted;
+ outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
@@ -1707,7 +1776,6 @@ table .span12 {
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
background-color: #e6e6e6;
background-color: #d9d9d9 \9;
- color: rgba(0, 0, 0, 0.5);
outline: 0;
}
.btn.disabled, .btn[disabled] {
@@ -1728,7 +1796,7 @@ table .span12 {
-moz-border-radius: 5px;
border-radius: 5px;
}
-.btn-large .icon {
+.btn-large [class^="icon-"] {
margin-top: 1px;
}
.btn-small {
@@ -1736,9 +1804,14 @@ table .span12 {
font-size: 11px;
line-height: 16px;
}
-.btn-small .icon {
+.btn-small [class^="icon-"] {
margin-top: -1px;
}
+.btn-mini {
+ padding: 2px 6px;
+ font-size: 11px;
+ line-height: 14px;
+}
.btn-primary,
.btn-primary:hover,
.btn-warning,
@@ -1748,7 +1821,9 @@ table .span12 {
.btn-success,
.btn-success:hover,
.btn-info,
-.btn-info:hover {
+.btn-info:hover,
+.btn-inverse,
+.btn-inverse:hover {
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
color: #ffffff;
}
@@ -1756,7 +1831,8 @@ table .span12 {
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
-.btn-info.active {
+.btn-info.active,
+.btn-dark.active {
color: rgba(255, 255, 255, 0.75);
}
.btn-primary {
@@ -1879,6 +1955,30 @@ table .span12 {
.btn-info:active, .btn-info.active {
background-color: #24748c \9;
}
+.btn-inverse {
+ background-color: #393939;
+ background-image: -moz-linear-gradient(top, #454545, #262626);
+ background-image: -ms-linear-gradient(top, #454545, #262626);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626));
+ background-image: -webkit-linear-gradient(top, #454545, #262626);
+ background-image: -o-linear-gradient(top, #454545, #262626);
+ background-image: linear-gradient(top, #454545, #262626);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0);
+ border-color: #262626 #262626 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-inverse:hover,
+.btn-inverse:active,
+.btn-inverse.active,
+.btn-inverse.disabled,
+.btn-inverse[disabled] {
+ background-color: #262626;
+}
+.btn-inverse:active, .btn-inverse.active {
+ background-color: #0c0c0c \9;
+}
button.btn, input[type="submit"].btn {
*padding-top: 2px;
*padding-bottom: 2px;
@@ -2011,7 +2111,8 @@ button.btn.small, input[type="submit"].b
.btn-primary .caret,
.btn-danger .caret,
.btn-info .caret,
-.btn-success .caret {
+.btn-success .caret,
+.btn-inverse .caret {
border-top-color: #ffffff;
opacity: 0.75;
filter: alpha(opacity=75);
@@ -2084,34 +2185,38 @@ button.btn.small, input[type="submit"].b
text-decoration: none;
background-color: #eeeeee;
}
+.nav .nav-header {
+ display: block;
+ padding: 3px 15px;
+ font-size: 11px;
+ font-weight: bold;
+ line-height: 18px;
+ color: #999999;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ text-transform: uppercase;
+}
+.nav li + .nav-header {
+ margin-top: 9px;
+}
.nav-list {
padding-left: 14px;
padding-right: 14px;
margin-bottom: 0;
}
.nav-list > li > a, .nav-list .nav-header {
- display: block;
- padding: 3px 15px;
margin-left: -15px;
margin-right: -15px;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
-.nav-list .nav-header {
- font-size: 11px;
- font-weight: bold;
- line-height: 18px;
- color: #999999;
- text-transform: uppercase;
-}
-.nav-list > li + .nav-header {
- margin-top: 9px;
+.nav-list > li > a {
+ padding: 3px 15px;
}
-.nav-list .active > a {
+.nav-list .active > a, .nav-list .active > a:hover {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
background-color: #0088cc;
}
-.nav-list .icon {
+.nav-list [class^="icon-"] {
margin-right: 2px;
}
.nav-tabs, .nav-pills {
@@ -2254,6 +2359,9 @@ button.btn.small, input[type="submit"].b
.tabbable:after {
clear: both;
}
+.tab-content {
+ overflow: hidden;
+}
.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {
border-bottom: 0;
}
@@ -2449,6 +2557,13 @@ button.btn.small, input[type="submit"].b
.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] {
margin-top: 3px;
}
+.navbar-form .input-append, .navbar-form .input-prepend {
+ margin-top: 6px;
+ white-space: nowrap;
+}
+.navbar-form .input-append input, .navbar-form .input-prepend input {
+ margin-top: 0;
+}
.navbar-search {
position: relative;
float: left;
@@ -2542,7 +2657,6 @@ button.btn.small, input[type="submit"].b
color: #ffffff;
text-decoration: none;
background-color: #222222;
- background-color: rgba(0, 0, 0, 0.5);
}
.navbar .divider-vertical {
height: 40px;
@@ -2808,6 +2922,9 @@ button.btn.small, input[type="submit"].b
.modal-body {
padding: 15px;
}
+.modal-body .modal-form {
+ margin-bottom: 0;
+}
.modal-footer {
padding: 14px 15px 15px;
margin-bottom: 0;
@@ -3043,28 +3160,44 @@ a.thumbnail:hover {
padding: 9px;
}
.label {
- padding: 1px 3px 2px;
- font-size: 9.75px;
+ padding: 2px 4px 3px;
+ font-size: 11.049999999999999px;
font-weight: bold;
color: #ffffff;
- text-transform: uppercase;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #999999;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
+.label:hover {
+ color: #ffffff;
+ text-decoration: none;
+}
.label-important {
background-color: #b94a48;
}
+.label-important:hover {
+ background-color: #953b39;
+}
.label-warning {
background-color: #f89406;
}
+.label-warning:hover {
+ background-color: #c67605;
+}
.label-success {
background-color: #468847;
}
+.label-success:hover {
+ background-color: #356635;
+}
.label-info {
background-color: #3a87ad;
}
+.label-info:hover {
+ background-color: #2d6987;
+}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 0 0;
Copied: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/scripts/theme.js (from r1308039, incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/theme.js)
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/scripts/theme.js?p2=incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/scripts/theme.js&p1=incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/theme.js&r1=1308039&r2=1308053&rev=1308053&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/theme.js (original)
+++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/scripts/theme.js Sun Apr 1 09:22:26 2012
@@ -1,26 +1,8 @@
-var FORWARD = 0.9;
-var BACK = -0.9;
-function move(target, direction) {
- target = jQuery(target);
- var pos = parseInt(target.css('marginLeft'), 10);
- var tw = target.width();
- var pw = target.parent().width();
- var x = 0;
- if (tw >= pw) {
- x = pos + direction * pw;
- if (x > 0)
- x = 0;
- else {
- var last = target.find('.last');
- var ll = last.offset().left;
- var lw = last.width();
- if (ll + lw <= pw && direction < 0)
- x = pos;
- else if (ll < pw && direction < 0)
- x = pos - lw;
- }
- }
- target.animate({marginLeft: x}, 'slow');
-}
+
+$( function () {
+ // Do not close dropdown menu if user clicks on form controls
+ $('.dropdown-menu input, .dropdown-menu label')
+ .click(function (e) { e.stopPropagation(); });
+ })
Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1308053&r1=1308052&r2=1308053&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original)
+++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Sun Apr 1 09:22:26 2012
@@ -7,8 +7,9 @@
py:strip="">
<py:match path="head" once="true"><head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/>
- <title py:with="title = list(select('title/text()'))">
- <py:if test="title">${title} â </py:if>${project.name or 'Apache(TM) Bloodhound'}
+ <title py:with="title = list(select('title/text()'))" py:choose="">
+ <py:when test="title">${title}</py:when>
+ <py:otherwise>${project.name or 'Apache(TM) Bloodhound'}</py:otherwise>
</title>
<py:if test="chrome.links">
<py:for each="rel, links in chrome.links.items()">
@@ -21,9 +22,18 @@
</py:if>
<script py:for="script in chrome.scripts"
type="${script.type}" src="${script.href}"></script>
- <script src="${href.chrome('theme/scripts/jquery-1.7.1.min.js')}"></script>
- <script src="${href.chrome('theme/scripts/bootstrap-dropdown.js')}"></script>
- <script src="${href.chrome('theme/scripts/dashboard.js')}"></script>
+ <script src="${href.chrome('theme/scripts/jquery-1.7.1.min.js')}"
+ type="text/javascript"></script>
+ <script src="${href.chrome('theme/scripts/theme.js')}"
+ type="text/javascript"></script>
+ <script src="${href.chrome('theme/scripts/bootstrap-dropdown.js')}"
+ type="text/javascript"></script>
+ <!-- script src="${href.chrome('theme/scripts/bootstrap-tooltip.js')}"
+ type="text/javascript"></script>
+ <script src="${href.chrome('theme/scripts/bootstrap-popover.js')}"
+ type="text/javascript"></script -->
+ <script src="${href.chrome('theme/scripts/dashboard.js')}"
+ type="text/javascript"></script>
${Markup('<!--[if lt IE 7]>')}
<script type="text/javascript" src="${chrome.htdocs_location}js/ie_pre7_hacks.js"></script>
${Markup('<![endif]-->')}
@@ -62,7 +72,80 @@
<input type="submit" value="Search" class="btn btn-warning"/>
</form>
</div>
- <div class="span4"><a href="#" class="btn">Create Ticket</a></div>
+ <div class="span4">
+ <py:def function="qct_box()">
+ <label for="qct_summary">Summary</label>
+ <input class="input-medium" type="text" id="qct_summary"
+ placeholder="Ticket summary" />
+ <label for="qct_project">Project</label>
+ <input class="input-medium disabled" type="text"
+ placeholder="Target project" disabled="" />
+ <div class="form-horizontal">
+ <label class="control-label" for="qct_version">Version</label>
+ <div class="controls">
+ <input name="qct_version" class="input-mini" type="text"
+ placeholder="Version" />
+ <p class="help-block">Most recent (default)</p>
+ </div>
+ <label class="control-label" for="qct_type">Type</label>
+ <div class="controls">
+ <input name="qct_type" class="input-mini" type="text"
+ placeholder="Type" />
+ <p class="help-block">Select ticket type</p>
+ </div>
+ <label class="control-label" for="qct_component">Component</label>
+ <div class="controls">
+ <input name="qct_component" class="input-mini" type="text"
+ placeholder="Component" />
+ <p class="help-block">Select component</p>
+ </div>
+ </div>
+ <div class="btn-toolbar">
+ <div class="btn-group">
+ <button class="btn btn-primary">
+ Create
+ </button>
+ </div>
+ <div class="btn-group">
+ <button class="btn btn-danger" href="#">
+ Cancel
+ </button>
+ </div>
+ </div>
+ </py:def>
+ <div class="btn-group">
+ <a href="${href.newticket()}" class="btn btn-inverse">
+ Create Ticket
+ </a>
+ <a href="#" class="btn btn-inverse dropdown-toggle"
+ data-toggle="dropdown">
+ <i class="caret"></i>
+ </a>
+ <div id="qct-box" class="dropdown-menu">
+ <style>
+ #qct-box .help-block { white-space: nowrap; }
+ #qct-box .form-horizontal .controls .help-block {
+ margin-left: -20px;
+ }
+ #qct-box .form-horizontal .controls { margin-left: 90px; }
+ #qct-box .form-horizontal .control-label { width : 70px; }
+ </style>
+ <div class="popover-content">
+ ${qct_box()}
+ </div>
+ </div>
+ </div>
+ <!-- div class="btn-group">
+ <a href="${href.newticket()}" class="btn btn-inverse">
+ Create Ticket
+ </a>
+ <a href="#" class="btn btn-inverse popover-target"
+ rel="popover" title="Create Ticket"
+ data-content="Here" data-placement="bottom">
+ <i class="caret"></i>
+ </a>
+ </div -->
+ </div>
<div class="span4">
<ul py:if="chrome.nav.mainnav or chrome.nav.metanav"
class="nav nav-tabs pull-right"
Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1308053&r1=1308052&r2=1308053&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original)
+++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Sun Apr 1 09:22:26 2012
@@ -16,8 +16,10 @@
# specific language governing permissions and limitations
# under the License.
+from genshi.core import Stream
from trac.core import *
-from themeengine.api import ThemeBase
+
+from themeengine.api import IThemeProvider, ThemeBase
class BloodhoundTheme(ThemeBase):
"""Look and feel of Bloodhound issue tracker."""