Mercurial > hg > Members > nobuyasu > TwitterBootstrap
comparison assets/js/application.js @ 3:902636e4a800 draft
move some files
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 19 Sep 2012 22:33:03 +0900 |
parents | js/application.js@cfa3e2e51af7 |
children |
comparison
equal
deleted
inserted
replaced
2:144c93c1c71c | 3:902636e4a800 |
---|---|
1 // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT | |
2 // IT'S ALL JUST JUNK FOR OUR DOCS! | |
3 // ++++++++++++++++++++++++++++++++++++++++++ | |
4 | |
5 !function ($) { | |
6 | |
7 $(function(){ | |
8 | |
9 var $window = $(window) | |
10 | |
11 // Disable certain links in docs | |
12 $('section [href^=#]').click(function (e) { | |
13 e.preventDefault() | |
14 }) | |
15 | |
16 // side bar | |
17 $('.bs-docs-sidenav').affix({ | |
18 offset: { | |
19 top: function () { return $window.width() <= 980 ? 290 : 210 } | |
20 , bottom: 270 | |
21 } | |
22 }) | |
23 | |
24 // make code pretty | |
25 window.prettyPrint && prettyPrint() | |
26 | |
27 // add-ons | |
28 $('.add-on :checkbox').on('click', function () { | |
29 var $this = $(this) | |
30 , method = $this.attr('checked') ? 'addClass' : 'removeClass' | |
31 $(this).parents('.add-on')[method]('active') | |
32 }) | |
33 | |
34 // add tipsies to grid for scaffolding | |
35 if ($('#gridSystem').length) { | |
36 $('#gridSystem').tooltip({ | |
37 selector: '.show-grid > div' | |
38 , title: function () { return $(this).width() + 'px' } | |
39 }) | |
40 } | |
41 | |
42 // tooltip demo | |
43 $('.tooltip-demo').tooltip({ | |
44 selector: "a[rel=tooltip]" | |
45 }) | |
46 | |
47 $('.tooltip-test').tooltip() | |
48 $('.popover-test').popover() | |
49 | |
50 // popover demo | |
51 $("a[rel=popover]") | |
52 .popover() | |
53 .click(function(e) { | |
54 e.preventDefault() | |
55 }) | |
56 | |
57 // button state demo | |
58 $('#fat-btn') | |
59 .click(function () { | |
60 var btn = $(this) | |
61 btn.button('loading') | |
62 setTimeout(function () { | |
63 btn.button('reset') | |
64 }, 3000) | |
65 }) | |
66 | |
67 // carousel demo | |
68 $('#myCarousel').carousel() | |
69 | |
70 // javascript build logic | |
71 var inputsComponent = $("#components.download input") | |
72 , inputsPlugin = $("#plugins.download input") | |
73 , inputsVariables = $("#variables.download input") | |
74 | |
75 // toggle all plugin checkboxes | |
76 $('#components.download .toggle-all').on('click', function (e) { | |
77 e.preventDefault() | |
78 inputsComponent.attr('checked', !inputsComponent.is(':checked')) | |
79 }) | |
80 | |
81 $('#plugins.download .toggle-all').on('click', function (e) { | |
82 e.preventDefault() | |
83 inputsPlugin.attr('checked', !inputsPlugin.is(':checked')) | |
84 }) | |
85 | |
86 $('#variables.download .toggle-all').on('click', function (e) { | |
87 e.preventDefault() | |
88 inputsVariables.val('') | |
89 }) | |
90 | |
91 // request built javascript | |
92 $('.download-btn').on('click', function () { | |
93 | |
94 var css = $("#components.download input:checked") | |
95 .map(function () { return this.value }) | |
96 .toArray() | |
97 , js = $("#plugins.download input:checked") | |
98 .map(function () { return this.value }) | |
99 .toArray() | |
100 , vars = {} | |
101 , img = ['glyphicons-halflings.png', 'glyphicons-halflings-white.png'] | |
102 | |
103 $("#variables.download input") | |
104 .each(function () { | |
105 $(this).val() && (vars[ $(this).prev().text() ] = $(this).val()) | |
106 }) | |
107 | |
108 $.ajax({ | |
109 type: 'POST' | |
110 , url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com' | |
111 , dataType: 'jsonpi' | |
112 , params: { | |
113 js: js | |
114 , css: css | |
115 , vars: vars | |
116 , img: img | |
117 } | |
118 }) | |
119 }) | |
120 }) | |
121 | |
122 // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi | |
123 $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) { | |
124 var url = opts.url; | |
125 | |
126 return { | |
127 send: function(_, completeCallback) { | |
128 var name = 'jQuery_iframe_' + jQuery.now() | |
129 , iframe, form | |
130 | |
131 iframe = $('<iframe>') | |
132 .attr('name', name) | |
133 .appendTo('head') | |
134 | |
135 form = $('<form>') | |
136 .attr('method', opts.type) // GET or POST | |
137 .attr('action', url) | |
138 .attr('target', name) | |
139 | |
140 $.each(opts.params, function(k, v) { | |
141 | |
142 $('<input>') | |
143 .attr('type', 'hidden') | |
144 .attr('name', k) | |
145 .attr('value', typeof v == 'string' ? v : JSON.stringify(v)) | |
146 .appendTo(form) | |
147 }) | |
148 | |
149 form.appendTo('body').submit() | |
150 } | |
151 } | |
152 }) | |
153 | |
154 }(window.jQuery) |