bootstrap-generators 1.4.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +238 -21
- data/bootstrap-generators.gemspec +3 -3
- data/lib/bootstrap-generators.rb +0 -1
- data/lib/bootstrap/generators/version.rb +1 -1
- data/lib/generators/bootstrap/install/install_generator.rb +5 -12
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/fluid.css +5 -5
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/fluid.css.less +119 -0
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/fluid.css.scss +5 -5
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/hero.css +0 -5
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/hero.css.less +114 -0
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/hero.css.scss +0 -5
- data/lib/generators/bootstrap/install/templates/config/initializers/simple_form.rb +118 -40
- data/lib/generators/bootstrap/install/templates/config/locales/simple_form.en.yml +24 -0
- data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.erb +9 -8
- data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.haml +8 -7
- data/lib/generators/bootstrap/install/templates/form_builders/simple_form/_form.html.erb +5 -7
- data/lib/generators/bootstrap/install/templates/form_builders/simple_form/_form.html.haml +6 -7
- data/lib/generators/bootstrap/install/templates/layouts/fluid.html.erb +50 -47
- data/lib/generators/bootstrap/install/templates/layouts/fluid.html.haml +75 -55
- data/lib/generators/bootstrap/install/templates/layouts/hero.html.erb +11 -14
- data/lib/generators/bootstrap/install/templates/layouts/hero.html.haml +9 -11
- data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/edit.html.erb +8 -2
- data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/index.html.erb +5 -2
- data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/new.html.erb +4 -1
- data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/show.html.erb +8 -2
- data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/edit.html.haml +6 -2
- data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/index.html.haml +4 -2
- data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/new.html.haml +3 -1
- data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/show.html.haml +6 -2
- data/test/lib/generators/bootstrap/install_generator_test.rb +6 -20
- data/test/test_helper.rb +1 -1
- data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/bootstrap-alert.js +91 -0
- data/vendor/assets/javascripts/bootstrap-button.js +98 -0
- data/vendor/assets/javascripts/bootstrap-carousel.js +154 -0
- data/vendor/assets/javascripts/bootstrap-collapse.js +136 -0
- data/vendor/assets/javascripts/bootstrap-dropdown.js +58 -21
- data/vendor/assets/javascripts/bootstrap-modal.js +63 -114
- data/vendor/assets/javascripts/bootstrap-popover.js +38 -33
- data/vendor/assets/javascripts/bootstrap-scrollspy.js +62 -44
- data/vendor/assets/javascripts/bootstrap-tab.js +130 -0
- data/vendor/assets/javascripts/bootstrap-tooltip.js +270 -0
- data/vendor/assets/javascripts/bootstrap-transition.js +51 -0
- data/vendor/assets/javascripts/bootstrap-typeahead.js +271 -0
- data/vendor/assets/javascripts/bootstrap.js +11 -6
- data/vendor/assets/stylesheets/bootstrap.css +2497 -1602
- data/vendor/assets/stylesheets/less/accordion.less +28 -0
- data/vendor/assets/stylesheets/less/alerts.less +70 -0
- data/vendor/assets/stylesheets/less/bootstrap.less +62 -0
- data/vendor/assets/stylesheets/less/breadcrumbs.less +22 -0
- data/vendor/assets/stylesheets/less/button-groups.less +147 -0
- data/vendor/assets/stylesheets/less/buttons.less +165 -0
- data/vendor/assets/stylesheets/less/carousel.less +121 -0
- data/vendor/assets/stylesheets/less/close.less +18 -0
- data/vendor/assets/stylesheets/less/code.less +44 -0
- data/vendor/assets/stylesheets/less/component-animations.less +18 -0
- data/vendor/assets/stylesheets/less/dropdowns.less +131 -0
- data/vendor/assets/stylesheets/less/forms.less +515 -0
- data/vendor/assets/stylesheets/less/grid.less +8 -0
- data/vendor/assets/stylesheets/less/hero-unit.less +20 -0
- data/vendor/assets/stylesheets/less/labels.less +16 -0
- data/vendor/assets/stylesheets/less/layouts.less +17 -0
- data/vendor/assets/stylesheets/less/mixins.less +537 -0
- data/vendor/assets/stylesheets/less/modals.less +72 -0
- data/vendor/assets/stylesheets/less/navbar.less +292 -0
- data/vendor/assets/stylesheets/less/navs.less +344 -0
- data/vendor/assets/stylesheets/less/pager.less +30 -0
- data/vendor/assets/stylesheets/less/pagination.less +55 -0
- data/vendor/assets/stylesheets/less/popovers.less +49 -0
- data/vendor/assets/stylesheets/less/progress-bars.less +95 -0
- data/vendor/assets/stylesheets/less/reset.less +126 -0
- data/vendor/assets/stylesheets/less/responsive.less +323 -0
- data/vendor/assets/stylesheets/less/scaffolding.less +29 -0
- data/vendor/assets/stylesheets/less/sprites.less +156 -0
- data/vendor/assets/stylesheets/less/tables.less +139 -0
- data/vendor/assets/stylesheets/less/thumbnails.less +35 -0
- data/vendor/assets/stylesheets/less/tooltip.less +35 -0
- data/vendor/assets/stylesheets/less/type.less +217 -0
- data/vendor/assets/stylesheets/less/utilities.less +23 -0
- data/vendor/assets/stylesheets/less/variables.less +99 -0
- data/vendor/assets/stylesheets/less/wells.less +17 -0
- metadata +62 -33
- data/lib/bootstrap/helpers/form_builder.rb +0 -26
- data/lib/generators/bootstrap/install/templates/app/inputs/boolean_input.rb +0 -12
- data/lib/generators/bootstrap/install/templates/app/inputs/collection_input.rb +0 -12
- data/lib/generators/bootstrap/install/templates/app/inputs/date_time_input.rb +0 -16
- data/lib/generators/bootstrap/install/templates/app/inputs/file_input.rb +0 -16
- data/lib/generators/bootstrap/install/templates/app/inputs/numeric_input.rb +0 -16
- data/lib/generators/bootstrap/install/templates/app/inputs/password_input.rb +0 -16
- data/lib/generators/bootstrap/install/templates/app/inputs/string_input.rb +0 -16
- data/lib/generators/bootstrap/install/templates/app/inputs/text_input.rb +0 -16
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/container-app.css +0 -53
- data/lib/generators/bootstrap/install/templates/assets/stylesheets/container-app.css.scss +0 -55
- data/lib/generators/bootstrap/install/templates/layouts/container-app.html.erb +0 -58
- data/lib/generators/bootstrap/install/templates/layouts/container-app.html.haml +0 -46
- data/vendor/assets/javascripts/bootstrap-alerts.js +0 -113
- data/vendor/assets/javascripts/bootstrap-buttons.js +0 -62
- data/vendor/assets/javascripts/bootstrap-tabs.js +0 -80
- data/vendor/assets/javascripts/bootstrap-twipsy.js +0 -321
- data/vendor/assets/stylesheets/bootstrap.min.css +0 -356
@@ -1,16 +0,0 @@
|
|
1
|
-
class StringInput < SimpleForm::Inputs::StringInput
|
2
|
-
def label_input
|
3
|
-
content = "".html_safe
|
4
|
-
[ :input, :error, :hint ].each do |component|
|
5
|
-
next if options[component] == false
|
6
|
-
rendered = send(component)
|
7
|
-
content.safe_concat rendered.to_s if rendered
|
8
|
-
end
|
9
|
-
(options[:label] == false ? "" : label) + "<div class=\"input\">#{content}</div>".html_safe
|
10
|
-
end
|
11
|
-
|
12
|
-
def input_html_classes
|
13
|
-
super.unshift("xxlarge")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
class TextInput < SimpleForm::Inputs::TextInput
|
2
|
-
def label_input
|
3
|
-
content = "".html_safe
|
4
|
-
[ :input, :error, :hint ].each do |component|
|
5
|
-
next if options[component] == false
|
6
|
-
rendered = send(component)
|
7
|
-
content.safe_concat rendered.to_s if rendered
|
8
|
-
end
|
9
|
-
(options[:label] == false ? "" : label) + "<div class=\"input\">#{content}</div>".html_safe
|
10
|
-
end
|
11
|
-
|
12
|
-
def input_html_classes
|
13
|
-
super.unshift("xxlarge")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
@@ -1,53 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
*= require bootstrap
|
3
|
-
*/
|
4
|
-
|
5
|
-
.page-header a.btn {
|
6
|
-
float: right;
|
7
|
-
}
|
8
|
-
|
9
|
-
.page-header a.btn + a.btn {
|
10
|
-
margin-right: 8px;
|
11
|
-
}
|
12
|
-
|
13
|
-
.form-stacked div.alert-message {
|
14
|
-
margin-left: -10px;
|
15
|
-
}
|
16
|
-
|
17
|
-
/* Override some defaults */
|
18
|
-
html, body {
|
19
|
-
background-color: #eee;
|
20
|
-
}
|
21
|
-
body {
|
22
|
-
padding-top: 40px; /* 40px to make the container go all the way to the bottom of the topbar */
|
23
|
-
}
|
24
|
-
.container > footer p {
|
25
|
-
text-align: center; /* center align it with the container */
|
26
|
-
}
|
27
|
-
.container {
|
28
|
-
width: 820px; /* downsize our container to make the content feel a bit tighter and more cohesive. NOTE: this removes two full columns from the grid, meaning you only go to 14 columns and not 16. */
|
29
|
-
}
|
30
|
-
|
31
|
-
/* The white background content wrapper */
|
32
|
-
.container > .content {
|
33
|
-
background-color: #fff;
|
34
|
-
padding: 20px;
|
35
|
-
margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */
|
36
|
-
-webkit-border-radius: 0 0 6px 6px;
|
37
|
-
-moz-border-radius: 0 0 6px 6px;
|
38
|
-
border-radius: 0 0 6px 6px;
|
39
|
-
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
40
|
-
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
41
|
-
box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
42
|
-
}
|
43
|
-
|
44
|
-
/* Page header tweaks */
|
45
|
-
.page-header {
|
46
|
-
background-color: #f5f5f5;
|
47
|
-
padding: 20px 20px 10px;
|
48
|
-
margin: -20px -20px 20px;
|
49
|
-
}
|
50
|
-
|
51
|
-
.topbar .btn {
|
52
|
-
border: 0;
|
53
|
-
}
|
@@ -1,55 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
*= require bootstrap
|
3
|
-
*/
|
4
|
-
|
5
|
-
.page-header {
|
6
|
-
a.btn {
|
7
|
-
float: right;
|
8
|
-
}
|
9
|
-
|
10
|
-
a.btn + a.btn {
|
11
|
-
margin-right: 8px;
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
|
-
.form-stacked div.alert-message {
|
16
|
-
margin-left: -10px;
|
17
|
-
}
|
18
|
-
|
19
|
-
/* Override some defaults */
|
20
|
-
html, body {
|
21
|
-
background-color: #eee;
|
22
|
-
}
|
23
|
-
body {
|
24
|
-
padding-top: 40px; /* 40px to make the container go all the way to the bottom of the topbar */
|
25
|
-
}
|
26
|
-
.container > footer p {
|
27
|
-
text-align: center; /* center align it with the container */
|
28
|
-
}
|
29
|
-
.container {
|
30
|
-
width: 820px; /* downsize our container to make the content feel a bit tighter and more cohesive. NOTE: this removes two full columns from the grid, meaning you only go to 14 columns and not 16. */
|
31
|
-
}
|
32
|
-
|
33
|
-
/* The white background content wrapper */
|
34
|
-
.container > .content {
|
35
|
-
background-color: #fff;
|
36
|
-
padding: 20px;
|
37
|
-
margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */
|
38
|
-
-webkit-border-radius: 0 0 6px 6px;
|
39
|
-
-moz-border-radius: 0 0 6px 6px;
|
40
|
-
border-radius: 0 0 6px 6px;
|
41
|
-
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
42
|
-
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
43
|
-
box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
44
|
-
}
|
45
|
-
|
46
|
-
/* Page header tweaks */
|
47
|
-
.page-header {
|
48
|
-
background-color: #f5f5f5;
|
49
|
-
padding: 20px 20px 10px;
|
50
|
-
margin: -20px -20px 20px;
|
51
|
-
}
|
52
|
-
|
53
|
-
.topbar .btn {
|
54
|
-
border: 0;
|
55
|
-
}
|
@@ -1,58 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<title>Bootstrap, from Twitter</title>
|
6
|
-
<meta name="description" content="">
|
7
|
-
<meta name="author" content="">
|
8
|
-
|
9
|
-
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
10
|
-
<!--[if lt IE 9]>
|
11
|
-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
12
|
-
<![endif]-->
|
13
|
-
|
14
|
-
<%%= stylesheet_link_tag "application" %>
|
15
|
-
<%%= javascript_include_tag "application" %>
|
16
|
-
<%%= csrf_meta_tags %>
|
17
|
-
</head>
|
18
|
-
<body>
|
19
|
-
<div class="topbar">
|
20
|
-
<div class="fill">
|
21
|
-
<div class="container">
|
22
|
-
<%%= link_to "Project name", "#", :class => "brand" %>
|
23
|
-
<ul class="nav">
|
24
|
-
<li class="active"><a href="#">Home</a></li>
|
25
|
-
<li><a href="#about">About</a></li>
|
26
|
-
<li><a href="#contact">Contact</a></li>
|
27
|
-
</ul>
|
28
|
-
<form action="" class="pull-right">
|
29
|
-
<input class="input-small" type="text" placeholder="Username">
|
30
|
-
<input class="input-small" type="password" placeholder="Password">
|
31
|
-
<button class="btn" type="submit">Sign in</button>
|
32
|
-
</form>
|
33
|
-
</div>
|
34
|
-
</div>
|
35
|
-
</div>
|
36
|
-
<div class="container">
|
37
|
-
<div class="content">
|
38
|
-
<div class="page-header">
|
39
|
-
<h1>Page name <small>Supporting text or tagline</small></h1>
|
40
|
-
</div>
|
41
|
-
<div class="row">
|
42
|
-
<div class="span14">
|
43
|
-
<%% flash.each do |name, msg| %>
|
44
|
-
<%%= content_tag :div, :class => "alert-message #{name == :error ? "error" : "success" }", :"data-alert" => "alert" do %>
|
45
|
-
<a class="close" href="#">×</a>
|
46
|
-
<p><%%= msg %></p>
|
47
|
-
<%% end %>
|
48
|
-
<%% end %>
|
49
|
-
<%%= yield %>
|
50
|
-
</div>
|
51
|
-
</div>
|
52
|
-
</div>
|
53
|
-
<footer>
|
54
|
-
<p>© Company 2011</p>
|
55
|
-
</footer>
|
56
|
-
</div>
|
57
|
-
</body>
|
58
|
-
</html>
|
@@ -1,46 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%html
|
3
|
-
%head
|
4
|
-
%meta{:charset => "utf-8"}
|
5
|
-
%title Bootstrap, from Twitter
|
6
|
-
%meta{:content => "", :name => "description"}
|
7
|
-
%meta{:content => "", :name => "author"}
|
8
|
-
|
9
|
-
/ Le HTML5 shim, for IE6-8 support of HTML elements
|
10
|
-
/[if lt IE 9]
|
11
|
-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
12
|
-
= stylesheet_link_tag "application"
|
13
|
-
= javascript_include_tag "application"
|
14
|
-
= csrf_meta_tags
|
15
|
-
%body
|
16
|
-
.topbar
|
17
|
-
.fill
|
18
|
-
.container
|
19
|
-
= link_to "Project name", "#", :class => "brand"
|
20
|
-
%ul.nav
|
21
|
-
%li.active
|
22
|
-
%a{:href => "#"} Home
|
23
|
-
%li
|
24
|
-
%a{:href => "#about"} About
|
25
|
-
%li
|
26
|
-
%a{:href => "#contact"} Contact
|
27
|
-
%form.pull-right{:action => ""}
|
28
|
-
%input.input-small{:placeholder => "Username", :type => "text"}
|
29
|
-
%input.input-small{:placeholder => "Password", :type => "password"}
|
30
|
-
%button.btn{:type => "submit"} Sign in
|
31
|
-
.container
|
32
|
-
.content
|
33
|
-
.page-header
|
34
|
-
%h1
|
35
|
-
Page name
|
36
|
-
%small Supporting text or tagline
|
37
|
-
.row
|
38
|
-
.span14
|
39
|
-
- flash.each do |name, msg|
|
40
|
-
= content_tag :div, :class => "alert-message #{name == :error ? "error" : "success" }", :"data-alert" => "alert" do
|
41
|
-
%a.close{:href => "#"} ×
|
42
|
-
%p= msg
|
43
|
-
= yield
|
44
|
-
%footer
|
45
|
-
%p © Company 2011 (haml)
|
46
|
-
|
@@ -1,113 +0,0 @@
|
|
1
|
-
/* ==========================================================
|
2
|
-
* bootstrap-alerts.js v1.4.0
|
3
|
-
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
4
|
-
* ==========================================================
|
5
|
-
* Copyright 2011 Twitter, Inc.
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
18
|
-
* ========================================================== */
|
19
|
-
|
20
|
-
|
21
|
-
!function( $ ){
|
22
|
-
|
23
|
-
"use strict"
|
24
|
-
|
25
|
-
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
|
26
|
-
* ======================================================= */
|
27
|
-
|
28
|
-
var transitionEnd
|
29
|
-
|
30
|
-
$(document).ready(function () {
|
31
|
-
|
32
|
-
$.support.transition = (function () {
|
33
|
-
var thisBody = document.body || document.documentElement
|
34
|
-
, thisStyle = thisBody.style
|
35
|
-
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
|
36
|
-
return support
|
37
|
-
})()
|
38
|
-
|
39
|
-
// set CSS transition event type
|
40
|
-
if ( $.support.transition ) {
|
41
|
-
transitionEnd = "TransitionEnd"
|
42
|
-
if ( $.browser.webkit ) {
|
43
|
-
transitionEnd = "webkitTransitionEnd"
|
44
|
-
} else if ( $.browser.mozilla ) {
|
45
|
-
transitionEnd = "transitionend"
|
46
|
-
} else if ( $.browser.opera ) {
|
47
|
-
transitionEnd = "oTransitionEnd"
|
48
|
-
}
|
49
|
-
}
|
50
|
-
|
51
|
-
})
|
52
|
-
|
53
|
-
/* ALERT CLASS DEFINITION
|
54
|
-
* ====================== */
|
55
|
-
|
56
|
-
var Alert = function ( content, options ) {
|
57
|
-
this.settings = $.extend({}, $.fn.alert.defaults, options)
|
58
|
-
this.$element = $(content)
|
59
|
-
.delegate(this.settings.selector, 'click', this.close)
|
60
|
-
}
|
61
|
-
|
62
|
-
Alert.prototype = {
|
63
|
-
|
64
|
-
close: function (e) {
|
65
|
-
var $element = $(this).parent('.alert-message')
|
66
|
-
|
67
|
-
e && e.preventDefault()
|
68
|
-
$element.removeClass('in')
|
69
|
-
|
70
|
-
function removeElement () {
|
71
|
-
$element.remove()
|
72
|
-
}
|
73
|
-
|
74
|
-
$.support.transition && $element.hasClass('fade') ?
|
75
|
-
$element.bind(transitionEnd, removeElement) :
|
76
|
-
removeElement()
|
77
|
-
}
|
78
|
-
|
79
|
-
}
|
80
|
-
|
81
|
-
|
82
|
-
/* ALERT PLUGIN DEFINITION
|
83
|
-
* ======================= */
|
84
|
-
|
85
|
-
$.fn.alert = function ( options ) {
|
86
|
-
|
87
|
-
if ( options === true ) {
|
88
|
-
return this.data('alert')
|
89
|
-
}
|
90
|
-
|
91
|
-
return this.each(function () {
|
92
|
-
var $this = $(this)
|
93
|
-
|
94
|
-
if ( typeof options == 'string' ) {
|
95
|
-
return $this.data('alert')[options]()
|
96
|
-
}
|
97
|
-
|
98
|
-
$(this).data('alert', new Alert( this, options ))
|
99
|
-
|
100
|
-
})
|
101
|
-
}
|
102
|
-
|
103
|
-
$.fn.alert.defaults = {
|
104
|
-
selector: '.close'
|
105
|
-
}
|
106
|
-
|
107
|
-
$(document).ready(function () {
|
108
|
-
new Alert($('body'), {
|
109
|
-
selector: '.alert-message[data-alert] .close'
|
110
|
-
})
|
111
|
-
})
|
112
|
-
|
113
|
-
}( window.jQuery || window.ender );
|
@@ -1,62 +0,0 @@
|
|
1
|
-
/* ============================================================
|
2
|
-
* bootstrap-buttons.js v1.4.0
|
3
|
-
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
4
|
-
* ============================================================
|
5
|
-
* Copyright 2011 Twitter, Inc.
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
18
|
-
* ============================================================ */
|
19
|
-
|
20
|
-
!function( $ ){
|
21
|
-
|
22
|
-
"use strict"
|
23
|
-
|
24
|
-
function setState(el, state) {
|
25
|
-
var d = 'disabled'
|
26
|
-
, $el = $(el)
|
27
|
-
, data = $el.data()
|
28
|
-
|
29
|
-
state = state + 'Text'
|
30
|
-
data.resetText || $el.data('resetText', $el.html())
|
31
|
-
|
32
|
-
$el.html( data[state] || $.fn.button.defaults[state] )
|
33
|
-
|
34
|
-
state == 'loadingText' ?
|
35
|
-
$el.addClass(d).attr(d, d) :
|
36
|
-
$el.removeClass(d).removeAttr(d)
|
37
|
-
}
|
38
|
-
|
39
|
-
function toggle(el) {
|
40
|
-
$(el).toggleClass('active')
|
41
|
-
}
|
42
|
-
|
43
|
-
$.fn.button = function(options) {
|
44
|
-
return this.each(function () {
|
45
|
-
if (options == 'toggle') {
|
46
|
-
return toggle(this)
|
47
|
-
}
|
48
|
-
options && setState(this, options)
|
49
|
-
})
|
50
|
-
}
|
51
|
-
|
52
|
-
$.fn.button.defaults = {
|
53
|
-
loadingText: 'loading...'
|
54
|
-
}
|
55
|
-
|
56
|
-
$(function () {
|
57
|
-
$('body').delegate('.btn[data-toggle]', 'click', function () {
|
58
|
-
$(this).button('toggle')
|
59
|
-
})
|
60
|
-
})
|
61
|
-
|
62
|
-
}( window.jQuery || window.ender );
|
@@ -1,80 +0,0 @@
|
|
1
|
-
/* ========================================================
|
2
|
-
* bootstrap-tabs.js v1.4.0
|
3
|
-
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
4
|
-
* ========================================================
|
5
|
-
* Copyright 2011 Twitter, Inc.
|
6
|
-
*
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
* you may not use this file except in compliance with the License.
|
9
|
-
* You may obtain a copy of the License at
|
10
|
-
*
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
*
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
* See the License for the specific language governing permissions and
|
17
|
-
* limitations under the License.
|
18
|
-
* ======================================================== */
|
19
|
-
|
20
|
-
|
21
|
-
!function( $ ){
|
22
|
-
|
23
|
-
"use strict"
|
24
|
-
|
25
|
-
function activate ( element, container ) {
|
26
|
-
container
|
27
|
-
.find('> .active')
|
28
|
-
.removeClass('active')
|
29
|
-
.find('> .dropdown-menu > .active')
|
30
|
-
.removeClass('active')
|
31
|
-
|
32
|
-
element.addClass('active')
|
33
|
-
|
34
|
-
if ( element.parent('.dropdown-menu') ) {
|
35
|
-
element.closest('li.dropdown').addClass('active')
|
36
|
-
}
|
37
|
-
}
|
38
|
-
|
39
|
-
function tab( e ) {
|
40
|
-
var $this = $(this)
|
41
|
-
, $ul = $this.closest('ul:not(.dropdown-menu)')
|
42
|
-
, href = $this.attr('href')
|
43
|
-
, previous
|
44
|
-
, $href
|
45
|
-
|
46
|
-
if ( /^#\w+/.test(href) ) {
|
47
|
-
e.preventDefault()
|
48
|
-
|
49
|
-
if ( $this.parent('li').hasClass('active') ) {
|
50
|
-
return
|
51
|
-
}
|
52
|
-
|
53
|
-
previous = $ul.find('.active a').last()[0]
|
54
|
-
$href = $(href)
|
55
|
-
|
56
|
-
activate($this.parent('li'), $ul)
|
57
|
-
activate($href, $href.parent())
|
58
|
-
|
59
|
-
$this.trigger({
|
60
|
-
type: 'change'
|
61
|
-
, relatedTarget: previous
|
62
|
-
})
|
63
|
-
}
|
64
|
-
}
|
65
|
-
|
66
|
-
|
67
|
-
/* TABS/PILLS PLUGIN DEFINITION
|
68
|
-
* ============================ */
|
69
|
-
|
70
|
-
$.fn.tabs = $.fn.pills = function ( selector ) {
|
71
|
-
return this.each(function () {
|
72
|
-
$(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
|
73
|
-
})
|
74
|
-
}
|
75
|
-
|
76
|
-
$(document).ready(function () {
|
77
|
-
$('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
|
78
|
-
})
|
79
|
-
|
80
|
-
}( window.jQuery || window.ender );
|