| 
									
										
										
										
											2013-05-22 10:30:33 +08:00
										 |  |  | /* ======================================================================== | 
					
						
							| 
									
										
										
										
											2013-05-17 02:06:30 +08:00
										 |  |  |  * Bootstrap: modal.js v3.0.0 | 
					
						
							| 
									
										
										
										
											2013-07-26 03:24:13 +08:00
										 |  |  |  * http://twbs.github.com/bootstrap/javascript.html#modals
 | 
					
						
							| 
									
										
										
										
											2013-05-22 10:30:33 +08:00
										 |  |  |  * ======================================================================== | 
					
						
							| 
									
										
										
										
											2013-10-23 00:41:33 +08:00
										 |  |  |  * Copyright 2013 Twitter, Inc. | 
					
						
							| 
									
										
										
										
											2011-09-11 13:24:31 +08:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  |  * you may not use this file except in compliance with the License. | 
					
						
							|  |  |  |  * You may obtain a copy of the License at | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * http://www.apache.org/licenses/LICENSE-2.0
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  |  * distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  |  * See the License for the specific language governing permissions and | 
					
						
							|  |  |  |  * limitations under the License. | 
					
						
							| 
									
										
										
										
											2013-05-22 10:30:33 +08:00
										 |  |  |  * ======================================================================== */ | 
					
						
							| 
									
										
										
										
											2011-09-11 13:24:31 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-22 10:30:33 +08:00
										 |  |  | +function ($) { "use strict"; | 
					
						
							| 
									
										
										
										
											2012-04-15 07:29:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   // MODAL CLASS DEFINITION
 | 
					
						
							|  |  |  |   // ======================
 | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-23 09:28:39 +08:00
										 |  |  |   var Modal = function (element, options) { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.options   = options | 
					
						
							| 
									
										
										
										
											2013-08-18 05:24:38 +08:00
										 |  |  |     this.$element  = $(element) | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.$backdrop = | 
					
						
							|  |  |  |     this.isShown   = null | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-12 06:17:04 +08:00
										 |  |  |     if (this.options.remote) this.$element.load(this.options.remote) | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   Modal.DEFAULTS = { | 
					
						
							|  |  |  |       backdrop: true | 
					
						
							|  |  |  |     , keyboard: true | 
					
						
							|  |  |  |     , show: true | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-12-01 14:42:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |   Modal.prototype.toggle = function (_relatedTarget) { | 
					
						
							|  |  |  |     return this[!this.isShown ? 'show' : 'hide'](_relatedTarget) | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-09-11 13:14:57 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |   Modal.prototype.show = function (_relatedTarget) { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     var that = this | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |     var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) | 
					
						
							| 
									
										
										
										
											2011-11-25 12:04:07 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.$element.trigger(e) | 
					
						
							| 
									
										
										
										
											2012-03-25 08:50:21 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     if (this.isShown || e.isDefaultPrevented()) return | 
					
						
							| 
									
										
										
										
											2011-11-25 12:04:07 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.isShown = true | 
					
						
							| 
									
										
										
										
											2011-09-11 09:13:37 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.escape() | 
					
						
							| 
									
										
										
										
											2012-05-17 10:09:57 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-18 05:24:38 +08:00
										 |  |  |     this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.backdrop(function () { | 
					
						
							|  |  |  |       var transition = $.support.transition && that.$element.hasClass('fade') | 
					
						
							| 
									
										
										
										
											2011-11-21 10:19:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       if (!that.$element.parent().length) { | 
					
						
							| 
									
										
										
										
											2013-05-25 14:53:44 +08:00
										 |  |  |         that.$element.appendTo(document.body) // don't move modals dom position
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2012-01-09 06:36:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       that.$element.show() | 
					
						
							| 
									
										
										
										
											2011-11-21 10:19:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       if (transition) { | 
					
						
							|  |  |  |         that.$element[0].offsetWidth // force reflow
 | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2011-11-21 10:19:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       that.$element | 
					
						
							|  |  |  |         .addClass('in') | 
					
						
							|  |  |  |         .attr('aria-hidden', false) | 
					
						
							| 
									
										
										
										
											2011-11-21 10:19:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       that.enforceFocus() | 
					
						
							| 
									
										
										
										
											2012-05-17 10:09:57 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |       var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       transition ? | 
					
						
							| 
									
										
										
										
											2013-08-18 06:05:59 +08:00
										 |  |  |         that.$element.find('.modal-dialog') // wait for modal to slide in
 | 
					
						
							| 
									
										
										
										
											2013-07-24 09:44:08 +08:00
										 |  |  |           .one($.support.transition.end, function () { | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |             that.$element.focus().trigger(e) | 
					
						
							| 
									
										
										
										
											2013-07-24 09:44:08 +08:00
										 |  |  |           }) | 
					
						
							|  |  |  |           .emulateTransitionEnd(300) : | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |         that.$element.focus().trigger(e) | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     }) | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-09-10 13:47:49 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:44:50 +08:00
										 |  |  |   Modal.prototype.hide = function (e) { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     if (e) e.preventDefault() | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |     e = $.Event('hide.bs.modal') | 
					
						
							| 
									
										
										
										
											2012-03-25 08:50:21 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.$element.trigger(e) | 
					
						
							| 
									
										
										
										
											2012-03-25 08:50:21 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     if (!this.isShown || e.isDefaultPrevented()) return | 
					
						
							| 
									
										
										
										
											2012-03-25 08:50:21 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.isShown = false | 
					
						
							| 
									
										
										
										
											2012-03-25 08:50:21 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.escape() | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |     $(document).off('focusin.bs.modal') | 
					
						
							| 
									
										
										
										
											2012-05-17 10:43:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.$element | 
					
						
							|  |  |  |       .removeClass('in') | 
					
						
							|  |  |  |       .attr('aria-hidden', true) | 
					
						
							| 
									
										
										
										
											2013-08-11 04:35:20 +08:00
										 |  |  |       .off('click.dismiss.modal') | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     $.support.transition && this.$element.hasClass('fade') ? | 
					
						
							| 
									
										
										
										
											2013-07-24 09:44:08 +08:00
										 |  |  |       this.$element | 
					
						
							|  |  |  |         .one($.support.transition.end, $.proxy(this.hideModal, this)) | 
					
						
							|  |  |  |         .emulateTransitionEnd(300) : | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       this.hideModal() | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   Modal.prototype.enforceFocus = function () { | 
					
						
							| 
									
										
										
										
											2013-05-25 14:53:44 +08:00
										 |  |  |     $(document) | 
					
						
							|  |  |  |       .off('focusin.bs.modal') // guard against infinite focus loop
 | 
					
						
							| 
									
										
										
										
											2013-05-29 23:24:00 +08:00
										 |  |  |       .on('focusin.bs.modal', $.proxy(function (e) { | 
					
						
							|  |  |  |         if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { | 
					
						
							|  |  |  |           this.$element.focus() | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       }, this)) | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   Modal.prototype.escape = function () { | 
					
						
							|  |  |  |     if (this.isShown && this.options.keyboard) { | 
					
						
							| 
									
										
										
										
											2013-05-29 23:24:00 +08:00
										 |  |  |       this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |         e.which == 27 && this.hide() | 
					
						
							| 
									
										
										
										
											2013-05-29 23:24:00 +08:00
										 |  |  |       }, this)) | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     } else if (!this.isShown) { | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |       this.$element.off('keyup.dismiss.bs.modal') | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-11-21 10:19:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   Modal.prototype.hideModal = function () { | 
					
						
							|  |  |  |     var that = this | 
					
						
							|  |  |  |     this.$element.hide() | 
					
						
							|  |  |  |     this.backdrop(function () { | 
					
						
							|  |  |  |       that.removeBackdrop() | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |       that.$element.trigger('hidden.bs.modal') | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     }) | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-11-25 12:04:07 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:44:50 +08:00
										 |  |  |   Modal.prototype.removeBackdrop = function () { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     this.$backdrop && this.$backdrop.remove() | 
					
						
							|  |  |  |     this.$backdrop = null | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2011-10-05 12:48:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:44:50 +08:00
										 |  |  |   Modal.prototype.backdrop = function (callback) { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     var that    = this | 
					
						
							|  |  |  |     var animate = this.$element.hasClass('fade') ? 'fade' : '' | 
					
						
							| 
									
										
										
										
											2011-09-12 11:08:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     if (this.isShown && this.options.backdrop) { | 
					
						
							|  |  |  |       var doAnimate = $.support.transition && animate | 
					
						
							| 
									
										
										
										
											2011-10-05 12:48:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') | 
					
						
							|  |  |  |         .appendTo(document.body) | 
					
						
							| 
									
										
										
										
											2011-10-05 12:48:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-11 04:35:20 +08:00
										 |  |  |       this.$element.on('click.dismiss.modal', $.proxy(function (e) { | 
					
						
							| 
									
										
										
										
											2013-07-18 14:01:33 +08:00
										 |  |  |         if (e.target !== e.currentTarget) return | 
					
						
							|  |  |  |         this.options.backdrop == 'static' | 
					
						
							|  |  |  |           ? this.$element[0].focus.call(this.$element[0]) | 
					
						
							|  |  |  |           : this.hide.call(this) | 
					
						
							|  |  |  |       }, this)) | 
					
						
							| 
									
										
										
										
											2011-10-05 12:48:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
 | 
					
						
							| 
									
										
										
										
											2011-10-05 12:48:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       this.$backdrop.addClass('in') | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       if (!callback) return | 
					
						
							| 
									
										
										
										
											2013-02-08 11:45:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       doAnimate ? | 
					
						
							| 
									
										
										
										
											2013-07-24 09:44:08 +08:00
										 |  |  |         this.$backdrop | 
					
						
							|  |  |  |           .one($.support.transition.end, callback) | 
					
						
							|  |  |  |           .emulateTransitionEnd(150) : | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |         callback() | 
					
						
							| 
									
										
										
										
											2011-11-21 10:19:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     } else if (!this.isShown && this.$backdrop) { | 
					
						
							|  |  |  |       this.$backdrop.removeClass('in') | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       $.support.transition && this.$element.hasClass('fade')? | 
					
						
							| 
									
										
										
										
											2013-07-24 09:44:08 +08:00
										 |  |  |         this.$backdrop | 
					
						
							|  |  |  |           .one($.support.transition.end, callback) | 
					
						
							|  |  |  |           .emulateTransitionEnd(150) : | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |         callback() | 
					
						
							| 
									
										
										
										
											2011-10-20 12:56:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     } else if (callback) { | 
					
						
							|  |  |  |       callback() | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   // MODAL PLUGIN DEFINITION
 | 
					
						
							|  |  |  |   // =======================
 | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-08 06:06:01 +08:00
										 |  |  |   var old = $.fn.modal | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |   $.fn.modal = function (option, _relatedTarget) { | 
					
						
							| 
									
										
										
										
											2011-11-25 12:04:07 +08:00
										 |  |  |     return this.each(function () { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       var $this   = $(this) | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |       var data    = $this.data('bs.modal') | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |       var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |       if (!data) $this.data('bs.modal', (data = new Modal(this, options))) | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |       if (typeof option == 'string') data[option](_relatedTarget) | 
					
						
							|  |  |  |       else if (options.show) data.show(_relatedTarget) | 
					
						
							| 
									
										
										
										
											2011-11-25 12:04:07 +08:00
										 |  |  |     }) | 
					
						
							| 
									
										
										
										
											2011-08-27 14:57:35 +08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-21 15:28:48 +08:00
										 |  |  |   $.fn.modal.Constructor = Modal | 
					
						
							| 
									
										
										
										
											2011-11-25 12:04:07 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-12 11:08:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   // MODAL NO CONFLICT
 | 
					
						
							|  |  |  |   // =================
 | 
					
						
							| 
									
										
										
										
											2012-12-08 06:06:01 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   $.fn.modal.noConflict = function () { | 
					
						
							|  |  |  |     $.fn.modal = old | 
					
						
							|  |  |  |     return this | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |   // MODAL DATA-API
 | 
					
						
							|  |  |  |   // ==============
 | 
					
						
							| 
									
										
										
										
											2011-09-12 11:08:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-17 11:19:51 +08:00
										 |  |  |   $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { | 
					
						
							| 
									
										
										
										
											2013-05-17 08:18:15 +08:00
										 |  |  |     var $this   = $(this) | 
					
						
							|  |  |  |     var href    = $this.attr('href') | 
					
						
							|  |  |  |     var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
 | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |     var option  = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) | 
					
						
							| 
									
										
										
										
											2012-09-28 06:00:02 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     e.preventDefault() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $target | 
					
						
							| 
									
										
										
										
											2013-08-09 15:16:47 +08:00
										 |  |  |       .modal(option, this) | 
					
						
							| 
									
										
										
										
											2012-09-28 06:00:02 +08:00
										 |  |  |       .one('hide', function () { | 
					
						
							| 
									
										
										
										
											2013-07-18 12:30:38 +08:00
										 |  |  |         $this.is(':visible') && $this.focus() | 
					
						
							| 
									
										
										
										
											2012-09-28 06:00:02 +08:00
										 |  |  |       }) | 
					
						
							| 
									
										
										
										
											2013-07-25 11:21:23 +08:00
										 |  |  |   }) | 
					
						
							| 
									
										
										
										
											2013-02-06 18:07:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-12 05:32:32 +08:00
										 |  |  |   $(document) | 
					
						
							| 
									
										
										
										
											2013-08-18 04:14:19 +08:00
										 |  |  |     .on('show.bs.modal',  '.modal', function () { $(document.body).addClass('modal-open') }) | 
					
						
							| 
									
										
										
										
											2013-08-12 05:32:32 +08:00
										 |  |  |     .on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') }) | 
					
						
							| 
									
										
										
										
											2011-09-12 11:08:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-17 00:27:43 +08:00
										 |  |  | }(window.jQuery); |