root / snf-cyclades-app / synnefo / helpdesk / static / js / bootstrap.js @ 605d23bf
History | View | Annotate | Download (49.5 kB)
1 | c3564ce9 | Kostas Papadimitriou | /* ===================================================
|
---|---|---|---|
2 | c3564ce9 | Kostas Papadimitriou | * bootstrap-transition.js v2.0.3
|
3 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#transitions
|
4 | c3564ce9 | Kostas Papadimitriou | * ===================================================
|
5 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
6 | c3564ce9 | Kostas Papadimitriou | *
|
7 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
8 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
9 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
10 | c3564ce9 | Kostas Papadimitriou | *
|
11 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
12 | c3564ce9 | Kostas Papadimitriou | *
|
13 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
14 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
15 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
17 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
18 | c3564ce9 | Kostas Papadimitriou | * ========================================================== */
|
19 | c3564ce9 | Kostas Papadimitriou | |
20 | c3564ce9 | Kostas Papadimitriou | |
21 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
22 | c3564ce9 | Kostas Papadimitriou | |
23 | c3564ce9 | Kostas Papadimitriou | $(function () { |
24 | c3564ce9 | Kostas Papadimitriou | |
25 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
26 | c3564ce9 | Kostas Papadimitriou | |
27 | c3564ce9 | Kostas Papadimitriou | |
28 | c3564ce9 | Kostas Papadimitriou | /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
29 | c3564ce9 | Kostas Papadimitriou | * ======================================================= */
|
30 | c3564ce9 | Kostas Papadimitriou | |
31 | c3564ce9 | Kostas Papadimitriou | $.support.transition = (function () { |
32 | c3564ce9 | Kostas Papadimitriou | |
33 | c3564ce9 | Kostas Papadimitriou | var transitionEnd = (function () { |
34 | c3564ce9 | Kostas Papadimitriou | |
35 | c3564ce9 | Kostas Papadimitriou | var el = document.createElement('bootstrap') |
36 | c3564ce9 | Kostas Papadimitriou | , transEndEventNames = { |
37 | c3564ce9 | Kostas Papadimitriou | 'WebkitTransition' : 'webkitTransitionEnd' |
38 | c3564ce9 | Kostas Papadimitriou | , 'MozTransition' : 'transitionend' |
39 | c3564ce9 | Kostas Papadimitriou | , 'OTransition' : 'oTransitionEnd' |
40 | c3564ce9 | Kostas Papadimitriou | , 'msTransition' : 'MSTransitionEnd' |
41 | c3564ce9 | Kostas Papadimitriou | , 'transition' : 'transitionend' |
42 | c3564ce9 | Kostas Papadimitriou | } |
43 | c3564ce9 | Kostas Papadimitriou | , name |
44 | c3564ce9 | Kostas Papadimitriou | |
45 | c3564ce9 | Kostas Papadimitriou | for (name in transEndEventNames){ |
46 | c3564ce9 | Kostas Papadimitriou | if (el.style[name] !== undefined) { |
47 | c3564ce9 | Kostas Papadimitriou | return transEndEventNames[name]
|
48 | c3564ce9 | Kostas Papadimitriou | } |
49 | c3564ce9 | Kostas Papadimitriou | } |
50 | c3564ce9 | Kostas Papadimitriou | |
51 | c3564ce9 | Kostas Papadimitriou | }()) |
52 | c3564ce9 | Kostas Papadimitriou | |
53 | c3564ce9 | Kostas Papadimitriou | return transitionEnd && {
|
54 | c3564ce9 | Kostas Papadimitriou | end: transitionEnd
|
55 | c3564ce9 | Kostas Papadimitriou | } |
56 | c3564ce9 | Kostas Papadimitriou | |
57 | c3564ce9 | Kostas Papadimitriou | })() |
58 | c3564ce9 | Kostas Papadimitriou | |
59 | c3564ce9 | Kostas Papadimitriou | }) |
60 | c3564ce9 | Kostas Papadimitriou | |
61 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ==========================================================
|
62 | c3564ce9 | Kostas Papadimitriou | * bootstrap-alert.js v2.0.3
|
63 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#alerts
|
64 | c3564ce9 | Kostas Papadimitriou | * ==========================================================
|
65 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
66 | c3564ce9 | Kostas Papadimitriou | *
|
67 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
68 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
69 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
70 | c3564ce9 | Kostas Papadimitriou | *
|
71 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
72 | c3564ce9 | Kostas Papadimitriou | *
|
73 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
74 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
75 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
76 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
77 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
78 | c3564ce9 | Kostas Papadimitriou | * ========================================================== */
|
79 | c3564ce9 | Kostas Papadimitriou | |
80 | c3564ce9 | Kostas Papadimitriou | |
81 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
82 | c3564ce9 | Kostas Papadimitriou | |
83 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
84 | c3564ce9 | Kostas Papadimitriou | |
85 | c3564ce9 | Kostas Papadimitriou | |
86 | c3564ce9 | Kostas Papadimitriou | /* ALERT CLASS DEFINITION
|
87 | c3564ce9 | Kostas Papadimitriou | * ====================== */
|
88 | c3564ce9 | Kostas Papadimitriou | |
89 | c3564ce9 | Kostas Papadimitriou | var dismiss = '[data-dismiss="alert"]' |
90 | c3564ce9 | Kostas Papadimitriou | , Alert = function (el) { |
91 | c3564ce9 | Kostas Papadimitriou | $(el).on('click', dismiss, this.close) |
92 | c3564ce9 | Kostas Papadimitriou | } |
93 | c3564ce9 | Kostas Papadimitriou | |
94 | c3564ce9 | Kostas Papadimitriou | Alert.prototype.close = function (e) { |
95 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
96 | c3564ce9 | Kostas Papadimitriou | , selector = $this.attr('data-target') |
97 | c3564ce9 | Kostas Papadimitriou | , $parent
|
98 | c3564ce9 | Kostas Papadimitriou | |
99 | c3564ce9 | Kostas Papadimitriou | if (!selector) {
|
100 | c3564ce9 | Kostas Papadimitriou | selector = $this.attr('href') |
101 | c3564ce9 | Kostas Papadimitriou | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 |
102 | c3564ce9 | Kostas Papadimitriou | } |
103 | c3564ce9 | Kostas Papadimitriou | |
104 | c3564ce9 | Kostas Papadimitriou | $parent = $(selector) |
105 | c3564ce9 | Kostas Papadimitriou | |
106 | c3564ce9 | Kostas Papadimitriou | e && e.preventDefault() |
107 | c3564ce9 | Kostas Papadimitriou | |
108 | c3564ce9 | Kostas Papadimitriou | $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) |
109 | c3564ce9 | Kostas Papadimitriou | |
110 | c3564ce9 | Kostas Papadimitriou | $parent.trigger(e = $.Event('close')) |
111 | c3564ce9 | Kostas Papadimitriou | |
112 | c3564ce9 | Kostas Papadimitriou | if (e.isDefaultPrevented()) return |
113 | c3564ce9 | Kostas Papadimitriou | |
114 | c3564ce9 | Kostas Papadimitriou | $parent.removeClass('in') |
115 | c3564ce9 | Kostas Papadimitriou | |
116 | c3564ce9 | Kostas Papadimitriou | function removeElement() { |
117 | c3564ce9 | Kostas Papadimitriou | $parent
|
118 | c3564ce9 | Kostas Papadimitriou | .trigger('closed')
|
119 | c3564ce9 | Kostas Papadimitriou | .remove() |
120 | c3564ce9 | Kostas Papadimitriou | } |
121 | c3564ce9 | Kostas Papadimitriou | |
122 | c3564ce9 | Kostas Papadimitriou | $.support.transition && $parent.hasClass('fade') ? |
123 | c3564ce9 | Kostas Papadimitriou | $parent.on($.support.transition.end, removeElement) : |
124 | c3564ce9 | Kostas Papadimitriou | removeElement() |
125 | c3564ce9 | Kostas Papadimitriou | } |
126 | c3564ce9 | Kostas Papadimitriou | |
127 | c3564ce9 | Kostas Papadimitriou | |
128 | c3564ce9 | Kostas Papadimitriou | /* ALERT PLUGIN DEFINITION
|
129 | c3564ce9 | Kostas Papadimitriou | * ======================= */
|
130 | c3564ce9 | Kostas Papadimitriou | |
131 | c3564ce9 | Kostas Papadimitriou | $.fn.alert = function (option) { |
132 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
133 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
134 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('alert') |
135 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('alert', (data = new Alert(this))) |
136 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option].call($this) |
137 | c3564ce9 | Kostas Papadimitriou | }) |
138 | c3564ce9 | Kostas Papadimitriou | } |
139 | c3564ce9 | Kostas Papadimitriou | |
140 | c3564ce9 | Kostas Papadimitriou | $.fn.alert.Constructor = Alert
|
141 | c3564ce9 | Kostas Papadimitriou | |
142 | c3564ce9 | Kostas Papadimitriou | |
143 | c3564ce9 | Kostas Papadimitriou | /* ALERT DATA-API
|
144 | c3564ce9 | Kostas Papadimitriou | * ============== */
|
145 | c3564ce9 | Kostas Papadimitriou | |
146 | c3564ce9 | Kostas Papadimitriou | $(function () { |
147 | c3564ce9 | Kostas Papadimitriou | $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) |
148 | c3564ce9 | Kostas Papadimitriou | }) |
149 | c3564ce9 | Kostas Papadimitriou | |
150 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ============================================================
|
151 | c3564ce9 | Kostas Papadimitriou | * bootstrap-button.js v2.0.3
|
152 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#buttons
|
153 | c3564ce9 | Kostas Papadimitriou | * ============================================================
|
154 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
155 | c3564ce9 | Kostas Papadimitriou | *
|
156 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
157 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
158 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
159 | c3564ce9 | Kostas Papadimitriou | *
|
160 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
161 | c3564ce9 | Kostas Papadimitriou | *
|
162 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
163 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
164 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
165 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
166 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
167 | c3564ce9 | Kostas Papadimitriou | * ============================================================ */
|
168 | c3564ce9 | Kostas Papadimitriou | |
169 | c3564ce9 | Kostas Papadimitriou | |
170 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
171 | c3564ce9 | Kostas Papadimitriou | |
172 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
173 | c3564ce9 | Kostas Papadimitriou | |
174 | c3564ce9 | Kostas Papadimitriou | |
175 | c3564ce9 | Kostas Papadimitriou | /* BUTTON PUBLIC CLASS DEFINITION
|
176 | c3564ce9 | Kostas Papadimitriou | * ============================== */
|
177 | c3564ce9 | Kostas Papadimitriou | |
178 | c3564ce9 | Kostas Papadimitriou | var Button = function (element, options) { |
179 | c3564ce9 | Kostas Papadimitriou | this.$element = $(element) |
180 | c3564ce9 | Kostas Papadimitriou | this.options = $.extend({}, $.fn.button.defaults, options) |
181 | c3564ce9 | Kostas Papadimitriou | } |
182 | c3564ce9 | Kostas Papadimitriou | |
183 | c3564ce9 | Kostas Papadimitriou | Button.prototype.setState = function (state) { |
184 | c3564ce9 | Kostas Papadimitriou | var d = 'disabled' |
185 | c3564ce9 | Kostas Papadimitriou | , $el = this.$element |
186 | c3564ce9 | Kostas Papadimitriou | , data = $el.data()
|
187 | c3564ce9 | Kostas Papadimitriou | , val = $el.is('input') ? 'val' : 'html' |
188 | c3564ce9 | Kostas Papadimitriou | |
189 | c3564ce9 | Kostas Papadimitriou | state = state + 'Text'
|
190 | c3564ce9 | Kostas Papadimitriou | data.resetText || $el.data('resetText', $el[val]()) |
191 | c3564ce9 | Kostas Papadimitriou | |
192 | c3564ce9 | Kostas Papadimitriou | $el[val](data[state] || this.options[state]) |
193 | c3564ce9 | Kostas Papadimitriou | |
194 | c3564ce9 | Kostas Papadimitriou | // push to event loop to allow forms to submit
|
195 | c3564ce9 | Kostas Papadimitriou | setTimeout(function () {
|
196 | c3564ce9 | Kostas Papadimitriou | state == 'loadingText' ?
|
197 | c3564ce9 | Kostas Papadimitriou | $el.addClass(d).attr(d, d) :
|
198 | c3564ce9 | Kostas Papadimitriou | $el.removeClass(d).removeAttr(d)
|
199 | c3564ce9 | Kostas Papadimitriou | }, 0)
|
200 | c3564ce9 | Kostas Papadimitriou | } |
201 | c3564ce9 | Kostas Papadimitriou | |
202 | c3564ce9 | Kostas Papadimitriou | Button.prototype.toggle = function () { |
203 | c3564ce9 | Kostas Papadimitriou | var $parent = this.$element.parent('[data-toggle="buttons-radio"]') |
204 | c3564ce9 | Kostas Papadimitriou | |
205 | c3564ce9 | Kostas Papadimitriou | $parent && $parent |
206 | c3564ce9 | Kostas Papadimitriou | .find('.active')
|
207 | c3564ce9 | Kostas Papadimitriou | .removeClass('active')
|
208 | c3564ce9 | Kostas Papadimitriou | |
209 | c3564ce9 | Kostas Papadimitriou | this.$element.toggleClass('active') |
210 | c3564ce9 | Kostas Papadimitriou | } |
211 | c3564ce9 | Kostas Papadimitriou | |
212 | c3564ce9 | Kostas Papadimitriou | |
213 | c3564ce9 | Kostas Papadimitriou | /* BUTTON PLUGIN DEFINITION
|
214 | c3564ce9 | Kostas Papadimitriou | * ======================== */
|
215 | c3564ce9 | Kostas Papadimitriou | |
216 | c3564ce9 | Kostas Papadimitriou | $.fn.button = function (option) { |
217 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
218 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
219 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('button') |
220 | c3564ce9 | Kostas Papadimitriou | , options = typeof option == 'object' && option |
221 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('button', (data = new Button(this, options))) |
222 | c3564ce9 | Kostas Papadimitriou | if (option == 'toggle') data.toggle() |
223 | c3564ce9 | Kostas Papadimitriou | else if (option) data.setState(option) |
224 | c3564ce9 | Kostas Papadimitriou | }) |
225 | c3564ce9 | Kostas Papadimitriou | } |
226 | c3564ce9 | Kostas Papadimitriou | |
227 | c3564ce9 | Kostas Papadimitriou | $.fn.button.defaults = {
|
228 | c3564ce9 | Kostas Papadimitriou | loadingText: 'loading...' |
229 | c3564ce9 | Kostas Papadimitriou | } |
230 | c3564ce9 | Kostas Papadimitriou | |
231 | c3564ce9 | Kostas Papadimitriou | $.fn.button.Constructor = Button
|
232 | c3564ce9 | Kostas Papadimitriou | |
233 | c3564ce9 | Kostas Papadimitriou | |
234 | c3564ce9 | Kostas Papadimitriou | /* BUTTON DATA-API
|
235 | c3564ce9 | Kostas Papadimitriou | * =============== */
|
236 | c3564ce9 | Kostas Papadimitriou | |
237 | c3564ce9 | Kostas Papadimitriou | $(function () { |
238 | c3564ce9 | Kostas Papadimitriou | $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { |
239 | c3564ce9 | Kostas Papadimitriou | var $btn = $(e.target) |
240 | c3564ce9 | Kostas Papadimitriou | if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') |
241 | c3564ce9 | Kostas Papadimitriou | $btn.button('toggle') |
242 | c3564ce9 | Kostas Papadimitriou | }) |
243 | c3564ce9 | Kostas Papadimitriou | }) |
244 | c3564ce9 | Kostas Papadimitriou | |
245 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ==========================================================
|
246 | c3564ce9 | Kostas Papadimitriou | * bootstrap-carousel.js v2.0.3
|
247 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#carousel
|
248 | c3564ce9 | Kostas Papadimitriou | * ==========================================================
|
249 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
250 | c3564ce9 | Kostas Papadimitriou | *
|
251 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
252 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
253 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
254 | c3564ce9 | Kostas Papadimitriou | *
|
255 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
256 | c3564ce9 | Kostas Papadimitriou | *
|
257 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
258 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
259 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
260 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
261 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
262 | c3564ce9 | Kostas Papadimitriou | * ========================================================== */
|
263 | c3564ce9 | Kostas Papadimitriou | |
264 | c3564ce9 | Kostas Papadimitriou | |
265 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
266 | c3564ce9 | Kostas Papadimitriou | |
267 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
268 | c3564ce9 | Kostas Papadimitriou | |
269 | c3564ce9 | Kostas Papadimitriou | |
270 | c3564ce9 | Kostas Papadimitriou | /* CAROUSEL CLASS DEFINITION
|
271 | c3564ce9 | Kostas Papadimitriou | * ========================= */
|
272 | c3564ce9 | Kostas Papadimitriou | |
273 | c3564ce9 | Kostas Papadimitriou | var Carousel = function (element, options) { |
274 | c3564ce9 | Kostas Papadimitriou | this.$element = $(element) |
275 | c3564ce9 | Kostas Papadimitriou | this.options = options
|
276 | c3564ce9 | Kostas Papadimitriou | this.options.slide && this.slide(this.options.slide) |
277 | c3564ce9 | Kostas Papadimitriou | this.options.pause == 'hover' && this.$element |
278 | c3564ce9 | Kostas Papadimitriou | .on('mouseenter', $.proxy(this.pause, this)) |
279 | c3564ce9 | Kostas Papadimitriou | .on('mouseleave', $.proxy(this.cycle, this)) |
280 | c3564ce9 | Kostas Papadimitriou | } |
281 | c3564ce9 | Kostas Papadimitriou | |
282 | c3564ce9 | Kostas Papadimitriou | Carousel.prototype = { |
283 | c3564ce9 | Kostas Papadimitriou | |
284 | c3564ce9 | Kostas Papadimitriou | cycle: function (e) { |
285 | c3564ce9 | Kostas Papadimitriou | if (!e) this.paused = false |
286 | c3564ce9 | Kostas Papadimitriou | this.options.interval
|
287 | c3564ce9 | Kostas Papadimitriou | && !this.paused
|
288 | c3564ce9 | Kostas Papadimitriou | && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) |
289 | c3564ce9 | Kostas Papadimitriou | return this |
290 | c3564ce9 | Kostas Papadimitriou | } |
291 | c3564ce9 | Kostas Papadimitriou | |
292 | c3564ce9 | Kostas Papadimitriou | , to: function (pos) { |
293 | c3564ce9 | Kostas Papadimitriou | var $active = this.$element.find('.active') |
294 | c3564ce9 | Kostas Papadimitriou | , children = $active.parent().children()
|
295 | c3564ce9 | Kostas Papadimitriou | , activePos = children.index($active)
|
296 | c3564ce9 | Kostas Papadimitriou | , that = this
|
297 | c3564ce9 | Kostas Papadimitriou | |
298 | c3564ce9 | Kostas Papadimitriou | if (pos > (children.length - 1) || pos < 0) return |
299 | c3564ce9 | Kostas Papadimitriou | |
300 | c3564ce9 | Kostas Papadimitriou | if (this.sliding) { |
301 | c3564ce9 | Kostas Papadimitriou | return this.$element.one('slid', function () { |
302 | c3564ce9 | Kostas Papadimitriou | that.to(pos) |
303 | c3564ce9 | Kostas Papadimitriou | }) |
304 | c3564ce9 | Kostas Papadimitriou | } |
305 | c3564ce9 | Kostas Papadimitriou | |
306 | c3564ce9 | Kostas Papadimitriou | if (activePos == pos) {
|
307 | c3564ce9 | Kostas Papadimitriou | return this.pause().cycle() |
308 | c3564ce9 | Kostas Papadimitriou | } |
309 | c3564ce9 | Kostas Papadimitriou | |
310 | c3564ce9 | Kostas Papadimitriou | return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) |
311 | c3564ce9 | Kostas Papadimitriou | } |
312 | c3564ce9 | Kostas Papadimitriou | |
313 | c3564ce9 | Kostas Papadimitriou | , pause: function (e) { |
314 | c3564ce9 | Kostas Papadimitriou | if (!e) this.paused = true |
315 | c3564ce9 | Kostas Papadimitriou | clearInterval(this.interval)
|
316 | c3564ce9 | Kostas Papadimitriou | this.interval = null |
317 | c3564ce9 | Kostas Papadimitriou | return this |
318 | c3564ce9 | Kostas Papadimitriou | } |
319 | c3564ce9 | Kostas Papadimitriou | |
320 | c3564ce9 | Kostas Papadimitriou | , next: function () { |
321 | c3564ce9 | Kostas Papadimitriou | if (this.sliding) return |
322 | c3564ce9 | Kostas Papadimitriou | return this.slide('next') |
323 | c3564ce9 | Kostas Papadimitriou | } |
324 | c3564ce9 | Kostas Papadimitriou | |
325 | c3564ce9 | Kostas Papadimitriou | , prev: function () { |
326 | c3564ce9 | Kostas Papadimitriou | if (this.sliding) return |
327 | c3564ce9 | Kostas Papadimitriou | return this.slide('prev') |
328 | c3564ce9 | Kostas Papadimitriou | } |
329 | c3564ce9 | Kostas Papadimitriou | |
330 | c3564ce9 | Kostas Papadimitriou | , slide: function (type, next) { |
331 | c3564ce9 | Kostas Papadimitriou | var $active = this.$element.find('.active') |
332 | c3564ce9 | Kostas Papadimitriou | , $next = next || $active[type]() |
333 | c3564ce9 | Kostas Papadimitriou | , isCycling = this.interval
|
334 | c3564ce9 | Kostas Papadimitriou | , direction = type == 'next' ? 'left' : 'right' |
335 | c3564ce9 | Kostas Papadimitriou | , fallback = type == 'next' ? 'first' : 'last' |
336 | c3564ce9 | Kostas Papadimitriou | , that = this
|
337 | c3564ce9 | Kostas Papadimitriou | , e = $.Event('slide') |
338 | c3564ce9 | Kostas Papadimitriou | |
339 | c3564ce9 | Kostas Papadimitriou | this.sliding = true |
340 | c3564ce9 | Kostas Papadimitriou | |
341 | c3564ce9 | Kostas Papadimitriou | isCycling && this.pause()
|
342 | c3564ce9 | Kostas Papadimitriou | |
343 | c3564ce9 | Kostas Papadimitriou | $next = $next.length ? $next : this.$element.find('.item')[fallback]() |
344 | c3564ce9 | Kostas Papadimitriou | |
345 | c3564ce9 | Kostas Papadimitriou | if ($next.hasClass('active')) return |
346 | c3564ce9 | Kostas Papadimitriou | |
347 | c3564ce9 | Kostas Papadimitriou | if ($.support.transition && this.$element.hasClass('slide')) { |
348 | c3564ce9 | Kostas Papadimitriou | this.$element.trigger(e) |
349 | c3564ce9 | Kostas Papadimitriou | if (e.isDefaultPrevented()) return |
350 | c3564ce9 | Kostas Papadimitriou | $next.addClass(type)
|
351 | c3564ce9 | Kostas Papadimitriou | $next[0].offsetWidth // force reflow |
352 | c3564ce9 | Kostas Papadimitriou | $active.addClass(direction)
|
353 | c3564ce9 | Kostas Papadimitriou | $next.addClass(direction)
|
354 | c3564ce9 | Kostas Papadimitriou | this.$element.one($.support.transition.end, function () { |
355 | c3564ce9 | Kostas Papadimitriou | $next.removeClass([type, direction].join(' ')).addClass('active') |
356 | c3564ce9 | Kostas Papadimitriou | $active.removeClass(['active', direction].join(' ')) |
357 | c3564ce9 | Kostas Papadimitriou | that.sliding = false
|
358 | c3564ce9 | Kostas Papadimitriou | setTimeout(function () { that.$element.trigger('slid') }, 0) |
359 | c3564ce9 | Kostas Papadimitriou | }) |
360 | c3564ce9 | Kostas Papadimitriou | } else {
|
361 | c3564ce9 | Kostas Papadimitriou | this.$element.trigger(e) |
362 | c3564ce9 | Kostas Papadimitriou | if (e.isDefaultPrevented()) return |
363 | c3564ce9 | Kostas Papadimitriou | $active.removeClass('active') |
364 | c3564ce9 | Kostas Papadimitriou | $next.addClass('active') |
365 | c3564ce9 | Kostas Papadimitriou | this.sliding = false |
366 | c3564ce9 | Kostas Papadimitriou | this.$element.trigger('slid') |
367 | c3564ce9 | Kostas Papadimitriou | } |
368 | c3564ce9 | Kostas Papadimitriou | |
369 | c3564ce9 | Kostas Papadimitriou | isCycling && this.cycle()
|
370 | c3564ce9 | Kostas Papadimitriou | |
371 | c3564ce9 | Kostas Papadimitriou | return this |
372 | c3564ce9 | Kostas Papadimitriou | } |
373 | c3564ce9 | Kostas Papadimitriou | |
374 | c3564ce9 | Kostas Papadimitriou | } |
375 | c3564ce9 | Kostas Papadimitriou | |
376 | c3564ce9 | Kostas Papadimitriou | |
377 | c3564ce9 | Kostas Papadimitriou | /* CAROUSEL PLUGIN DEFINITION
|
378 | c3564ce9 | Kostas Papadimitriou | * ========================== */
|
379 | c3564ce9 | Kostas Papadimitriou | |
380 | c3564ce9 | Kostas Papadimitriou | $.fn.carousel = function (option) { |
381 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
382 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
383 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('carousel') |
384 | c3564ce9 | Kostas Papadimitriou | , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) |
385 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('carousel', (data = new Carousel(this, options))) |
386 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'number') data.to(option) |
387 | c3564ce9 | Kostas Papadimitriou | else if (typeof option == 'string' || (option = options.slide)) data[option]() |
388 | c3564ce9 | Kostas Papadimitriou | else if (options.interval) data.cycle() |
389 | c3564ce9 | Kostas Papadimitriou | }) |
390 | c3564ce9 | Kostas Papadimitriou | } |
391 | c3564ce9 | Kostas Papadimitriou | |
392 | c3564ce9 | Kostas Papadimitriou | $.fn.carousel.defaults = {
|
393 | c3564ce9 | Kostas Papadimitriou | interval: 5000 |
394 | c3564ce9 | Kostas Papadimitriou | , pause: 'hover' |
395 | c3564ce9 | Kostas Papadimitriou | } |
396 | c3564ce9 | Kostas Papadimitriou | |
397 | c3564ce9 | Kostas Papadimitriou | $.fn.carousel.Constructor = Carousel
|
398 | c3564ce9 | Kostas Papadimitriou | |
399 | c3564ce9 | Kostas Papadimitriou | |
400 | c3564ce9 | Kostas Papadimitriou | /* CAROUSEL DATA-API
|
401 | c3564ce9 | Kostas Papadimitriou | * ================= */
|
402 | c3564ce9 | Kostas Papadimitriou | |
403 | c3564ce9 | Kostas Papadimitriou | $(function () { |
404 | c3564ce9 | Kostas Papadimitriou | $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { |
405 | c3564ce9 | Kostas Papadimitriou | var $this = $(this), href |
406 | c3564ce9 | Kostas Papadimitriou | , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 |
407 | c3564ce9 | Kostas Papadimitriou | , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) |
408 | c3564ce9 | Kostas Papadimitriou | $target.carousel(options)
|
409 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
410 | c3564ce9 | Kostas Papadimitriou | }) |
411 | c3564ce9 | Kostas Papadimitriou | }) |
412 | c3564ce9 | Kostas Papadimitriou | |
413 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* =============================================================
|
414 | c3564ce9 | Kostas Papadimitriou | * bootstrap-collapse.js v2.0.3
|
415 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#collapse
|
416 | c3564ce9 | Kostas Papadimitriou | * =============================================================
|
417 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
418 | c3564ce9 | Kostas Papadimitriou | *
|
419 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
420 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
421 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
422 | c3564ce9 | Kostas Papadimitriou | *
|
423 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
424 | c3564ce9 | Kostas Papadimitriou | *
|
425 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
426 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
427 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
428 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
429 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
430 | c3564ce9 | Kostas Papadimitriou | * ============================================================ */
|
431 | c3564ce9 | Kostas Papadimitriou | |
432 | c3564ce9 | Kostas Papadimitriou | |
433 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
434 | c3564ce9 | Kostas Papadimitriou | |
435 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
436 | c3564ce9 | Kostas Papadimitriou | |
437 | c3564ce9 | Kostas Papadimitriou | |
438 | c3564ce9 | Kostas Papadimitriou | /* COLLAPSE PUBLIC CLASS DEFINITION
|
439 | c3564ce9 | Kostas Papadimitriou | * ================================ */
|
440 | c3564ce9 | Kostas Papadimitriou | |
441 | c3564ce9 | Kostas Papadimitriou | var Collapse = function (element, options) { |
442 | c3564ce9 | Kostas Papadimitriou | this.$element = $(element) |
443 | c3564ce9 | Kostas Papadimitriou | this.options = $.extend({}, $.fn.collapse.defaults, options) |
444 | c3564ce9 | Kostas Papadimitriou | |
445 | c3564ce9 | Kostas Papadimitriou | if (this.options.parent) { |
446 | c3564ce9 | Kostas Papadimitriou | this.$parent = $(this.options.parent) |
447 | c3564ce9 | Kostas Papadimitriou | } |
448 | c3564ce9 | Kostas Papadimitriou | |
449 | c3564ce9 | Kostas Papadimitriou | this.options.toggle && this.toggle() |
450 | c3564ce9 | Kostas Papadimitriou | } |
451 | c3564ce9 | Kostas Papadimitriou | |
452 | c3564ce9 | Kostas Papadimitriou | Collapse.prototype = { |
453 | c3564ce9 | Kostas Papadimitriou | |
454 | c3564ce9 | Kostas Papadimitriou | constructor: Collapse
|
455 | c3564ce9 | Kostas Papadimitriou | |
456 | c3564ce9 | Kostas Papadimitriou | , dimension: function () { |
457 | c3564ce9 | Kostas Papadimitriou | var hasWidth = this.$element.hasClass('width') |
458 | c3564ce9 | Kostas Papadimitriou | return hasWidth ? 'width' : 'height' |
459 | c3564ce9 | Kostas Papadimitriou | } |
460 | c3564ce9 | Kostas Papadimitriou | |
461 | c3564ce9 | Kostas Papadimitriou | , show: function () { |
462 | c3564ce9 | Kostas Papadimitriou | var dimension
|
463 | c3564ce9 | Kostas Papadimitriou | , scroll |
464 | c3564ce9 | Kostas Papadimitriou | , actives |
465 | c3564ce9 | Kostas Papadimitriou | , hasData |
466 | c3564ce9 | Kostas Papadimitriou | |
467 | c3564ce9 | Kostas Papadimitriou | if (this.transitioning) return |
468 | c3564ce9 | Kostas Papadimitriou | |
469 | c3564ce9 | Kostas Papadimitriou | dimension = this.dimension()
|
470 | c3564ce9 | Kostas Papadimitriou | scroll = $.camelCase(['scroll', dimension].join('-')) |
471 | c3564ce9 | Kostas Papadimitriou | actives = this.$parent && this.$parent.find('> .accordion-group > .in') |
472 | c3564ce9 | Kostas Papadimitriou | |
473 | c3564ce9 | Kostas Papadimitriou | if (actives && actives.length) {
|
474 | c3564ce9 | Kostas Papadimitriou | hasData = actives.data('collapse')
|
475 | c3564ce9 | Kostas Papadimitriou | if (hasData && hasData.transitioning) return |
476 | c3564ce9 | Kostas Papadimitriou | actives.collapse('hide')
|
477 | c3564ce9 | Kostas Papadimitriou | hasData || actives.data('collapse', null) |
478 | c3564ce9 | Kostas Papadimitriou | } |
479 | c3564ce9 | Kostas Papadimitriou | |
480 | c3564ce9 | Kostas Papadimitriou | this.$element[dimension](0) |
481 | c3564ce9 | Kostas Papadimitriou | this.transition('addClass', $.Event('show'), 'shown') |
482 | c3564ce9 | Kostas Papadimitriou | this.$element[dimension](this.$element[0][scroll]) |
483 | c3564ce9 | Kostas Papadimitriou | } |
484 | c3564ce9 | Kostas Papadimitriou | |
485 | c3564ce9 | Kostas Papadimitriou | , hide: function () { |
486 | c3564ce9 | Kostas Papadimitriou | var dimension
|
487 | c3564ce9 | Kostas Papadimitriou | if (this.transitioning) return |
488 | c3564ce9 | Kostas Papadimitriou | dimension = this.dimension()
|
489 | c3564ce9 | Kostas Papadimitriou | this.reset(this.$element[dimension]()) |
490 | c3564ce9 | Kostas Papadimitriou | this.transition('removeClass', $.Event('hide'), 'hidden') |
491 | c3564ce9 | Kostas Papadimitriou | this.$element[dimension](0) |
492 | c3564ce9 | Kostas Papadimitriou | } |
493 | c3564ce9 | Kostas Papadimitriou | |
494 | c3564ce9 | Kostas Papadimitriou | , reset: function (size) { |
495 | c3564ce9 | Kostas Papadimitriou | var dimension = this.dimension() |
496 | c3564ce9 | Kostas Papadimitriou | |
497 | c3564ce9 | Kostas Papadimitriou | this.$element |
498 | c3564ce9 | Kostas Papadimitriou | .removeClass('collapse')
|
499 | c3564ce9 | Kostas Papadimitriou | [dimension](size || 'auto')
|
500 | c3564ce9 | Kostas Papadimitriou | [0].offsetWidth
|
501 | c3564ce9 | Kostas Papadimitriou | |
502 | c3564ce9 | Kostas Papadimitriou | this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') |
503 | c3564ce9 | Kostas Papadimitriou | |
504 | c3564ce9 | Kostas Papadimitriou | return this |
505 | c3564ce9 | Kostas Papadimitriou | } |
506 | c3564ce9 | Kostas Papadimitriou | |
507 | c3564ce9 | Kostas Papadimitriou | , transition: function (method, startEvent, completeEvent) { |
508 | c3564ce9 | Kostas Papadimitriou | var that = this |
509 | c3564ce9 | Kostas Papadimitriou | , complete = function () { |
510 | c3564ce9 | Kostas Papadimitriou | if (startEvent.type == 'show') that.reset() |
511 | c3564ce9 | Kostas Papadimitriou | that.transitioning = 0
|
512 | c3564ce9 | Kostas Papadimitriou | that.$element.trigger(completeEvent)
|
513 | c3564ce9 | Kostas Papadimitriou | } |
514 | c3564ce9 | Kostas Papadimitriou | |
515 | c3564ce9 | Kostas Papadimitriou | this.$element.trigger(startEvent) |
516 | c3564ce9 | Kostas Papadimitriou | |
517 | c3564ce9 | Kostas Papadimitriou | if (startEvent.isDefaultPrevented()) return |
518 | c3564ce9 | Kostas Papadimitriou | |
519 | c3564ce9 | Kostas Papadimitriou | this.transitioning = 1 |
520 | c3564ce9 | Kostas Papadimitriou | |
521 | c3564ce9 | Kostas Papadimitriou | this.$element[method]('in') |
522 | c3564ce9 | Kostas Papadimitriou | |
523 | c3564ce9 | Kostas Papadimitriou | $.support.transition && this.$element.hasClass('collapse') ? |
524 | c3564ce9 | Kostas Papadimitriou | this.$element.one($.support.transition.end, complete) : |
525 | c3564ce9 | Kostas Papadimitriou | complete() |
526 | c3564ce9 | Kostas Papadimitriou | } |
527 | c3564ce9 | Kostas Papadimitriou | |
528 | c3564ce9 | Kostas Papadimitriou | , toggle: function () { |
529 | c3564ce9 | Kostas Papadimitriou | this[this.$element.hasClass('in') ? 'hide' : 'show']() |
530 | c3564ce9 | Kostas Papadimitriou | } |
531 | c3564ce9 | Kostas Papadimitriou | |
532 | c3564ce9 | Kostas Papadimitriou | } |
533 | c3564ce9 | Kostas Papadimitriou | |
534 | c3564ce9 | Kostas Papadimitriou | |
535 | c3564ce9 | Kostas Papadimitriou | /* COLLAPSIBLE PLUGIN DEFINITION
|
536 | c3564ce9 | Kostas Papadimitriou | * ============================== */
|
537 | c3564ce9 | Kostas Papadimitriou | |
538 | c3564ce9 | Kostas Papadimitriou | $.fn.collapse = function (option) { |
539 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
540 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
541 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('collapse') |
542 | c3564ce9 | Kostas Papadimitriou | , options = typeof option == 'object' && option |
543 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('collapse', (data = new Collapse(this, options))) |
544 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
545 | c3564ce9 | Kostas Papadimitriou | }) |
546 | c3564ce9 | Kostas Papadimitriou | } |
547 | c3564ce9 | Kostas Papadimitriou | |
548 | c3564ce9 | Kostas Papadimitriou | $.fn.collapse.defaults = {
|
549 | c3564ce9 | Kostas Papadimitriou | toggle: true |
550 | c3564ce9 | Kostas Papadimitriou | } |
551 | c3564ce9 | Kostas Papadimitriou | |
552 | c3564ce9 | Kostas Papadimitriou | $.fn.collapse.Constructor = Collapse
|
553 | c3564ce9 | Kostas Papadimitriou | |
554 | c3564ce9 | Kostas Papadimitriou | |
555 | c3564ce9 | Kostas Papadimitriou | /* COLLAPSIBLE DATA-API
|
556 | c3564ce9 | Kostas Papadimitriou | * ==================== */
|
557 | c3564ce9 | Kostas Papadimitriou | |
558 | c3564ce9 | Kostas Papadimitriou | $(function () { |
559 | c3564ce9 | Kostas Papadimitriou | $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) { |
560 | c3564ce9 | Kostas Papadimitriou | var $this = $(this), href |
561 | c3564ce9 | Kostas Papadimitriou | , target = $this.attr('data-target') |
562 | c3564ce9 | Kostas Papadimitriou | || e.preventDefault() |
563 | c3564ce9 | Kostas Papadimitriou | || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 |
564 | c3564ce9 | Kostas Papadimitriou | , option = $(target).data('collapse') ? 'toggle' : $this.data() |
565 | c3564ce9 | Kostas Papadimitriou | $(target).collapse(option)
|
566 | c3564ce9 | Kostas Papadimitriou | }) |
567 | c3564ce9 | Kostas Papadimitriou | }) |
568 | c3564ce9 | Kostas Papadimitriou | |
569 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ============================================================
|
570 | c3564ce9 | Kostas Papadimitriou | * bootstrap-dropdown.js v2.0.3
|
571 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
572 | c3564ce9 | Kostas Papadimitriou | * ============================================================
|
573 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
574 | c3564ce9 | Kostas Papadimitriou | *
|
575 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
576 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
577 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
578 | c3564ce9 | Kostas Papadimitriou | *
|
579 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
580 | c3564ce9 | Kostas Papadimitriou | *
|
581 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
582 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
583 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
584 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
585 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
586 | c3564ce9 | Kostas Papadimitriou | * ============================================================ */
|
587 | c3564ce9 | Kostas Papadimitriou | |
588 | c3564ce9 | Kostas Papadimitriou | |
589 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
590 | c3564ce9 | Kostas Papadimitriou | |
591 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
592 | c3564ce9 | Kostas Papadimitriou | |
593 | c3564ce9 | Kostas Papadimitriou | |
594 | c3564ce9 | Kostas Papadimitriou | /* DROPDOWN CLASS DEFINITION
|
595 | c3564ce9 | Kostas Papadimitriou | * ========================= */
|
596 | c3564ce9 | Kostas Papadimitriou | |
597 | c3564ce9 | Kostas Papadimitriou | var toggle = '[data-toggle="dropdown"]' |
598 | c3564ce9 | Kostas Papadimitriou | , Dropdown = function (element) { |
599 | c3564ce9 | Kostas Papadimitriou | var $el = $(element).on('click.dropdown.data-api', this.toggle) |
600 | c3564ce9 | Kostas Papadimitriou | $('html').on('click.dropdown.data-api', function () { |
601 | c3564ce9 | Kostas Papadimitriou | $el.parent().removeClass('open') |
602 | c3564ce9 | Kostas Papadimitriou | }) |
603 | c3564ce9 | Kostas Papadimitriou | } |
604 | c3564ce9 | Kostas Papadimitriou | |
605 | c3564ce9 | Kostas Papadimitriou | Dropdown.prototype = { |
606 | c3564ce9 | Kostas Papadimitriou | |
607 | c3564ce9 | Kostas Papadimitriou | constructor: Dropdown
|
608 | c3564ce9 | Kostas Papadimitriou | |
609 | c3564ce9 | Kostas Papadimitriou | , toggle: function (e) { |
610 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
611 | c3564ce9 | Kostas Papadimitriou | , $parent
|
612 | c3564ce9 | Kostas Papadimitriou | , selector |
613 | c3564ce9 | Kostas Papadimitriou | , isActive |
614 | c3564ce9 | Kostas Papadimitriou | |
615 | c3564ce9 | Kostas Papadimitriou | if ($this.is('.disabled, :disabled')) return |
616 | c3564ce9 | Kostas Papadimitriou | |
617 | c3564ce9 | Kostas Papadimitriou | selector = $this.attr('data-target') |
618 | c3564ce9 | Kostas Papadimitriou | |
619 | c3564ce9 | Kostas Papadimitriou | if (!selector) {
|
620 | c3564ce9 | Kostas Papadimitriou | selector = $this.attr('href') |
621 | c3564ce9 | Kostas Papadimitriou | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 |
622 | c3564ce9 | Kostas Papadimitriou | } |
623 | c3564ce9 | Kostas Papadimitriou | |
624 | c3564ce9 | Kostas Papadimitriou | $parent = $(selector) |
625 | c3564ce9 | Kostas Papadimitriou | $parent.length || ($parent = $this.parent()) |
626 | c3564ce9 | Kostas Papadimitriou | |
627 | c3564ce9 | Kostas Papadimitriou | isActive = $parent.hasClass('open') |
628 | c3564ce9 | Kostas Papadimitriou | |
629 | c3564ce9 | Kostas Papadimitriou | clearMenus() |
630 | c3564ce9 | Kostas Papadimitriou | |
631 | c3564ce9 | Kostas Papadimitriou | if (!isActive) $parent.toggleClass('open') |
632 | c3564ce9 | Kostas Papadimitriou | |
633 | c3564ce9 | Kostas Papadimitriou | return false |
634 | c3564ce9 | Kostas Papadimitriou | } |
635 | c3564ce9 | Kostas Papadimitriou | |
636 | c3564ce9 | Kostas Papadimitriou | } |
637 | c3564ce9 | Kostas Papadimitriou | |
638 | c3564ce9 | Kostas Papadimitriou | function clearMenus() { |
639 | c3564ce9 | Kostas Papadimitriou | $(toggle).parent().removeClass('open') |
640 | c3564ce9 | Kostas Papadimitriou | } |
641 | c3564ce9 | Kostas Papadimitriou | |
642 | c3564ce9 | Kostas Papadimitriou | |
643 | c3564ce9 | Kostas Papadimitriou | /* DROPDOWN PLUGIN DEFINITION
|
644 | c3564ce9 | Kostas Papadimitriou | * ========================== */
|
645 | c3564ce9 | Kostas Papadimitriou | |
646 | c3564ce9 | Kostas Papadimitriou | $.fn.dropdown = function (option) { |
647 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
648 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
649 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('dropdown') |
650 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('dropdown', (data = new Dropdown(this))) |
651 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option].call($this) |
652 | c3564ce9 | Kostas Papadimitriou | }) |
653 | c3564ce9 | Kostas Papadimitriou | } |
654 | c3564ce9 | Kostas Papadimitriou | |
655 | c3564ce9 | Kostas Papadimitriou | $.fn.dropdown.Constructor = Dropdown
|
656 | c3564ce9 | Kostas Papadimitriou | |
657 | c3564ce9 | Kostas Papadimitriou | |
658 | c3564ce9 | Kostas Papadimitriou | /* APPLY TO STANDARD DROPDOWN ELEMENTS
|
659 | c3564ce9 | Kostas Papadimitriou | * =================================== */
|
660 | c3564ce9 | Kostas Papadimitriou | |
661 | c3564ce9 | Kostas Papadimitriou | $(function () { |
662 | c3564ce9 | Kostas Papadimitriou | $('html').on('click.dropdown.data-api', clearMenus) |
663 | c3564ce9 | Kostas Papadimitriou | $('body') |
664 | c3564ce9 | Kostas Papadimitriou | .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() }) |
665 | c3564ce9 | Kostas Papadimitriou | .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
666 | c3564ce9 | Kostas Papadimitriou | }) |
667 | c3564ce9 | Kostas Papadimitriou | |
668 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* =========================================================
|
669 | c3564ce9 | Kostas Papadimitriou | * bootstrap-modal.js v2.0.3
|
670 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#modals
|
671 | c3564ce9 | Kostas Papadimitriou | * =========================================================
|
672 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
673 | c3564ce9 | Kostas Papadimitriou | *
|
674 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
675 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
676 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
677 | c3564ce9 | Kostas Papadimitriou | *
|
678 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
679 | c3564ce9 | Kostas Papadimitriou | *
|
680 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
681 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
682 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
683 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
684 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
685 | c3564ce9 | Kostas Papadimitriou | * ========================================================= */
|
686 | c3564ce9 | Kostas Papadimitriou | |
687 | c3564ce9 | Kostas Papadimitriou | |
688 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
689 | c3564ce9 | Kostas Papadimitriou | |
690 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
691 | c3564ce9 | Kostas Papadimitriou | |
692 | c3564ce9 | Kostas Papadimitriou | |
693 | c3564ce9 | Kostas Papadimitriou | /* MODAL CLASS DEFINITION
|
694 | c3564ce9 | Kostas Papadimitriou | * ====================== */
|
695 | c3564ce9 | Kostas Papadimitriou | |
696 | c3564ce9 | Kostas Papadimitriou | var Modal = function (content, options) { |
697 | c3564ce9 | Kostas Papadimitriou | this.options = options
|
698 | c3564ce9 | Kostas Papadimitriou | this.$element = $(content) |
699 | c3564ce9 | Kostas Papadimitriou | .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) |
700 | c3564ce9 | Kostas Papadimitriou | } |
701 | c3564ce9 | Kostas Papadimitriou | |
702 | c3564ce9 | Kostas Papadimitriou | Modal.prototype = { |
703 | c3564ce9 | Kostas Papadimitriou | |
704 | c3564ce9 | Kostas Papadimitriou | constructor: Modal
|
705 | c3564ce9 | Kostas Papadimitriou | |
706 | c3564ce9 | Kostas Papadimitriou | , toggle: function () { |
707 | c3564ce9 | Kostas Papadimitriou | return this[!this.isShown ? 'show' : 'hide']() |
708 | c3564ce9 | Kostas Papadimitriou | } |
709 | c3564ce9 | Kostas Papadimitriou | |
710 | c3564ce9 | Kostas Papadimitriou | , show: function () { |
711 | c3564ce9 | Kostas Papadimitriou | var that = this |
712 | c3564ce9 | Kostas Papadimitriou | , e = $.Event('show') |
713 | c3564ce9 | Kostas Papadimitriou | |
714 | c3564ce9 | Kostas Papadimitriou | this.$element.trigger(e) |
715 | c3564ce9 | Kostas Papadimitriou | |
716 | c3564ce9 | Kostas Papadimitriou | if (this.isShown || e.isDefaultPrevented()) return |
717 | c3564ce9 | Kostas Papadimitriou | |
718 | c3564ce9 | Kostas Papadimitriou | $('body').addClass('modal-open') |
719 | c3564ce9 | Kostas Papadimitriou | |
720 | c3564ce9 | Kostas Papadimitriou | this.isShown = true |
721 | c3564ce9 | Kostas Papadimitriou | |
722 | c3564ce9 | Kostas Papadimitriou | escape.call(this)
|
723 | c3564ce9 | Kostas Papadimitriou | backdrop.call(this, function () { |
724 | c3564ce9 | Kostas Papadimitriou | var transition = $.support.transition && that.$element.hasClass('fade') |
725 | c3564ce9 | Kostas Papadimitriou | |
726 | c3564ce9 | Kostas Papadimitriou | if (!that.$element.parent().length) { |
727 | c3564ce9 | Kostas Papadimitriou | that.$element.appendTo(document.body) //don't move modals dom position |
728 | c3564ce9 | Kostas Papadimitriou | } |
729 | c3564ce9 | Kostas Papadimitriou | |
730 | c3564ce9 | Kostas Papadimitriou | that.$element
|
731 | c3564ce9 | Kostas Papadimitriou | .show() |
732 | c3564ce9 | Kostas Papadimitriou | |
733 | c3564ce9 | Kostas Papadimitriou | if (transition) {
|
734 | c3564ce9 | Kostas Papadimitriou | that.$element[0].offsetWidth // force reflow |
735 | c3564ce9 | Kostas Papadimitriou | } |
736 | c3564ce9 | Kostas Papadimitriou | |
737 | c3564ce9 | Kostas Papadimitriou | that.$element.addClass('in') |
738 | c3564ce9 | Kostas Papadimitriou | |
739 | c3564ce9 | Kostas Papadimitriou | transition ? |
740 | c3564ce9 | Kostas Papadimitriou | that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : |
741 | c3564ce9 | Kostas Papadimitriou | that.$element.trigger('shown') |
742 | c3564ce9 | Kostas Papadimitriou | |
743 | c3564ce9 | Kostas Papadimitriou | }) |
744 | c3564ce9 | Kostas Papadimitriou | } |
745 | c3564ce9 | Kostas Papadimitriou | |
746 | c3564ce9 | Kostas Papadimitriou | , hide: function (e) { |
747 | c3564ce9 | Kostas Papadimitriou | e && e.preventDefault() |
748 | c3564ce9 | Kostas Papadimitriou | |
749 | c3564ce9 | Kostas Papadimitriou | var that = this |
750 | c3564ce9 | Kostas Papadimitriou | |
751 | c3564ce9 | Kostas Papadimitriou | e = $.Event('hide') |
752 | c3564ce9 | Kostas Papadimitriou | |
753 | c3564ce9 | Kostas Papadimitriou | this.$element.trigger(e) |
754 | c3564ce9 | Kostas Papadimitriou | |
755 | c3564ce9 | Kostas Papadimitriou | if (!this.isShown || e.isDefaultPrevented()) return |
756 | c3564ce9 | Kostas Papadimitriou | |
757 | c3564ce9 | Kostas Papadimitriou | this.isShown = false |
758 | c3564ce9 | Kostas Papadimitriou | |
759 | c3564ce9 | Kostas Papadimitriou | $('body').removeClass('modal-open') |
760 | c3564ce9 | Kostas Papadimitriou | |
761 | c3564ce9 | Kostas Papadimitriou | escape.call(this)
|
762 | c3564ce9 | Kostas Papadimitriou | |
763 | c3564ce9 | Kostas Papadimitriou | this.$element.removeClass('in') |
764 | c3564ce9 | Kostas Papadimitriou | |
765 | c3564ce9 | Kostas Papadimitriou | $.support.transition && this.$element.hasClass('fade') ? |
766 | c3564ce9 | Kostas Papadimitriou | hideWithTransition.call(this) :
|
767 | c3564ce9 | Kostas Papadimitriou | hideModal.call(this)
|
768 | c3564ce9 | Kostas Papadimitriou | } |
769 | c3564ce9 | Kostas Papadimitriou | |
770 | c3564ce9 | Kostas Papadimitriou | } |
771 | c3564ce9 | Kostas Papadimitriou | |
772 | c3564ce9 | Kostas Papadimitriou | |
773 | c3564ce9 | Kostas Papadimitriou | /* MODAL PRIVATE METHODS
|
774 | c3564ce9 | Kostas Papadimitriou | * ===================== */
|
775 | c3564ce9 | Kostas Papadimitriou | |
776 | c3564ce9 | Kostas Papadimitriou | function hideWithTransition() { |
777 | c3564ce9 | Kostas Papadimitriou | var that = this |
778 | c3564ce9 | Kostas Papadimitriou | , timeout = setTimeout(function () {
|
779 | c3564ce9 | Kostas Papadimitriou | that.$element.off($.support.transition.end) |
780 | c3564ce9 | Kostas Papadimitriou | hideModal.call(that) |
781 | c3564ce9 | Kostas Papadimitriou | }, 500)
|
782 | c3564ce9 | Kostas Papadimitriou | |
783 | c3564ce9 | Kostas Papadimitriou | this.$element.one($.support.transition.end, function () { |
784 | c3564ce9 | Kostas Papadimitriou | clearTimeout(timeout) |
785 | c3564ce9 | Kostas Papadimitriou | hideModal.call(that) |
786 | c3564ce9 | Kostas Papadimitriou | }) |
787 | c3564ce9 | Kostas Papadimitriou | } |
788 | c3564ce9 | Kostas Papadimitriou | |
789 | c3564ce9 | Kostas Papadimitriou | function hideModal(that) { |
790 | c3564ce9 | Kostas Papadimitriou | this.$element |
791 | c3564ce9 | Kostas Papadimitriou | .hide() |
792 | c3564ce9 | Kostas Papadimitriou | .trigger('hidden')
|
793 | c3564ce9 | Kostas Papadimitriou | |
794 | c3564ce9 | Kostas Papadimitriou | backdrop.call(this)
|
795 | c3564ce9 | Kostas Papadimitriou | } |
796 | c3564ce9 | Kostas Papadimitriou | |
797 | c3564ce9 | Kostas Papadimitriou | function backdrop(callback) { |
798 | c3564ce9 | Kostas Papadimitriou | var that = this |
799 | c3564ce9 | Kostas Papadimitriou | , animate = this.$element.hasClass('fade') ? 'fade' : '' |
800 | c3564ce9 | Kostas Papadimitriou | |
801 | c3564ce9 | Kostas Papadimitriou | if (this.isShown && this.options.backdrop) { |
802 | c3564ce9 | Kostas Papadimitriou | var doAnimate = $.support.transition && animate |
803 | c3564ce9 | Kostas Papadimitriou | |
804 | c3564ce9 | Kostas Papadimitriou | this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') |
805 | c3564ce9 | Kostas Papadimitriou | .appendTo(document.body) |
806 | c3564ce9 | Kostas Papadimitriou | |
807 | c3564ce9 | Kostas Papadimitriou | if (this.options.backdrop != 'static') { |
808 | c3564ce9 | Kostas Papadimitriou | this.$backdrop.click($.proxy(this.hide, this)) |
809 | c3564ce9 | Kostas Papadimitriou | } |
810 | c3564ce9 | Kostas Papadimitriou | |
811 | c3564ce9 | Kostas Papadimitriou | if (doAnimate) this.$backdrop[0].offsetWidth // force reflow |
812 | c3564ce9 | Kostas Papadimitriou | |
813 | c3564ce9 | Kostas Papadimitriou | this.$backdrop.addClass('in') |
814 | c3564ce9 | Kostas Papadimitriou | |
815 | c3564ce9 | Kostas Papadimitriou | doAnimate ? |
816 | c3564ce9 | Kostas Papadimitriou | this.$backdrop.one($.support.transition.end, callback) : |
817 | c3564ce9 | Kostas Papadimitriou | callback() |
818 | c3564ce9 | Kostas Papadimitriou | |
819 | c3564ce9 | Kostas Papadimitriou | } else if (!this.isShown && this.$backdrop) { |
820 | c3564ce9 | Kostas Papadimitriou | this.$backdrop.removeClass('in') |
821 | c3564ce9 | Kostas Papadimitriou | |
822 | c3564ce9 | Kostas Papadimitriou | $.support.transition && this.$element.hasClass('fade')? |
823 | c3564ce9 | Kostas Papadimitriou | this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) : |
824 | c3564ce9 | Kostas Papadimitriou | removeBackdrop.call(this)
|
825 | c3564ce9 | Kostas Papadimitriou | |
826 | c3564ce9 | Kostas Papadimitriou | } else if (callback) { |
827 | c3564ce9 | Kostas Papadimitriou | callback() |
828 | c3564ce9 | Kostas Papadimitriou | } |
829 | c3564ce9 | Kostas Papadimitriou | } |
830 | c3564ce9 | Kostas Papadimitriou | |
831 | c3564ce9 | Kostas Papadimitriou | function removeBackdrop() { |
832 | c3564ce9 | Kostas Papadimitriou | this.$backdrop.remove() |
833 | c3564ce9 | Kostas Papadimitriou | this.$backdrop = null |
834 | c3564ce9 | Kostas Papadimitriou | } |
835 | c3564ce9 | Kostas Papadimitriou | |
836 | c3564ce9 | Kostas Papadimitriou | function escape() { |
837 | c3564ce9 | Kostas Papadimitriou | var that = this |
838 | c3564ce9 | Kostas Papadimitriou | if (this.isShown && this.options.keyboard) { |
839 | c3564ce9 | Kostas Papadimitriou | $(document).on('keyup.dismiss.modal', function ( e ) { |
840 | c3564ce9 | Kostas Papadimitriou | e.which == 27 && that.hide()
|
841 | c3564ce9 | Kostas Papadimitriou | }) |
842 | c3564ce9 | Kostas Papadimitriou | } else if (!this.isShown) { |
843 | c3564ce9 | Kostas Papadimitriou | $(document).off('keyup.dismiss.modal') |
844 | c3564ce9 | Kostas Papadimitriou | } |
845 | c3564ce9 | Kostas Papadimitriou | } |
846 | c3564ce9 | Kostas Papadimitriou | |
847 | c3564ce9 | Kostas Papadimitriou | |
848 | c3564ce9 | Kostas Papadimitriou | /* MODAL PLUGIN DEFINITION
|
849 | c3564ce9 | Kostas Papadimitriou | * ======================= */
|
850 | c3564ce9 | Kostas Papadimitriou | |
851 | c3564ce9 | Kostas Papadimitriou | $.fn.modal = function (option) { |
852 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
853 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
854 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('modal') |
855 | c3564ce9 | Kostas Papadimitriou | , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option) |
856 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('modal', (data = new Modal(this, options))) |
857 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
858 | c3564ce9 | Kostas Papadimitriou | else if (options.show) data.show() |
859 | c3564ce9 | Kostas Papadimitriou | }) |
860 | c3564ce9 | Kostas Papadimitriou | } |
861 | c3564ce9 | Kostas Papadimitriou | |
862 | c3564ce9 | Kostas Papadimitriou | $.fn.modal.defaults = {
|
863 | c3564ce9 | Kostas Papadimitriou | backdrop: true |
864 | c3564ce9 | Kostas Papadimitriou | , keyboard: true |
865 | c3564ce9 | Kostas Papadimitriou | , show: true |
866 | c3564ce9 | Kostas Papadimitriou | } |
867 | c3564ce9 | Kostas Papadimitriou | |
868 | c3564ce9 | Kostas Papadimitriou | $.fn.modal.Constructor = Modal
|
869 | c3564ce9 | Kostas Papadimitriou | |
870 | c3564ce9 | Kostas Papadimitriou | |
871 | c3564ce9 | Kostas Papadimitriou | /* MODAL DATA-API
|
872 | c3564ce9 | Kostas Papadimitriou | * ============== */
|
873 | c3564ce9 | Kostas Papadimitriou | |
874 | c3564ce9 | Kostas Papadimitriou | $(function () { |
875 | c3564ce9 | Kostas Papadimitriou | $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { |
876 | c3564ce9 | Kostas Papadimitriou | var $this = $(this), href |
877 | c3564ce9 | Kostas Papadimitriou | , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 |
878 | c3564ce9 | Kostas Papadimitriou | , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data()) |
879 | c3564ce9 | Kostas Papadimitriou | |
880 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
881 | c3564ce9 | Kostas Papadimitriou | $target.modal(option)
|
882 | c3564ce9 | Kostas Papadimitriou | }) |
883 | c3564ce9 | Kostas Papadimitriou | }) |
884 | c3564ce9 | Kostas Papadimitriou | |
885 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ===========================================================
|
886 | c3564ce9 | Kostas Papadimitriou | * bootstrap-tooltip.js v2.0.3
|
887 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#tooltips
|
888 | c3564ce9 | Kostas Papadimitriou | * Inspired by the original jQuery.tipsy by Jason Frame
|
889 | c3564ce9 | Kostas Papadimitriou | * ===========================================================
|
890 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
891 | c3564ce9 | Kostas Papadimitriou | *
|
892 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
893 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
894 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
895 | c3564ce9 | Kostas Papadimitriou | *
|
896 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
897 | c3564ce9 | Kostas Papadimitriou | *
|
898 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
899 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
900 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
901 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
902 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
903 | c3564ce9 | Kostas Papadimitriou | * ========================================================== */
|
904 | c3564ce9 | Kostas Papadimitriou | |
905 | c3564ce9 | Kostas Papadimitriou | |
906 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
907 | c3564ce9 | Kostas Papadimitriou | |
908 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
909 | c3564ce9 | Kostas Papadimitriou | |
910 | c3564ce9 | Kostas Papadimitriou | |
911 | c3564ce9 | Kostas Papadimitriou | /* TOOLTIP PUBLIC CLASS DEFINITION
|
912 | c3564ce9 | Kostas Papadimitriou | * =============================== */
|
913 | c3564ce9 | Kostas Papadimitriou | |
914 | c3564ce9 | Kostas Papadimitriou | var Tooltip = function (element, options) { |
915 | c3564ce9 | Kostas Papadimitriou | this.init('tooltip', element, options) |
916 | c3564ce9 | Kostas Papadimitriou | } |
917 | c3564ce9 | Kostas Papadimitriou | |
918 | c3564ce9 | Kostas Papadimitriou | Tooltip.prototype = { |
919 | c3564ce9 | Kostas Papadimitriou | |
920 | c3564ce9 | Kostas Papadimitriou | constructor: Tooltip
|
921 | c3564ce9 | Kostas Papadimitriou | |
922 | c3564ce9 | Kostas Papadimitriou | , init: function (type, element, options) { |
923 | c3564ce9 | Kostas Papadimitriou | var eventIn
|
924 | c3564ce9 | Kostas Papadimitriou | , eventOut |
925 | c3564ce9 | Kostas Papadimitriou | |
926 | c3564ce9 | Kostas Papadimitriou | this.type = type
|
927 | c3564ce9 | Kostas Papadimitriou | this.$element = $(element) |
928 | c3564ce9 | Kostas Papadimitriou | this.options = this.getOptions(options) |
929 | c3564ce9 | Kostas Papadimitriou | this.enabled = true |
930 | c3564ce9 | Kostas Papadimitriou | |
931 | c3564ce9 | Kostas Papadimitriou | if (this.options.trigger != 'manual') { |
932 | c3564ce9 | Kostas Papadimitriou | eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' |
933 | c3564ce9 | Kostas Papadimitriou | eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' |
934 | c3564ce9 | Kostas Papadimitriou | this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this)) |
935 | c3564ce9 | Kostas Papadimitriou | this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this)) |
936 | c3564ce9 | Kostas Papadimitriou | } |
937 | c3564ce9 | Kostas Papadimitriou | |
938 | c3564ce9 | Kostas Papadimitriou | this.options.selector ?
|
939 | c3564ce9 | Kostas Papadimitriou | (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : |
940 | c3564ce9 | Kostas Papadimitriou | this.fixTitle()
|
941 | c3564ce9 | Kostas Papadimitriou | } |
942 | c3564ce9 | Kostas Papadimitriou | |
943 | c3564ce9 | Kostas Papadimitriou | , getOptions: function (options) { |
944 | c3564ce9 | Kostas Papadimitriou | options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()) |
945 | c3564ce9 | Kostas Papadimitriou | |
946 | c3564ce9 | Kostas Papadimitriou | if (options.delay && typeof options.delay == 'number') { |
947 | c3564ce9 | Kostas Papadimitriou | options.delay = { |
948 | c3564ce9 | Kostas Papadimitriou | show: options.delay
|
949 | c3564ce9 | Kostas Papadimitriou | , hide: options.delay
|
950 | c3564ce9 | Kostas Papadimitriou | } |
951 | c3564ce9 | Kostas Papadimitriou | } |
952 | c3564ce9 | Kostas Papadimitriou | |
953 | c3564ce9 | Kostas Papadimitriou | return options
|
954 | c3564ce9 | Kostas Papadimitriou | } |
955 | c3564ce9 | Kostas Papadimitriou | |
956 | c3564ce9 | Kostas Papadimitriou | , enter: function (e) { |
957 | c3564ce9 | Kostas Papadimitriou | var self = $(e.currentTarget)[this.type](this._options).data(this.type) |
958 | c3564ce9 | Kostas Papadimitriou | |
959 | c3564ce9 | Kostas Papadimitriou | if (!self.options.delay || !self.options.delay.show) return self.show() |
960 | c3564ce9 | Kostas Papadimitriou | |
961 | c3564ce9 | Kostas Papadimitriou | clearTimeout(this.timeout)
|
962 | c3564ce9 | Kostas Papadimitriou | self.hoverState = 'in'
|
963 | c3564ce9 | Kostas Papadimitriou | this.timeout = setTimeout(function() { |
964 | c3564ce9 | Kostas Papadimitriou | if (self.hoverState == 'in') self.show() |
965 | c3564ce9 | Kostas Papadimitriou | }, self.options.delay.show) |
966 | c3564ce9 | Kostas Papadimitriou | } |
967 | c3564ce9 | Kostas Papadimitriou | |
968 | c3564ce9 | Kostas Papadimitriou | , leave: function (e) { |
969 | c3564ce9 | Kostas Papadimitriou | var self = $(e.currentTarget)[this.type](this._options).data(this.type) |
970 | c3564ce9 | Kostas Papadimitriou | |
971 | c3564ce9 | Kostas Papadimitriou | if (!self.options.delay || !self.options.delay.hide) return self.hide() |
972 | c3564ce9 | Kostas Papadimitriou | |
973 | c3564ce9 | Kostas Papadimitriou | clearTimeout(this.timeout)
|
974 | c3564ce9 | Kostas Papadimitriou | self.hoverState = 'out'
|
975 | c3564ce9 | Kostas Papadimitriou | this.timeout = setTimeout(function() { |
976 | c3564ce9 | Kostas Papadimitriou | if (self.hoverState == 'out') self.hide() |
977 | c3564ce9 | Kostas Papadimitriou | }, self.options.delay.hide) |
978 | c3564ce9 | Kostas Papadimitriou | } |
979 | c3564ce9 | Kostas Papadimitriou | |
980 | c3564ce9 | Kostas Papadimitriou | , show: function () { |
981 | c3564ce9 | Kostas Papadimitriou | var $tip |
982 | c3564ce9 | Kostas Papadimitriou | , inside |
983 | c3564ce9 | Kostas Papadimitriou | , pos |
984 | c3564ce9 | Kostas Papadimitriou | , actualWidth |
985 | c3564ce9 | Kostas Papadimitriou | , actualHeight |
986 | c3564ce9 | Kostas Papadimitriou | , placement |
987 | c3564ce9 | Kostas Papadimitriou | , tp |
988 | c3564ce9 | Kostas Papadimitriou | |
989 | c3564ce9 | Kostas Papadimitriou | if (this.hasContent() && this.enabled) { |
990 | c3564ce9 | Kostas Papadimitriou | $tip = this.tip() |
991 | c3564ce9 | Kostas Papadimitriou | this.setContent()
|
992 | c3564ce9 | Kostas Papadimitriou | |
993 | c3564ce9 | Kostas Papadimitriou | if (this.options.animation) { |
994 | c3564ce9 | Kostas Papadimitriou | $tip.addClass('fade') |
995 | c3564ce9 | Kostas Papadimitriou | } |
996 | c3564ce9 | Kostas Papadimitriou | |
997 | c3564ce9 | Kostas Papadimitriou | placement = typeof this.options.placement == 'function' ? |
998 | c3564ce9 | Kostas Papadimitriou | this.options.placement.call(this, $tip[0], this.$element[0]) : |
999 | c3564ce9 | Kostas Papadimitriou | this.options.placement
|
1000 | c3564ce9 | Kostas Papadimitriou | |
1001 | c3564ce9 | Kostas Papadimitriou | inside = /in/.test(placement)
|
1002 | c3564ce9 | Kostas Papadimitriou | |
1003 | c3564ce9 | Kostas Papadimitriou | $tip
|
1004 | c3564ce9 | Kostas Papadimitriou | .remove() |
1005 | c3564ce9 | Kostas Papadimitriou | .css({ top: 0, left: 0, display: 'block' }) |
1006 | c3564ce9 | Kostas Papadimitriou | .appendTo(inside ? this.$element : document.body) |
1007 | c3564ce9 | Kostas Papadimitriou | |
1008 | c3564ce9 | Kostas Papadimitriou | pos = this.getPosition(inside)
|
1009 | c3564ce9 | Kostas Papadimitriou | |
1010 | c3564ce9 | Kostas Papadimitriou | actualWidth = $tip[0].offsetWidth |
1011 | c3564ce9 | Kostas Papadimitriou | actualHeight = $tip[0].offsetHeight |
1012 | c3564ce9 | Kostas Papadimitriou | |
1013 | c3564ce9 | Kostas Papadimitriou | switch (inside ? placement.split(' ')[1] : placement) { |
1014 | c3564ce9 | Kostas Papadimitriou | case 'bottom': |
1015 | c3564ce9 | Kostas Papadimitriou | tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} |
1016 | c3564ce9 | Kostas Papadimitriou | break
|
1017 | c3564ce9 | Kostas Papadimitriou | case 'top': |
1018 | c3564ce9 | Kostas Papadimitriou | tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} |
1019 | c3564ce9 | Kostas Papadimitriou | break
|
1020 | c3564ce9 | Kostas Papadimitriou | case 'left': |
1021 | c3564ce9 | Kostas Papadimitriou | tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth} |
1022 | c3564ce9 | Kostas Papadimitriou | break
|
1023 | c3564ce9 | Kostas Papadimitriou | case 'right': |
1024 | c3564ce9 | Kostas Papadimitriou | tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} |
1025 | c3564ce9 | Kostas Papadimitriou | break
|
1026 | c3564ce9 | Kostas Papadimitriou | } |
1027 | c3564ce9 | Kostas Papadimitriou | |
1028 | c3564ce9 | Kostas Papadimitriou | $tip
|
1029 | c3564ce9 | Kostas Papadimitriou | .css(tp) |
1030 | c3564ce9 | Kostas Papadimitriou | .addClass(placement) |
1031 | c3564ce9 | Kostas Papadimitriou | .addClass('in')
|
1032 | c3564ce9 | Kostas Papadimitriou | } |
1033 | c3564ce9 | Kostas Papadimitriou | } |
1034 | c3564ce9 | Kostas Papadimitriou | |
1035 | c3564ce9 | Kostas Papadimitriou | , isHTML: function(text) { |
1036 | c3564ce9 | Kostas Papadimitriou | // html string detection logic adapted from jQuery
|
1037 | c3564ce9 | Kostas Papadimitriou | return typeof text != 'string' |
1038 | c3564ce9 | Kostas Papadimitriou | || ( text.charAt(0) === "<" |
1039 | c3564ce9 | Kostas Papadimitriou | && text.charAt( text.length - 1 ) === ">" |
1040 | c3564ce9 | Kostas Papadimitriou | && text.length >= 3
|
1041 | c3564ce9 | Kostas Papadimitriou | ) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text)
|
1042 | c3564ce9 | Kostas Papadimitriou | } |
1043 | c3564ce9 | Kostas Papadimitriou | |
1044 | c3564ce9 | Kostas Papadimitriou | , setContent: function () { |
1045 | c3564ce9 | Kostas Papadimitriou | var $tip = this.tip() |
1046 | c3564ce9 | Kostas Papadimitriou | , title = this.getTitle()
|
1047 | c3564ce9 | Kostas Papadimitriou | |
1048 | c3564ce9 | Kostas Papadimitriou | $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title) |
1049 | c3564ce9 | Kostas Papadimitriou | $tip.removeClass('fade in top bottom left right') |
1050 | c3564ce9 | Kostas Papadimitriou | } |
1051 | c3564ce9 | Kostas Papadimitriou | |
1052 | c3564ce9 | Kostas Papadimitriou | , hide: function () { |
1053 | c3564ce9 | Kostas Papadimitriou | var that = this |
1054 | c3564ce9 | Kostas Papadimitriou | , $tip = this.tip() |
1055 | c3564ce9 | Kostas Papadimitriou | |
1056 | c3564ce9 | Kostas Papadimitriou | $tip.removeClass('in') |
1057 | c3564ce9 | Kostas Papadimitriou | |
1058 | c3564ce9 | Kostas Papadimitriou | function removeWithAnimation() { |
1059 | c3564ce9 | Kostas Papadimitriou | var timeout = setTimeout(function () { |
1060 | c3564ce9 | Kostas Papadimitriou | $tip.off($.support.transition.end).remove() |
1061 | c3564ce9 | Kostas Papadimitriou | }, 500)
|
1062 | c3564ce9 | Kostas Papadimitriou | |
1063 | c3564ce9 | Kostas Papadimitriou | $tip.one($.support.transition.end, function () { |
1064 | c3564ce9 | Kostas Papadimitriou | clearTimeout(timeout) |
1065 | c3564ce9 | Kostas Papadimitriou | $tip.remove()
|
1066 | c3564ce9 | Kostas Papadimitriou | }) |
1067 | c3564ce9 | Kostas Papadimitriou | } |
1068 | c3564ce9 | Kostas Papadimitriou | |
1069 | c3564ce9 | Kostas Papadimitriou | $.support.transition && this.$tip.hasClass('fade') ? |
1070 | c3564ce9 | Kostas Papadimitriou | removeWithAnimation() : |
1071 | c3564ce9 | Kostas Papadimitriou | $tip.remove()
|
1072 | c3564ce9 | Kostas Papadimitriou | } |
1073 | c3564ce9 | Kostas Papadimitriou | |
1074 | c3564ce9 | Kostas Papadimitriou | , fixTitle: function () { |
1075 | c3564ce9 | Kostas Papadimitriou | var $e = this.$element |
1076 | c3564ce9 | Kostas Papadimitriou | if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { |
1077 | c3564ce9 | Kostas Papadimitriou | $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title') |
1078 | c3564ce9 | Kostas Papadimitriou | } |
1079 | c3564ce9 | Kostas Papadimitriou | } |
1080 | c3564ce9 | Kostas Papadimitriou | |
1081 | c3564ce9 | Kostas Papadimitriou | , hasContent: function () { |
1082 | c3564ce9 | Kostas Papadimitriou | return this.getTitle() |
1083 | c3564ce9 | Kostas Papadimitriou | } |
1084 | c3564ce9 | Kostas Papadimitriou | |
1085 | c3564ce9 | Kostas Papadimitriou | , getPosition: function (inside) { |
1086 | c3564ce9 | Kostas Papadimitriou | return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { |
1087 | c3564ce9 | Kostas Papadimitriou | width: this.$element[0].offsetWidth |
1088 | c3564ce9 | Kostas Papadimitriou | , height: this.$element[0].offsetHeight |
1089 | c3564ce9 | Kostas Papadimitriou | }) |
1090 | c3564ce9 | Kostas Papadimitriou | } |
1091 | c3564ce9 | Kostas Papadimitriou | |
1092 | c3564ce9 | Kostas Papadimitriou | , getTitle: function () { |
1093 | c3564ce9 | Kostas Papadimitriou | var title
|
1094 | c3564ce9 | Kostas Papadimitriou | , $e = this.$element |
1095 | c3564ce9 | Kostas Papadimitriou | , o = this.options
|
1096 | c3564ce9 | Kostas Papadimitriou | |
1097 | c3564ce9 | Kostas Papadimitriou | title = $e.attr('data-original-title') |
1098 | c3564ce9 | Kostas Papadimitriou | || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) |
1099 | c3564ce9 | Kostas Papadimitriou | |
1100 | c3564ce9 | Kostas Papadimitriou | return title
|
1101 | c3564ce9 | Kostas Papadimitriou | } |
1102 | c3564ce9 | Kostas Papadimitriou | |
1103 | c3564ce9 | Kostas Papadimitriou | , tip: function () { |
1104 | c3564ce9 | Kostas Papadimitriou | return this.$tip = this.$tip || $(this.options.template) |
1105 | c3564ce9 | Kostas Papadimitriou | } |
1106 | c3564ce9 | Kostas Papadimitriou | |
1107 | c3564ce9 | Kostas Papadimitriou | , validate: function () { |
1108 | c3564ce9 | Kostas Papadimitriou | if (!this.$element[0].parentNode) { |
1109 | c3564ce9 | Kostas Papadimitriou | this.hide()
|
1110 | c3564ce9 | Kostas Papadimitriou | this.$element = null |
1111 | c3564ce9 | Kostas Papadimitriou | this.options = null |
1112 | c3564ce9 | Kostas Papadimitriou | } |
1113 | c3564ce9 | Kostas Papadimitriou | } |
1114 | c3564ce9 | Kostas Papadimitriou | |
1115 | c3564ce9 | Kostas Papadimitriou | , enable: function () { |
1116 | c3564ce9 | Kostas Papadimitriou | this.enabled = true |
1117 | c3564ce9 | Kostas Papadimitriou | } |
1118 | c3564ce9 | Kostas Papadimitriou | |
1119 | c3564ce9 | Kostas Papadimitriou | , disable: function () { |
1120 | c3564ce9 | Kostas Papadimitriou | this.enabled = false |
1121 | c3564ce9 | Kostas Papadimitriou | } |
1122 | c3564ce9 | Kostas Papadimitriou | |
1123 | c3564ce9 | Kostas Papadimitriou | , toggleEnabled: function () { |
1124 | c3564ce9 | Kostas Papadimitriou | this.enabled = !this.enabled |
1125 | c3564ce9 | Kostas Papadimitriou | } |
1126 | c3564ce9 | Kostas Papadimitriou | |
1127 | c3564ce9 | Kostas Papadimitriou | , toggle: function () { |
1128 | c3564ce9 | Kostas Papadimitriou | this[this.tip().hasClass('in') ? 'hide' : 'show']() |
1129 | c3564ce9 | Kostas Papadimitriou | } |
1130 | c3564ce9 | Kostas Papadimitriou | |
1131 | c3564ce9 | Kostas Papadimitriou | } |
1132 | c3564ce9 | Kostas Papadimitriou | |
1133 | c3564ce9 | Kostas Papadimitriou | |
1134 | c3564ce9 | Kostas Papadimitriou | /* TOOLTIP PLUGIN DEFINITION
|
1135 | c3564ce9 | Kostas Papadimitriou | * ========================= */
|
1136 | c3564ce9 | Kostas Papadimitriou | |
1137 | c3564ce9 | Kostas Papadimitriou | $.fn.tooltip = function ( option ) { |
1138 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
1139 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
1140 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('tooltip') |
1141 | c3564ce9 | Kostas Papadimitriou | , options = typeof option == 'object' && option |
1142 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('tooltip', (data = new Tooltip(this, options))) |
1143 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
1144 | c3564ce9 | Kostas Papadimitriou | }) |
1145 | c3564ce9 | Kostas Papadimitriou | } |
1146 | c3564ce9 | Kostas Papadimitriou | |
1147 | c3564ce9 | Kostas Papadimitriou | $.fn.tooltip.Constructor = Tooltip
|
1148 | c3564ce9 | Kostas Papadimitriou | |
1149 | c3564ce9 | Kostas Papadimitriou | $.fn.tooltip.defaults = {
|
1150 | c3564ce9 | Kostas Papadimitriou | animation: true |
1151 | c3564ce9 | Kostas Papadimitriou | , placement: 'top' |
1152 | c3564ce9 | Kostas Papadimitriou | , selector: false |
1153 | c3564ce9 | Kostas Papadimitriou | , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
1154 | c3564ce9 | Kostas Papadimitriou | , trigger: 'hover' |
1155 | c3564ce9 | Kostas Papadimitriou | , title: '' |
1156 | c3564ce9 | Kostas Papadimitriou | , delay: 0 |
1157 | c3564ce9 | Kostas Papadimitriou | } |
1158 | c3564ce9 | Kostas Papadimitriou | |
1159 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ===========================================================
|
1160 | c3564ce9 | Kostas Papadimitriou | * bootstrap-popover.js v2.0.3
|
1161 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#popovers
|
1162 | c3564ce9 | Kostas Papadimitriou | * ===========================================================
|
1163 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
1164 | c3564ce9 | Kostas Papadimitriou | *
|
1165 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
1166 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
1167 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
1168 | c3564ce9 | Kostas Papadimitriou | *
|
1169 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
1170 | c3564ce9 | Kostas Papadimitriou | *
|
1171 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
1172 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
1173 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1174 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
1175 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
1176 | c3564ce9 | Kostas Papadimitriou | * =========================================================== */
|
1177 | c3564ce9 | Kostas Papadimitriou | |
1178 | c3564ce9 | Kostas Papadimitriou | |
1179 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
1180 | c3564ce9 | Kostas Papadimitriou | |
1181 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
1182 | c3564ce9 | Kostas Papadimitriou | |
1183 | c3564ce9 | Kostas Papadimitriou | |
1184 | c3564ce9 | Kostas Papadimitriou | /* POPOVER PUBLIC CLASS DEFINITION
|
1185 | c3564ce9 | Kostas Papadimitriou | * =============================== */
|
1186 | c3564ce9 | Kostas Papadimitriou | |
1187 | c3564ce9 | Kostas Papadimitriou | var Popover = function ( element, options ) { |
1188 | c3564ce9 | Kostas Papadimitriou | this.init('popover', element, options) |
1189 | c3564ce9 | Kostas Papadimitriou | } |
1190 | c3564ce9 | Kostas Papadimitriou | |
1191 | c3564ce9 | Kostas Papadimitriou | |
1192 | c3564ce9 | Kostas Papadimitriou | /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
|
1193 | c3564ce9 | Kostas Papadimitriou | ========================================== */
|
1194 | c3564ce9 | Kostas Papadimitriou | |
1195 | c3564ce9 | Kostas Papadimitriou | Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { |
1196 | c3564ce9 | Kostas Papadimitriou | |
1197 | c3564ce9 | Kostas Papadimitriou | constructor: Popover
|
1198 | c3564ce9 | Kostas Papadimitriou | |
1199 | c3564ce9 | Kostas Papadimitriou | , setContent: function () { |
1200 | c3564ce9 | Kostas Papadimitriou | var $tip = this.tip() |
1201 | c3564ce9 | Kostas Papadimitriou | , title = this.getTitle()
|
1202 | c3564ce9 | Kostas Papadimitriou | , content = this.getContent()
|
1203 | c3564ce9 | Kostas Papadimitriou | |
1204 | c3564ce9 | Kostas Papadimitriou | $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title) |
1205 | c3564ce9 | Kostas Papadimitriou | $tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content) |
1206 | c3564ce9 | Kostas Papadimitriou | |
1207 | c3564ce9 | Kostas Papadimitriou | $tip.removeClass('fade top bottom left right in') |
1208 | c3564ce9 | Kostas Papadimitriou | } |
1209 | c3564ce9 | Kostas Papadimitriou | |
1210 | c3564ce9 | Kostas Papadimitriou | , hasContent: function () { |
1211 | c3564ce9 | Kostas Papadimitriou | return this.getTitle() || this.getContent() |
1212 | c3564ce9 | Kostas Papadimitriou | } |
1213 | c3564ce9 | Kostas Papadimitriou | |
1214 | c3564ce9 | Kostas Papadimitriou | , getContent: function () { |
1215 | c3564ce9 | Kostas Papadimitriou | var content
|
1216 | c3564ce9 | Kostas Papadimitriou | , $e = this.$element |
1217 | c3564ce9 | Kostas Papadimitriou | , o = this.options
|
1218 | c3564ce9 | Kostas Papadimitriou | |
1219 | c3564ce9 | Kostas Papadimitriou | content = $e.attr('data-content') |
1220 | c3564ce9 | Kostas Papadimitriou | || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) |
1221 | c3564ce9 | Kostas Papadimitriou | |
1222 | c3564ce9 | Kostas Papadimitriou | return content
|
1223 | c3564ce9 | Kostas Papadimitriou | } |
1224 | c3564ce9 | Kostas Papadimitriou | |
1225 | c3564ce9 | Kostas Papadimitriou | , tip: function () { |
1226 | c3564ce9 | Kostas Papadimitriou | if (!this.$tip) { |
1227 | c3564ce9 | Kostas Papadimitriou | this.$tip = $(this.options.template) |
1228 | c3564ce9 | Kostas Papadimitriou | } |
1229 | c3564ce9 | Kostas Papadimitriou | return this.$tip |
1230 | c3564ce9 | Kostas Papadimitriou | } |
1231 | c3564ce9 | Kostas Papadimitriou | |
1232 | c3564ce9 | Kostas Papadimitriou | }) |
1233 | c3564ce9 | Kostas Papadimitriou | |
1234 | c3564ce9 | Kostas Papadimitriou | |
1235 | c3564ce9 | Kostas Papadimitriou | /* POPOVER PLUGIN DEFINITION
|
1236 | c3564ce9 | Kostas Papadimitriou | * ======================= */
|
1237 | c3564ce9 | Kostas Papadimitriou | |
1238 | c3564ce9 | Kostas Papadimitriou | $.fn.popover = function (option) { |
1239 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
1240 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
1241 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('popover') |
1242 | c3564ce9 | Kostas Papadimitriou | , options = typeof option == 'object' && option |
1243 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('popover', (data = new Popover(this, options))) |
1244 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
1245 | c3564ce9 | Kostas Papadimitriou | }) |
1246 | c3564ce9 | Kostas Papadimitriou | } |
1247 | c3564ce9 | Kostas Papadimitriou | |
1248 | c3564ce9 | Kostas Papadimitriou | $.fn.popover.Constructor = Popover
|
1249 | c3564ce9 | Kostas Papadimitriou | |
1250 | c3564ce9 | Kostas Papadimitriou | $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { |
1251 | c3564ce9 | Kostas Papadimitriou | placement: 'right' |
1252 | c3564ce9 | Kostas Papadimitriou | , content: '' |
1253 | c3564ce9 | Kostas Papadimitriou | , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' |
1254 | c3564ce9 | Kostas Papadimitriou | }) |
1255 | c3564ce9 | Kostas Papadimitriou | |
1256 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* =============================================================
|
1257 | c3564ce9 | Kostas Papadimitriou | * bootstrap-scrollspy.js v2.0.3
|
1258 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
1259 | c3564ce9 | Kostas Papadimitriou | * =============================================================
|
1260 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
1261 | c3564ce9 | Kostas Papadimitriou | *
|
1262 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
1263 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
1264 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
1265 | c3564ce9 | Kostas Papadimitriou | *
|
1266 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
1267 | c3564ce9 | Kostas Papadimitriou | *
|
1268 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
1269 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
1270 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1271 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
1272 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
1273 | c3564ce9 | Kostas Papadimitriou | * ============================================================== */
|
1274 | c3564ce9 | Kostas Papadimitriou | |
1275 | c3564ce9 | Kostas Papadimitriou | |
1276 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
1277 | c3564ce9 | Kostas Papadimitriou | |
1278 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
1279 | c3564ce9 | Kostas Papadimitriou | |
1280 | c3564ce9 | Kostas Papadimitriou | |
1281 | c3564ce9 | Kostas Papadimitriou | /* SCROLLSPY CLASS DEFINITION
|
1282 | c3564ce9 | Kostas Papadimitriou | * ========================== */
|
1283 | c3564ce9 | Kostas Papadimitriou | |
1284 | c3564ce9 | Kostas Papadimitriou | function ScrollSpy( element, options) { |
1285 | c3564ce9 | Kostas Papadimitriou | var process = $.proxy(this.process, this) |
1286 | c3564ce9 | Kostas Papadimitriou | , $element = $(element).is('body') ? $(window) : $(element) |
1287 | c3564ce9 | Kostas Papadimitriou | , href |
1288 | c3564ce9 | Kostas Papadimitriou | this.options = $.extend({}, $.fn.scrollspy.defaults, options) |
1289 | c3564ce9 | Kostas Papadimitriou | this.$scrollElement = $element.on('scroll.scroll.data-api', process) |
1290 | c3564ce9 | Kostas Papadimitriou | this.selector = (this.options.target |
1291 | c3564ce9 | Kostas Papadimitriou | || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 |
1292 | c3564ce9 | Kostas Papadimitriou | || '') + ' .nav li > a' |
1293 | c3564ce9 | Kostas Papadimitriou | this.$body = $('body') |
1294 | c3564ce9 | Kostas Papadimitriou | this.refresh()
|
1295 | c3564ce9 | Kostas Papadimitriou | this.process()
|
1296 | c3564ce9 | Kostas Papadimitriou | } |
1297 | c3564ce9 | Kostas Papadimitriou | |
1298 | c3564ce9 | Kostas Papadimitriou | ScrollSpy.prototype = { |
1299 | c3564ce9 | Kostas Papadimitriou | |
1300 | c3564ce9 | Kostas Papadimitriou | constructor: ScrollSpy
|
1301 | c3564ce9 | Kostas Papadimitriou | |
1302 | c3564ce9 | Kostas Papadimitriou | , refresh: function () { |
1303 | c3564ce9 | Kostas Papadimitriou | var self = this |
1304 | c3564ce9 | Kostas Papadimitriou | , $targets
|
1305 | c3564ce9 | Kostas Papadimitriou | |
1306 | c3564ce9 | Kostas Papadimitriou | this.offsets = $([]) |
1307 | c3564ce9 | Kostas Papadimitriou | this.targets = $([]) |
1308 | c3564ce9 | Kostas Papadimitriou | |
1309 | c3564ce9 | Kostas Papadimitriou | $targets = this.$body |
1310 | c3564ce9 | Kostas Papadimitriou | .find(this.selector)
|
1311 | c3564ce9 | Kostas Papadimitriou | .map(function () {
|
1312 | c3564ce9 | Kostas Papadimitriou | var $el = $(this) |
1313 | c3564ce9 | Kostas Papadimitriou | , href = $el.data('target') || $el.attr('href') |
1314 | c3564ce9 | Kostas Papadimitriou | , $href = /^#\w/.test(href) && $(href) |
1315 | c3564ce9 | Kostas Papadimitriou | return ( $href |
1316 | c3564ce9 | Kostas Papadimitriou | && href.length |
1317 | c3564ce9 | Kostas Papadimitriou | && [[ $href.position().top, href ]] ) || null |
1318 | c3564ce9 | Kostas Papadimitriou | }) |
1319 | c3564ce9 | Kostas Papadimitriou | .sort(function (a, b) { return a[0] - b[0] }) |
1320 | c3564ce9 | Kostas Papadimitriou | .each(function () {
|
1321 | c3564ce9 | Kostas Papadimitriou | self.offsets.push(this[0]) |
1322 | c3564ce9 | Kostas Papadimitriou | self.targets.push(this[1]) |
1323 | c3564ce9 | Kostas Papadimitriou | }) |
1324 | c3564ce9 | Kostas Papadimitriou | } |
1325 | c3564ce9 | Kostas Papadimitriou | |
1326 | c3564ce9 | Kostas Papadimitriou | , process: function () { |
1327 | c3564ce9 | Kostas Papadimitriou | var scrollTop = this.$scrollElement.scrollTop() + this.options.offset |
1328 | c3564ce9 | Kostas Papadimitriou | , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight |
1329 | c3564ce9 | Kostas Papadimitriou | , maxScroll = scrollHeight - this.$scrollElement.height() |
1330 | c3564ce9 | Kostas Papadimitriou | , offsets = this.offsets
|
1331 | c3564ce9 | Kostas Papadimitriou | , targets = this.targets
|
1332 | c3564ce9 | Kostas Papadimitriou | , activeTarget = this.activeTarget
|
1333 | c3564ce9 | Kostas Papadimitriou | , i |
1334 | c3564ce9 | Kostas Papadimitriou | |
1335 | c3564ce9 | Kostas Papadimitriou | if (scrollTop >= maxScroll) {
|
1336 | c3564ce9 | Kostas Papadimitriou | return activeTarget != (i = targets.last()[0]) |
1337 | c3564ce9 | Kostas Papadimitriou | && this.activate ( i )
|
1338 | c3564ce9 | Kostas Papadimitriou | } |
1339 | c3564ce9 | Kostas Papadimitriou | |
1340 | c3564ce9 | Kostas Papadimitriou | for (i = offsets.length; i--;) {
|
1341 | c3564ce9 | Kostas Papadimitriou | activeTarget != targets[i] |
1342 | c3564ce9 | Kostas Papadimitriou | && scrollTop >= offsets[i] |
1343 | c3564ce9 | Kostas Papadimitriou | && (!offsets[i + 1] || scrollTop <= offsets[i + 1]) |
1344 | c3564ce9 | Kostas Papadimitriou | && this.activate( targets[i] )
|
1345 | c3564ce9 | Kostas Papadimitriou | } |
1346 | c3564ce9 | Kostas Papadimitriou | } |
1347 | c3564ce9 | Kostas Papadimitriou | |
1348 | c3564ce9 | Kostas Papadimitriou | , activate: function (target) { |
1349 | c3564ce9 | Kostas Papadimitriou | var active
|
1350 | c3564ce9 | Kostas Papadimitriou | , selector |
1351 | c3564ce9 | Kostas Papadimitriou | |
1352 | c3564ce9 | Kostas Papadimitriou | this.activeTarget = target
|
1353 | c3564ce9 | Kostas Papadimitriou | |
1354 | c3564ce9 | Kostas Papadimitriou | $(this.selector) |
1355 | c3564ce9 | Kostas Papadimitriou | .parent('.active')
|
1356 | c3564ce9 | Kostas Papadimitriou | .removeClass('active')
|
1357 | c3564ce9 | Kostas Papadimitriou | |
1358 | c3564ce9 | Kostas Papadimitriou | selector = this.selector
|
1359 | c3564ce9 | Kostas Papadimitriou | + '[data-target="' + target + '"],' |
1360 | c3564ce9 | Kostas Papadimitriou | + this.selector + '[href="' + target + '"]' |
1361 | c3564ce9 | Kostas Papadimitriou | |
1362 | c3564ce9 | Kostas Papadimitriou | active = $(selector)
|
1363 | c3564ce9 | Kostas Papadimitriou | .parent('li')
|
1364 | c3564ce9 | Kostas Papadimitriou | .addClass('active')
|
1365 | c3564ce9 | Kostas Papadimitriou | |
1366 | c3564ce9 | Kostas Papadimitriou | if (active.parent('.dropdown-menu')) { |
1367 | c3564ce9 | Kostas Papadimitriou | active = active.closest('li.dropdown').addClass('active') |
1368 | c3564ce9 | Kostas Papadimitriou | } |
1369 | c3564ce9 | Kostas Papadimitriou | |
1370 | c3564ce9 | Kostas Papadimitriou | active.trigger('activate')
|
1371 | c3564ce9 | Kostas Papadimitriou | } |
1372 | c3564ce9 | Kostas Papadimitriou | |
1373 | c3564ce9 | Kostas Papadimitriou | } |
1374 | c3564ce9 | Kostas Papadimitriou | |
1375 | c3564ce9 | Kostas Papadimitriou | |
1376 | c3564ce9 | Kostas Papadimitriou | /* SCROLLSPY PLUGIN DEFINITION
|
1377 | c3564ce9 | Kostas Papadimitriou | * =========================== */
|
1378 | c3564ce9 | Kostas Papadimitriou | |
1379 | c3564ce9 | Kostas Papadimitriou | $.fn.scrollspy = function ( option ) { |
1380 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
1381 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
1382 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('scrollspy') |
1383 | c3564ce9 | Kostas Papadimitriou | , options = typeof option == 'object' && option |
1384 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options))) |
1385 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
1386 | c3564ce9 | Kostas Papadimitriou | }) |
1387 | c3564ce9 | Kostas Papadimitriou | } |
1388 | c3564ce9 | Kostas Papadimitriou | |
1389 | c3564ce9 | Kostas Papadimitriou | $.fn.scrollspy.Constructor = ScrollSpy
|
1390 | c3564ce9 | Kostas Papadimitriou | |
1391 | c3564ce9 | Kostas Papadimitriou | $.fn.scrollspy.defaults = {
|
1392 | c3564ce9 | Kostas Papadimitriou | offset: 10 |
1393 | c3564ce9 | Kostas Papadimitriou | } |
1394 | c3564ce9 | Kostas Papadimitriou | |
1395 | c3564ce9 | Kostas Papadimitriou | |
1396 | c3564ce9 | Kostas Papadimitriou | /* SCROLLSPY DATA-API
|
1397 | c3564ce9 | Kostas Papadimitriou | * ================== */
|
1398 | c3564ce9 | Kostas Papadimitriou | |
1399 | c3564ce9 | Kostas Papadimitriou | $(function () { |
1400 | c3564ce9 | Kostas Papadimitriou | $('[data-spy="scroll"]').each(function () { |
1401 | c3564ce9 | Kostas Papadimitriou | var $spy = $(this) |
1402 | c3564ce9 | Kostas Papadimitriou | $spy.scrollspy($spy.data()) |
1403 | c3564ce9 | Kostas Papadimitriou | }) |
1404 | c3564ce9 | Kostas Papadimitriou | }) |
1405 | c3564ce9 | Kostas Papadimitriou | |
1406 | c3564ce9 | Kostas Papadimitriou | }(window.jQuery);/* ========================================================
|
1407 | c3564ce9 | Kostas Papadimitriou | * bootstrap-tab.js v2.0.3
|
1408 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#tabs
|
1409 | c3564ce9 | Kostas Papadimitriou | * ========================================================
|
1410 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
1411 | c3564ce9 | Kostas Papadimitriou | *
|
1412 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
1413 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
1414 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
1415 | c3564ce9 | Kostas Papadimitriou | *
|
1416 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
1417 | c3564ce9 | Kostas Papadimitriou | *
|
1418 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
1419 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
1420 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1421 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
1422 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
1423 | c3564ce9 | Kostas Papadimitriou | * ======================================================== */
|
1424 | c3564ce9 | Kostas Papadimitriou | |
1425 | c3564ce9 | Kostas Papadimitriou | |
1426 | c3564ce9 | Kostas Papadimitriou | !function ($) { |
1427 | c3564ce9 | Kostas Papadimitriou | |
1428 | c3564ce9 | Kostas Papadimitriou | "use strict"; // jshint ;_; |
1429 | c3564ce9 | Kostas Papadimitriou | |
1430 | c3564ce9 | Kostas Papadimitriou | |
1431 | c3564ce9 | Kostas Papadimitriou | /* TAB CLASS DEFINITION
|
1432 | c3564ce9 | Kostas Papadimitriou | * ==================== */
|
1433 | c3564ce9 | Kostas Papadimitriou | |
1434 | c3564ce9 | Kostas Papadimitriou | var Tab = function ( element ) { |
1435 | c3564ce9 | Kostas Papadimitriou | this.element = $(element) |
1436 | c3564ce9 | Kostas Papadimitriou | } |
1437 | c3564ce9 | Kostas Papadimitriou | |
1438 | c3564ce9 | Kostas Papadimitriou | Tab.prototype = { |
1439 | c3564ce9 | Kostas Papadimitriou | |
1440 | c3564ce9 | Kostas Papadimitriou | constructor: Tab
|
1441 | c3564ce9 | Kostas Papadimitriou | |
1442 | c3564ce9 | Kostas Papadimitriou | , show: function () { |
1443 | c3564ce9 | Kostas Papadimitriou | var $this = this.element |
1444 | c3564ce9 | Kostas Papadimitriou | , $ul = $this.closest('ul:not(.dropdown-menu)') |
1445 | c3564ce9 | Kostas Papadimitriou | , selector = $this.attr('data-target') |
1446 | c3564ce9 | Kostas Papadimitriou | , previous |
1447 | c3564ce9 | Kostas Papadimitriou | , $target
|
1448 | c3564ce9 | Kostas Papadimitriou | , e |
1449 | c3564ce9 | Kostas Papadimitriou | |
1450 | c3564ce9 | Kostas Papadimitriou | if (!selector) {
|
1451 | c3564ce9 | Kostas Papadimitriou | selector = $this.attr('href') |
1452 | c3564ce9 | Kostas Papadimitriou | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 |
1453 | c3564ce9 | Kostas Papadimitriou | } |
1454 | c3564ce9 | Kostas Papadimitriou | |
1455 | c3564ce9 | Kostas Papadimitriou | if ( $this.parent('li').hasClass('active') ) return |
1456 | c3564ce9 | Kostas Papadimitriou | |
1457 | c3564ce9 | Kostas Papadimitriou | previous = $ul.find('.active a').last()[0] |
1458 | c3564ce9 | Kostas Papadimitriou | |
1459 | c3564ce9 | Kostas Papadimitriou | e = $.Event('show', { |
1460 | c3564ce9 | Kostas Papadimitriou | relatedTarget: previous
|
1461 | c3564ce9 | Kostas Papadimitriou | }) |
1462 | c3564ce9 | Kostas Papadimitriou | |
1463 | c3564ce9 | Kostas Papadimitriou | $this.trigger(e)
|
1464 | c3564ce9 | Kostas Papadimitriou | |
1465 | c3564ce9 | Kostas Papadimitriou | if (e.isDefaultPrevented()) return |
1466 | c3564ce9 | Kostas Papadimitriou | |
1467 | c3564ce9 | Kostas Papadimitriou | $target = $(selector) |
1468 | c3564ce9 | Kostas Papadimitriou | |
1469 | c3564ce9 | Kostas Papadimitriou | this.activate($this.parent('li'), $ul) |
1470 | c3564ce9 | Kostas Papadimitriou | this.activate($target, $target.parent(), function () { |
1471 | c3564ce9 | Kostas Papadimitriou | $this.trigger({
|
1472 | c3564ce9 | Kostas Papadimitriou | type: 'shown' |
1473 | c3564ce9 | Kostas Papadimitriou | , relatedTarget: previous
|
1474 | c3564ce9 | Kostas Papadimitriou | }) |
1475 | c3564ce9 | Kostas Papadimitriou | }) |
1476 | c3564ce9 | Kostas Papadimitriou | } |
1477 | c3564ce9 | Kostas Papadimitriou | |
1478 | c3564ce9 | Kostas Papadimitriou | , activate: function ( element, container, callback) { |
1479 | c3564ce9 | Kostas Papadimitriou | var $active = container.find('> .active') |
1480 | c3564ce9 | Kostas Papadimitriou | , transition = callback |
1481 | c3564ce9 | Kostas Papadimitriou | && $.support.transition
|
1482 | c3564ce9 | Kostas Papadimitriou | && $active.hasClass('fade') |
1483 | c3564ce9 | Kostas Papadimitriou | |
1484 | c3564ce9 | Kostas Papadimitriou | function next() { |
1485 | c3564ce9 | Kostas Papadimitriou | $active
|
1486 | c3564ce9 | Kostas Papadimitriou | .removeClass('active')
|
1487 | c3564ce9 | Kostas Papadimitriou | .find('> .dropdown-menu > .active')
|
1488 | c3564ce9 | Kostas Papadimitriou | .removeClass('active')
|
1489 | c3564ce9 | Kostas Papadimitriou | |
1490 | c3564ce9 | Kostas Papadimitriou | element.addClass('active')
|
1491 | c3564ce9 | Kostas Papadimitriou | |
1492 | c3564ce9 | Kostas Papadimitriou | if (transition) {
|
1493 | c3564ce9 | Kostas Papadimitriou | element[0].offsetWidth // reflow for transition |
1494 | c3564ce9 | Kostas Papadimitriou | element.addClass('in')
|
1495 | c3564ce9 | Kostas Papadimitriou | } else {
|
1496 | c3564ce9 | Kostas Papadimitriou | element.removeClass('fade')
|
1497 | c3564ce9 | Kostas Papadimitriou | } |
1498 | c3564ce9 | Kostas Papadimitriou | |
1499 | c3564ce9 | Kostas Papadimitriou | if ( element.parent('.dropdown-menu') ) { |
1500 | c3564ce9 | Kostas Papadimitriou | element.closest('li.dropdown').addClass('active') |
1501 | c3564ce9 | Kostas Papadimitriou | } |
1502 | c3564ce9 | Kostas Papadimitriou | |
1503 | c3564ce9 | Kostas Papadimitriou | callback && callback() |
1504 | c3564ce9 | Kostas Papadimitriou | } |
1505 | c3564ce9 | Kostas Papadimitriou | |
1506 | c3564ce9 | Kostas Papadimitriou | transition ? |
1507 | c3564ce9 | Kostas Papadimitriou | $active.one($.support.transition.end, next) : |
1508 | c3564ce9 | Kostas Papadimitriou | next() |
1509 | c3564ce9 | Kostas Papadimitriou | |
1510 | c3564ce9 | Kostas Papadimitriou | $active.removeClass('in') |
1511 | c3564ce9 | Kostas Papadimitriou | } |
1512 | c3564ce9 | Kostas Papadimitriou | } |
1513 | c3564ce9 | Kostas Papadimitriou | |
1514 | c3564ce9 | Kostas Papadimitriou | |
1515 | c3564ce9 | Kostas Papadimitriou | /* TAB PLUGIN DEFINITION
|
1516 | c3564ce9 | Kostas Papadimitriou | * ===================== */
|
1517 | c3564ce9 | Kostas Papadimitriou | |
1518 | c3564ce9 | Kostas Papadimitriou | $.fn.tab = function ( option ) { |
1519 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
1520 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
1521 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('tab') |
1522 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('tab', (data = new Tab(this))) |
1523 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
1524 | c3564ce9 | Kostas Papadimitriou | }) |
1525 | c3564ce9 | Kostas Papadimitriou | } |
1526 | c3564ce9 | Kostas Papadimitriou | |
1527 | c3564ce9 | Kostas Papadimitriou | $.fn.tab.Constructor = Tab
|
1528 | c3564ce9 | Kostas Papadimitriou | |
1529 | c3564ce9 | Kostas Papadimitriou | |
1530 | c3564ce9 | Kostas Papadimitriou | /* TAB DATA-API
|
1531 | c3564ce9 | Kostas Papadimitriou | * ============ */
|
1532 | c3564ce9 | Kostas Papadimitriou | |
1533 | c3564ce9 | Kostas Papadimitriou | $(function () { |
1534 | c3564ce9 | Kostas Papadimitriou | $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { |
1535 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
1536 | c3564ce9 | Kostas Papadimitriou | $(this).tab('show') |
1537 | c3564ce9 | Kostas Papadimitriou | }) |
1538 | c3564ce9 | Kostas Papadimitriou | }) |
1539 | c3564ce9 | Kostas Papadimitriou | |
1540 | 7f841ad2 | Olga Brani | }(window.jQuery); |
1541 | 7f841ad2 | Olga Brani | /* =============================================================
|
1542 | 080d1457 | Kostas Papadimitriou | * bootstrap-typeahead.js v2.0.0
|
1543 | c3564ce9 | Kostas Papadimitriou | * http://twitter.github.com/bootstrap/javascript.html#typeahead
|
1544 | c3564ce9 | Kostas Papadimitriou | * =============================================================
|
1545 | c3564ce9 | Kostas Papadimitriou | * Copyright 2012 Twitter, Inc.
|
1546 | c3564ce9 | Kostas Papadimitriou | *
|
1547 | c3564ce9 | Kostas Papadimitriou | * Licensed under the Apache License, Version 2.0 (the "License");
|
1548 | c3564ce9 | Kostas Papadimitriou | * you may not use this file except in compliance with the License.
|
1549 | c3564ce9 | Kostas Papadimitriou | * You may obtain a copy of the License at
|
1550 | c3564ce9 | Kostas Papadimitriou | *
|
1551 | c3564ce9 | Kostas Papadimitriou | * http://www.apache.org/licenses/LICENSE-2.0
|
1552 | c3564ce9 | Kostas Papadimitriou | *
|
1553 | c3564ce9 | Kostas Papadimitriou | * Unless required by applicable law or agreed to in writing, software
|
1554 | c3564ce9 | Kostas Papadimitriou | * distributed under the License is distributed on an "AS IS" BASIS,
|
1555 | c3564ce9 | Kostas Papadimitriou | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1556 | c3564ce9 | Kostas Papadimitriou | * See the License for the specific language governing permissions and
|
1557 | c3564ce9 | Kostas Papadimitriou | * limitations under the License.
|
1558 | c3564ce9 | Kostas Papadimitriou | * ============================================================ */
|
1559 | c3564ce9 | Kostas Papadimitriou | |
1560 | 080d1457 | Kostas Papadimitriou | !function( $ ){ |
1561 | c3564ce9 | Kostas Papadimitriou | |
1562 | 080d1457 | Kostas Papadimitriou | "use strict"
|
1563 | c3564ce9 | Kostas Papadimitriou | |
1564 | 080d1457 | Kostas Papadimitriou | var Typeahead = function ( element, options ) { |
1565 | c3564ce9 | Kostas Papadimitriou | this.$element = $(element) |
1566 | c3564ce9 | Kostas Papadimitriou | this.options = $.extend({}, $.fn.typeahead.defaults, options) |
1567 | c3564ce9 | Kostas Papadimitriou | this.matcher = this.options.matcher || this.matcher |
1568 | c3564ce9 | Kostas Papadimitriou | this.sorter = this.options.sorter || this.sorter |
1569 | c3564ce9 | Kostas Papadimitriou | this.highlighter = this.options.highlighter || this.highlighter |
1570 | c3564ce9 | Kostas Papadimitriou | this.$menu = $(this.options.menu).appendTo('body') |
1571 | c3564ce9 | Kostas Papadimitriou | this.source = this.options.source |
1572 | 080d1457 | Kostas Papadimitriou | this.onselect = this.options.onselect |
1573 | 080d1457 | Kostas Papadimitriou | this.strings = true |
1574 | c3564ce9 | Kostas Papadimitriou | this.shown = false |
1575 | c3564ce9 | Kostas Papadimitriou | this.listen()
|
1576 | c3564ce9 | Kostas Papadimitriou | } |
1577 | c3564ce9 | Kostas Papadimitriou | |
1578 | c3564ce9 | Kostas Papadimitriou | Typeahead.prototype = { |
1579 | c3564ce9 | Kostas Papadimitriou | |
1580 | c3564ce9 | Kostas Papadimitriou | constructor: Typeahead
|
1581 | c3564ce9 | Kostas Papadimitriou | |
1582 | c3564ce9 | Kostas Papadimitriou | , select: function () { |
1583 | 080d1457 | Kostas Papadimitriou | var val = JSON.parse(this.$menu.find('.active').attr('data-value')) |
1584 | 080d1457 | Kostas Papadimitriou | , text |
1585 | 080d1457 | Kostas Papadimitriou | |
1586 | 080d1457 | Kostas Papadimitriou | if (!this.strings) text = val[this.options.property] |
1587 | 080d1457 | Kostas Papadimitriou | else text = val
|
1588 | 080d1457 | Kostas Papadimitriou | |
1589 | 080d1457 | Kostas Papadimitriou | this.$element.val(text) |
1590 | c3564ce9 | Kostas Papadimitriou | |
1591 | 080d1457 | Kostas Papadimitriou | if (typeof this.onselect == "function") |
1592 | 080d1457 | Kostas Papadimitriou | this.onselect(val)
|
1593 | 080d1457 | Kostas Papadimitriou | |
1594 | 080d1457 | Kostas Papadimitriou | return this.hide() |
1595 | c3564ce9 | Kostas Papadimitriou | } |
1596 | c3564ce9 | Kostas Papadimitriou | |
1597 | c3564ce9 | Kostas Papadimitriou | , show: function () { |
1598 | c3564ce9 | Kostas Papadimitriou | var pos = $.extend({}, this.$element.offset(), { |
1599 | c3564ce9 | Kostas Papadimitriou | height: this.$element[0].offsetHeight |
1600 | c3564ce9 | Kostas Papadimitriou | }) |
1601 | c3564ce9 | Kostas Papadimitriou | |
1602 | c3564ce9 | Kostas Papadimitriou | this.$menu.css({ |
1603 | c3564ce9 | Kostas Papadimitriou | top: pos.top + pos.height
|
1604 | c3564ce9 | Kostas Papadimitriou | , left: pos.left
|
1605 | c3564ce9 | Kostas Papadimitriou | }) |
1606 | c3564ce9 | Kostas Papadimitriou | |
1607 | c3564ce9 | Kostas Papadimitriou | this.$menu.show() |
1608 | c3564ce9 | Kostas Papadimitriou | this.shown = true |
1609 | c3564ce9 | Kostas Papadimitriou | return this |
1610 | c3564ce9 | Kostas Papadimitriou | } |
1611 | c3564ce9 | Kostas Papadimitriou | |
1612 | c3564ce9 | Kostas Papadimitriou | , hide: function () { |
1613 | c3564ce9 | Kostas Papadimitriou | this.$menu.hide() |
1614 | c3564ce9 | Kostas Papadimitriou | this.shown = false |
1615 | c3564ce9 | Kostas Papadimitriou | return this |
1616 | c3564ce9 | Kostas Papadimitriou | } |
1617 | c3564ce9 | Kostas Papadimitriou | |
1618 | c3564ce9 | Kostas Papadimitriou | , lookup: function (event) { |
1619 | c3564ce9 | Kostas Papadimitriou | var that = this |
1620 | c3564ce9 | Kostas Papadimitriou | , items |
1621 | c3564ce9 | Kostas Papadimitriou | , q |
1622 | 080d1457 | Kostas Papadimitriou | , value |
1623 | 080d1457 | Kostas Papadimitriou | |
1624 | 080d1457 | Kostas Papadimitriou | this.query = this.$element.val() |
1625 | 080d1457 | Kostas Papadimitriou | |
1626 | 080d1457 | Kostas Papadimitriou | if (typeof this.source == "function") { |
1627 | 080d1457 | Kostas Papadimitriou | value = this.source(this, this.query) |
1628 | 080d1457 | Kostas Papadimitriou | if (value) this.process(value) |
1629 | 080d1457 | Kostas Papadimitriou | } else {
|
1630 | 080d1457 | Kostas Papadimitriou | this.process(this.source) |
1631 | 080d1457 | Kostas Papadimitriou | } |
1632 | 080d1457 | Kostas Papadimitriou | } |
1633 | 080d1457 | Kostas Papadimitriou | |
1634 | 080d1457 | Kostas Papadimitriou | , process: function (results) { |
1635 | 080d1457 | Kostas Papadimitriou | var that = this |
1636 | 080d1457 | Kostas Papadimitriou | , items |
1637 | 080d1457 | Kostas Papadimitriou | , q |
1638 | 080d1457 | Kostas Papadimitriou | |
1639 | 080d1457 | Kostas Papadimitriou | if (results.length && typeof results[0] != "string") |
1640 | 080d1457 | Kostas Papadimitriou | this.strings = false |
1641 | c3564ce9 | Kostas Papadimitriou | |
1642 | c3564ce9 | Kostas Papadimitriou | this.query = this.$element.val() |
1643 | c3564ce9 | Kostas Papadimitriou | |
1644 | c3564ce9 | Kostas Papadimitriou | if (!this.query) { |
1645 | c3564ce9 | Kostas Papadimitriou | return this.shown ? this.hide() : this |
1646 | c3564ce9 | Kostas Papadimitriou | } |
1647 | c3564ce9 | Kostas Papadimitriou | |
1648 | 080d1457 | Kostas Papadimitriou | items = $.grep(results, function (item) { |
1649 | 080d1457 | Kostas Papadimitriou | if (!that.strings)
|
1650 | 080d1457 | Kostas Papadimitriou | item = item[that.options.property] |
1651 | 080d1457 | Kostas Papadimitriou | if (that.matcher(item)) return item |
1652 | c3564ce9 | Kostas Papadimitriou | }) |
1653 | c3564ce9 | Kostas Papadimitriou | |
1654 | c3564ce9 | Kostas Papadimitriou | items = this.sorter(items)
|
1655 | c3564ce9 | Kostas Papadimitriou | |
1656 | c3564ce9 | Kostas Papadimitriou | if (!items.length) {
|
1657 | c3564ce9 | Kostas Papadimitriou | return this.shown ? this.hide() : this |
1658 | c3564ce9 | Kostas Papadimitriou | } |
1659 | c3564ce9 | Kostas Papadimitriou | |
1660 | c3564ce9 | Kostas Papadimitriou | return this.render(items.slice(0, this.options.items)).show() |
1661 | c3564ce9 | Kostas Papadimitriou | } |
1662 | c3564ce9 | Kostas Papadimitriou | |
1663 | c3564ce9 | Kostas Papadimitriou | , matcher: function (item) { |
1664 | c3564ce9 | Kostas Papadimitriou | return ~item.toLowerCase().indexOf(this.query.toLowerCase()) |
1665 | c3564ce9 | Kostas Papadimitriou | } |
1666 | c3564ce9 | Kostas Papadimitriou | |
1667 | c3564ce9 | Kostas Papadimitriou | , sorter: function (items) { |
1668 | c3564ce9 | Kostas Papadimitriou | var beginswith = []
|
1669 | c3564ce9 | Kostas Papadimitriou | , caseSensitive = [] |
1670 | c3564ce9 | Kostas Papadimitriou | , caseInsensitive = [] |
1671 | c3564ce9 | Kostas Papadimitriou | , item |
1672 | 080d1457 | Kostas Papadimitriou | , sortby |
1673 | c3564ce9 | Kostas Papadimitriou | |
1674 | c3564ce9 | Kostas Papadimitriou | while (item = items.shift()) {
|
1675 | 080d1457 | Kostas Papadimitriou | if (this.strings) sortby = item |
1676 | 080d1457 | Kostas Papadimitriou | else sortby = item[this.options.property] |
1677 | 080d1457 | Kostas Papadimitriou | |
1678 | 080d1457 | Kostas Papadimitriou | if (!sortby.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item) |
1679 | 080d1457 | Kostas Papadimitriou | else if (~sortby.indexOf(this.query)) caseSensitive.push(item) |
1680 | c3564ce9 | Kostas Papadimitriou | else caseInsensitive.push(item)
|
1681 | c3564ce9 | Kostas Papadimitriou | } |
1682 | c3564ce9 | Kostas Papadimitriou | |
1683 | c3564ce9 | Kostas Papadimitriou | return beginswith.concat(caseSensitive, caseInsensitive)
|
1684 | c3564ce9 | Kostas Papadimitriou | } |
1685 | c3564ce9 | Kostas Papadimitriou | |
1686 | c3564ce9 | Kostas Papadimitriou | , highlighter: function (item) { |
1687 | 080d1457 | Kostas Papadimitriou | return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) { |
1688 | c3564ce9 | Kostas Papadimitriou | return '<strong>' + match + '</strong>' |
1689 | c3564ce9 | Kostas Papadimitriou | }) |
1690 | c3564ce9 | Kostas Papadimitriou | } |
1691 | c3564ce9 | Kostas Papadimitriou | |
1692 | c3564ce9 | Kostas Papadimitriou | , render: function (items) { |
1693 | c3564ce9 | Kostas Papadimitriou | var that = this |
1694 | c3564ce9 | Kostas Papadimitriou | |
1695 | c3564ce9 | Kostas Papadimitriou | items = $(items).map(function (i, item) { |
1696 | 080d1457 | Kostas Papadimitriou | i = $(that.options.item).attr('data-value', JSON.stringify(item)) |
1697 | 080d1457 | Kostas Papadimitriou | if (!that.strings)
|
1698 | 080d1457 | Kostas Papadimitriou | item = item[that.options.property] |
1699 | c3564ce9 | Kostas Papadimitriou | i.find('a').html(that.highlighter(item))
|
1700 | c3564ce9 | Kostas Papadimitriou | return i[0] |
1701 | c3564ce9 | Kostas Papadimitriou | }) |
1702 | c3564ce9 | Kostas Papadimitriou | |
1703 | c3564ce9 | Kostas Papadimitriou | items.first().addClass('active')
|
1704 | c3564ce9 | Kostas Papadimitriou | this.$menu.html(items) |
1705 | c3564ce9 | Kostas Papadimitriou | return this |
1706 | c3564ce9 | Kostas Papadimitriou | } |
1707 | c3564ce9 | Kostas Papadimitriou | |
1708 | c3564ce9 | Kostas Papadimitriou | , next: function (event) { |
1709 | c3564ce9 | Kostas Papadimitriou | var active = this.$menu.find('.active').removeClass('active') |
1710 | c3564ce9 | Kostas Papadimitriou | , next = active.next() |
1711 | c3564ce9 | Kostas Papadimitriou | |
1712 | c3564ce9 | Kostas Papadimitriou | if (!next.length) {
|
1713 | c3564ce9 | Kostas Papadimitriou | next = $(this.$menu.find('li')[0]) |
1714 | c3564ce9 | Kostas Papadimitriou | } |
1715 | c3564ce9 | Kostas Papadimitriou | |
1716 | c3564ce9 | Kostas Papadimitriou | next.addClass('active')
|
1717 | c3564ce9 | Kostas Papadimitriou | } |
1718 | c3564ce9 | Kostas Papadimitriou | |
1719 | c3564ce9 | Kostas Papadimitriou | , prev: function (event) { |
1720 | c3564ce9 | Kostas Papadimitriou | var active = this.$menu.find('.active').removeClass('active') |
1721 | c3564ce9 | Kostas Papadimitriou | , prev = active.prev() |
1722 | c3564ce9 | Kostas Papadimitriou | |
1723 | c3564ce9 | Kostas Papadimitriou | if (!prev.length) {
|
1724 | c3564ce9 | Kostas Papadimitriou | prev = this.$menu.find('li').last() |
1725 | c3564ce9 | Kostas Papadimitriou | } |
1726 | c3564ce9 | Kostas Papadimitriou | |
1727 | c3564ce9 | Kostas Papadimitriou | prev.addClass('active')
|
1728 | c3564ce9 | Kostas Papadimitriou | } |
1729 | c3564ce9 | Kostas Papadimitriou | |
1730 | c3564ce9 | Kostas Papadimitriou | , listen: function () { |
1731 | c3564ce9 | Kostas Papadimitriou | this.$element |
1732 | c3564ce9 | Kostas Papadimitriou | .on('blur', $.proxy(this.blur, this)) |
1733 | c3564ce9 | Kostas Papadimitriou | .on('keypress', $.proxy(this.keypress, this)) |
1734 | c3564ce9 | Kostas Papadimitriou | .on('keyup', $.proxy(this.keyup, this)) |
1735 | c3564ce9 | Kostas Papadimitriou | |
1736 | c3564ce9 | Kostas Papadimitriou | if ($.browser.webkit || $.browser.msie) { |
1737 | c3564ce9 | Kostas Papadimitriou | this.$element.on('keydown', $.proxy(this.keypress, this)) |
1738 | c3564ce9 | Kostas Papadimitriou | } |
1739 | c3564ce9 | Kostas Papadimitriou | |
1740 | c3564ce9 | Kostas Papadimitriou | this.$menu |
1741 | c3564ce9 | Kostas Papadimitriou | .on('click', $.proxy(this.click, this)) |
1742 | c3564ce9 | Kostas Papadimitriou | .on('mouseenter', 'li', $.proxy(this.mouseenter, this)) |
1743 | c3564ce9 | Kostas Papadimitriou | } |
1744 | c3564ce9 | Kostas Papadimitriou | |
1745 | c3564ce9 | Kostas Papadimitriou | , keyup: function (e) { |
1746 | 080d1457 | Kostas Papadimitriou | e.stopPropagation() |
1747 | 080d1457 | Kostas Papadimitriou | e.preventDefault() |
1748 | 080d1457 | Kostas Papadimitriou | |
1749 | c3564ce9 | Kostas Papadimitriou | switch(e.keyCode) {
|
1750 | c3564ce9 | Kostas Papadimitriou | case 40: // down arrow |
1751 | c3564ce9 | Kostas Papadimitriou | case 38: // up arrow |
1752 | c3564ce9 | Kostas Papadimitriou | break
|
1753 | c3564ce9 | Kostas Papadimitriou | |
1754 | c3564ce9 | Kostas Papadimitriou | case 9: // tab |
1755 | c3564ce9 | Kostas Papadimitriou | case 13: // enter |
1756 | c3564ce9 | Kostas Papadimitriou | if (!this.shown) return |
1757 | c3564ce9 | Kostas Papadimitriou | this.select()
|
1758 | c3564ce9 | Kostas Papadimitriou | break
|
1759 | c3564ce9 | Kostas Papadimitriou | |
1760 | c3564ce9 | Kostas Papadimitriou | case 27: // escape |
1761 | c3564ce9 | Kostas Papadimitriou | this.hide()
|
1762 | c3564ce9 | Kostas Papadimitriou | break
|
1763 | c3564ce9 | Kostas Papadimitriou | |
1764 | c3564ce9 | Kostas Papadimitriou | default:
|
1765 | c3564ce9 | Kostas Papadimitriou | this.lookup()
|
1766 | c3564ce9 | Kostas Papadimitriou | } |
1767 | c3564ce9 | Kostas Papadimitriou | |
1768 | c3564ce9 | Kostas Papadimitriou | } |
1769 | c3564ce9 | Kostas Papadimitriou | |
1770 | c3564ce9 | Kostas Papadimitriou | , keypress: function (e) { |
1771 | 080d1457 | Kostas Papadimitriou | e.stopPropagation() |
1772 | c3564ce9 | Kostas Papadimitriou | if (!this.shown) return |
1773 | c3564ce9 | Kostas Papadimitriou | |
1774 | c3564ce9 | Kostas Papadimitriou | switch(e.keyCode) {
|
1775 | c3564ce9 | Kostas Papadimitriou | case 9: // tab |
1776 | c3564ce9 | Kostas Papadimitriou | case 13: // enter |
1777 | c3564ce9 | Kostas Papadimitriou | case 27: // escape |
1778 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
1779 | c3564ce9 | Kostas Papadimitriou | break
|
1780 | c3564ce9 | Kostas Papadimitriou | |
1781 | c3564ce9 | Kostas Papadimitriou | case 38: // up arrow |
1782 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
1783 | c3564ce9 | Kostas Papadimitriou | this.prev()
|
1784 | c3564ce9 | Kostas Papadimitriou | break
|
1785 | c3564ce9 | Kostas Papadimitriou | |
1786 | c3564ce9 | Kostas Papadimitriou | case 40: // down arrow |
1787 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
1788 | c3564ce9 | Kostas Papadimitriou | this.next()
|
1789 | c3564ce9 | Kostas Papadimitriou | break
|
1790 | c3564ce9 | Kostas Papadimitriou | } |
1791 | c3564ce9 | Kostas Papadimitriou | } |
1792 | c3564ce9 | Kostas Papadimitriou | |
1793 | c3564ce9 | Kostas Papadimitriou | , blur: function (e) { |
1794 | c3564ce9 | Kostas Papadimitriou | var that = this |
1795 | 080d1457 | Kostas Papadimitriou | e.stopPropagation() |
1796 | 080d1457 | Kostas Papadimitriou | e.preventDefault() |
1797 | c3564ce9 | Kostas Papadimitriou | setTimeout(function () { that.hide() }, 150) |
1798 | c3564ce9 | Kostas Papadimitriou | } |
1799 | c3564ce9 | Kostas Papadimitriou | |
1800 | c3564ce9 | Kostas Papadimitriou | , click: function (e) { |
1801 | c3564ce9 | Kostas Papadimitriou | e.stopPropagation() |
1802 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
1803 | c3564ce9 | Kostas Papadimitriou | this.select()
|
1804 | c3564ce9 | Kostas Papadimitriou | } |
1805 | c3564ce9 | Kostas Papadimitriou | |
1806 | c3564ce9 | Kostas Papadimitriou | , mouseenter: function (e) { |
1807 | c3564ce9 | Kostas Papadimitriou | this.$menu.find('.active').removeClass('active') |
1808 | c3564ce9 | Kostas Papadimitriou | $(e.currentTarget).addClass('active') |
1809 | c3564ce9 | Kostas Papadimitriou | } |
1810 | c3564ce9 | Kostas Papadimitriou | |
1811 | c3564ce9 | Kostas Papadimitriou | } |
1812 | c3564ce9 | Kostas Papadimitriou | |
1813 | c3564ce9 | Kostas Papadimitriou | |
1814 | c3564ce9 | Kostas Papadimitriou | /* TYPEAHEAD PLUGIN DEFINITION
|
1815 | c3564ce9 | Kostas Papadimitriou | * =========================== */
|
1816 | c3564ce9 | Kostas Papadimitriou | |
1817 | 080d1457 | Kostas Papadimitriou | $.fn.typeahead = function ( option ) { |
1818 | c3564ce9 | Kostas Papadimitriou | return this.each(function () { |
1819 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
1820 | c3564ce9 | Kostas Papadimitriou | , data = $this.data('typeahead') |
1821 | c3564ce9 | Kostas Papadimitriou | , options = typeof option == 'object' && option |
1822 | c3564ce9 | Kostas Papadimitriou | if (!data) $this.data('typeahead', (data = new Typeahead(this, options))) |
1823 | c3564ce9 | Kostas Papadimitriou | if (typeof option == 'string') data[option]() |
1824 | c3564ce9 | Kostas Papadimitriou | }) |
1825 | c3564ce9 | Kostas Papadimitriou | } |
1826 | c3564ce9 | Kostas Papadimitriou | |
1827 | c3564ce9 | Kostas Papadimitriou | $.fn.typeahead.defaults = {
|
1828 | c3564ce9 | Kostas Papadimitriou | source: []
|
1829 | c3564ce9 | Kostas Papadimitriou | , items: 8 |
1830 | c3564ce9 | Kostas Papadimitriou | , menu: '<ul class="typeahead dropdown-menu"></ul>' |
1831 | c3564ce9 | Kostas Papadimitriou | , item: '<li><a href="#"></a></li>' |
1832 | 080d1457 | Kostas Papadimitriou | , onselect: null |
1833 | 080d1457 | Kostas Papadimitriou | , property: 'value' |
1834 | c3564ce9 | Kostas Papadimitriou | } |
1835 | c3564ce9 | Kostas Papadimitriou | |
1836 | c3564ce9 | Kostas Papadimitriou | $.fn.typeahead.Constructor = Typeahead
|
1837 | c3564ce9 | Kostas Papadimitriou | |
1838 | c3564ce9 | Kostas Papadimitriou | |
1839 | c3564ce9 | Kostas Papadimitriou | /* TYPEAHEAD DATA-API
|
1840 | c3564ce9 | Kostas Papadimitriou | * ================== */
|
1841 | c3564ce9 | Kostas Papadimitriou | |
1842 | c3564ce9 | Kostas Papadimitriou | $(function () { |
1843 | c3564ce9 | Kostas Papadimitriou | $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { |
1844 | c3564ce9 | Kostas Papadimitriou | var $this = $(this) |
1845 | c3564ce9 | Kostas Papadimitriou | if ($this.data('typeahead')) return |
1846 | c3564ce9 | Kostas Papadimitriou | e.preventDefault() |
1847 | c3564ce9 | Kostas Papadimitriou | $this.typeahead($this.data()) |
1848 | c3564ce9 | Kostas Papadimitriou | }) |
1849 | c3564ce9 | Kostas Papadimitriou | }) |
1850 | c3564ce9 | Kostas Papadimitriou | |
1851 | 080d1457 | Kostas Papadimitriou | }( window.jQuery ); |