Team:Tongji/application js
From 2014.igem.org
Revision as of 11:51, 11 October 2014 by Yuiuiuiuiui (Talk | contribs)
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT // IT'S ALL JUST JUNK FOR OUR DOCS! // ++++++++++++++++++++++++++++++++++++++++++
!function ($) {
$(function(){
var $window = $(window)
// Disable certain links in docs $('section [href^=#]').click(function (e) { e.preventDefault() })
// side bar setTimeout(function () { $('.bs-docs-sidenav').affix({ offset: { top: function () { return $window.width() <= 980 ? 290 : 210 } , bottom: 270 } }) }, 100)
// make code pretty window.prettyPrint && prettyPrint()
// add-ons $('.add-on :checkbox').on('click', function () { var $this = $(this) , method = $this.attr('checked') ? 'addClass' : 'removeClass' $(this).parents('.add-on')[method]('active') })
// add tipsies to grid for scaffolding if ($('#gridSystem').length) { $('#gridSystem').tooltip({ selector: '.show-grid > [class*="span"]' , title: function () { return $(this).width() + 'px' } }) }
// tooltip demo $('.tooltip-demo').tooltip({ selector: "a[data-toggle=tooltip]" })
$('.tooltip-test').tooltip() $('.popover-test').popover()
// popover demo $("a[data-toggle=popover]") .popover() .click(function(e) { e.preventDefault() })
// button state demo $('#fat-btn') .click(function () { var btn = $(this) btn.button('loading') setTimeout(function () { btn.button('reset') }, 3000) })
// carousel demo $('#myCarousel').carousel()
// javascript build logic var inputsComponent = $("#components.download input") , inputsPlugin = $("#plugins.download input") , inputsVariables = $("#variables.download input")
// toggle all plugin checkboxes $('#components.download .toggle-all').on('click', function (e) { e.preventDefault() inputsComponent.attr('checked', !inputsComponent.is(':checked')) })
$('#plugins.download .toggle-all').on('click', function (e) { e.preventDefault() inputsPlugin.attr('checked', !inputsPlugin.is(':checked')) })
$('#variables.download .toggle-all').on('click', function (e) { e.preventDefault() inputsVariables.val() })
// request built javascript $('.download-btn .btn').on('click', function () {
var css = $("#components.download input:checked") .map(function () { return this.value }) .toArray() , js = $("#plugins.download input:checked") .map(function () { return this.value }) .toArray() , vars = {} , img = ['glyphicons-halflings.png', 'glyphicons-halflings-white.png']
$("#variables.download input") .each(function () { $(this).val() && (vars[ $(this).prev().text() ] = $(this).val()) })
$.ajax({ type: 'POST' , url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com' , dataType: 'jsonpi' , params: { js: js , css: css , vars: vars , img: img } }) }) })
// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi $.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
var url = opts.url;
return { send: function(_, completeCallback) { var name = 'jQuery_iframe_' + jQuery.now() , iframe, form
iframe = $('<iframe>') .attr('name', name) .appendTo('head')
form = $('<form>') .attr('method', opts.type) // GET or POST .attr('action', url) .attr('target', name)
$.each(opts.params, function(k, v) {
$('<input>') .attr('type', 'hidden') .attr('name', k) .attr('value', typeof v == 'string' ? v : JSON.stringify(v)) .appendTo(form) })
form.appendTo('body').submit() } }
})
}(window.jQuery)