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 03:39:03 UTC
svn commit: r1307988 - in /incubator/bloodhound/trunk/bloodhound_dashboard:
./ bhdashboard/ bhdashboard/layouts/ bhdashboard/layouts/htdocs/
bhdashboard/layouts/templates/
Author: gjm
Date: Sun Apr 1 01:39:03 2012
New Revision: 1307988
URL: http://svn.apache.org/viewvc?rev=1307988&view=rev
Log:
Dashboard code import: BH_Dashboard: Radio behavior for buttons in toolbar (layout)
Added:
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js (with props)
Modified:
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/bootstrap.py
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/bs_btnbar.html
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py
incubator/bloodhound/trunk/bloodhound_dashboard/setup.py
Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/bootstrap.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/bootstrap.py?rev=1307988&r1=1307987&r2=1307988&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/bootstrap.py (original)
+++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/bootstrap.py Sun Apr 1 01:39:03 2012
@@ -25,7 +25,7 @@ Widgets displaying ticket data.
"""
from trac.core import Component, implements, TracError
-from trac.web.chrome import add_stylesheet
+from trac.web.chrome import add_stylesheet, add_script
from bhdashboard.api import ILayoutProvider
@@ -57,7 +57,7 @@ class BootstrapLayout(Component):
add_stylesheet(req, 'dashboard/bootstrap.css')
if name == 'bootstrap_btnbar':
- self._process_btnbar(options)
+ self._process_btnbar(req, options)
results = {
('bootstrap_grid', False) : {
@@ -76,9 +76,10 @@ class BootstrapLayout(Component):
return results[( name , bool(options.get('embed')) )]
# Internal methods
- def _process_btnbar(self, options):
+ def _process_btnbar(self, req, options):
"""Determine toolbar groups
"""
+ add_script(req, 'layouts/bootstrap-button.js')
layout_data = options['schema']
orig_tb = layout_data.get('toolbar', [])
ready = layout_data.get('ready')
Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js?rev=1307988&view=auto
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js (added)
+++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js Sun Apr 1 01:39:03 2012
@@ -0,0 +1,100 @@
+/* ============================================================
+ * bootstrap-button.js v2.0.1
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+ * ============================== */
+
+ var Button = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.button.defaults, options)
+ }
+
+ Button.prototype = {
+
+ constructor: Button
+
+ , setState: function ( state ) {
+ var d = 'disabled'
+ , $el = this.$element
+ , data = $el.data()
+ , val = $el.is('input') ? 'val' : 'html'
+
+ state = state + 'Text'
+ data.resetText || $el.data('resetText', $el[val]())
+
+ $el[val](data[state] || this.options[state])
+
+ // push to event loop to allow forms to submit
+ setTimeout(function () {
+ state == 'loadingText' ?
+ $el.addClass(d).attr(d, d) :
+ $el.removeClass(d).removeAttr(d)
+ }, 0)
+ }
+
+ , toggle: function () {
+ var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
+
+ $parent && $parent
+ .find('.active')
+ .removeClass('active')
+
+ this.$element.toggleClass('active')
+ }
+
+ }
+
+
+ /* BUTTON PLUGIN DEFINITION
+ * ======================== */
+
+ $.fn.button = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('button')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('button', (data = new Button(this, options)))
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ $.fn.button.defaults = {
+ loadingText: 'loading...'
+ }
+
+ $.fn.button.Constructor = Button
+
+
+ /* BUTTON DATA-API
+ * =============== */
+
+ $(function () {
+ $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
+ var $btn = $(e.target)
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+ $btn.button('toggle')
+ })
+ })
+
+}( window.jQuery );
Propchange: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/htdocs/bootstrap-button.js
------------------------------------------------------------------------------
svn:mime-type = text/javascript
Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/bs_btnbar.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/bs_btnbar.html?rev=1307988&r1=1307987&r2=1307988&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/bs_btnbar.html (original)
+++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/bs_btnbar.html Sun Apr 1 01:39:03 2012
@@ -6,12 +6,14 @@
<xi:include href="widget_macros.html" />
- <div class="btn-toolbar">
- <div data-toggle="buttons-radio" class="btn-group offset1"
+ <div class="btn-toolbar" data-toggle="buttons-radio">
+ <div class="btn-group offset1"
py:for="g in layout.toolbar" >
- <a href="#" class="btn" py:for="tb_item in g">
+ <button href="#" disabled="${tb_item.widget is None and 'true' or None}"
+ class="btn ${tb_item.widget is None and 'disabled' or None}"
+ py:for="tb_item in g">
${tb_item.caption}
- </a>
+ </button>
</div>
</div>
</html>
Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py?rev=1307988&r1=1307987&r2=1307988&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py (original)
+++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py Sun Apr 1 01:39:03 2012
@@ -96,6 +96,7 @@ class DashboardModule(Component):
return [
('dashboard', resource_filename('bhdashboard', 'htdocs')),
#('widgets', resource_filename('bhdashboard.widgets', 'htdocs'))
+ ('layouts', resource_filename('bhdashboard.layouts', 'htdocs'))
]
def get_templates_dirs(self):
Modified: incubator/bloodhound/trunk/bloodhound_dashboard/setup.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1307988&r1=1307987&r2=1307988&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_dashboard/setup.py (original)
+++ incubator/bloodhound/trunk/bloodhound_dashboard/setup.py Sun Apr 1 01:39:03 2012
@@ -88,7 +88,8 @@ DIST_NM = 'BloodhoundDashboardPlugin'
PKG_INFO = {'bhdashboard' : ('bhdashboard', # Package dir
# Package data
['../CHANGES', '../TODO', '../COPYRIGHT',
- '../NOTICE', '../README', '../TESTING_README'],
+ '../NOTICE', '../README', '../TESTING_README',
+ 'htdocs/*'],
),
'bhdashboard.widgets' : ('bhdashboard/widgets', # Package dir
# Package data