Repository 'ireport'
hg clone https://toolshed.g2.bx.psu.edu/repos/saskia-hiltemann/ireport

Changeset 1:440f4aa3db97 (2014-07-30)
Previous changeset 0:ac5f9272033b (2014-07-01) Next changeset 2:e8755431a0cd (2014-09-30)
Commit message:
Added option to dowload iReports
modified:
createHTML.sh
iReport.sh
iReport.xml
tsv2html.pl
added:
jquery-1.10.2.js
jquery-ui.css
jquery-ui.js
b
diff -r ac5f9272033b -r 440f4aa3db97 createHTML.sh
--- a/createHTML.sh Tue Jul 01 11:42:23 2014 -0400
+++ b/createHTML.sh Wed Jul 30 07:03:43 2014 -0400
b
@@ -4,6 +4,7 @@
  coverimage=$2
  link=$3
  htmlout=$4
+ zipireport=$5
 
  echo -e "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">
 <html>
@@ -19,6 +20,7 @@
  <br/>
  <a href=\"$link\">  Click here to view report </a> <br/><br/>
  <a href=\"$link\"> <img src="$coverimage" width=\"50%\" alt=\"loading image..\"/> </a><br/><br/>
+ <a href=\"$zipireport\">  Click here to download a copy of this iReport </a> <br/><br/>
  </center>
  </body>
 </html>" > $htmlout
@@ -466,13 +468,12 @@
   <title>jQuery UI Tabs - Default functionality</title>
   
   
-  <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\">
-  <link rel=\"stylesheet\" href=\"/resources/demos/style.css\">
-  
-  <script src=\"//code.jquery.com/jquery-1.10.2.js\"></script>
-  <script src=\"//code.jquery.com/ui/1.10.4/jquery-ui.js\"></script>
+  <link rel=\"stylesheet\" href=\"jquery-ui.css\">  
+  <script src=\"jquery-1.10.2.js\"></script>
+  <script src=\"jquery-ui.js\"></script>
   <script type=\"text/javascript\" src=\"iframe-resizer/src/iframeResizer.js\"></script> 
   <script type=\"text/javascript\" src=\"jquery.zoom.js\"></script>
+  
   <script>
   \$(function() {
     \$( \"#tabs\" ).tabs();
b
diff -r ac5f9272033b -r 440f4aa3db97 iReport.sh
--- a/iReport.sh Tue Jul 01 11:42:23 2014 -0400
+++ b/iReport.sh Wed Jul 30 07:03:43 2014 -0400
b
@@ -38,6 +38,9 @@
 items=${items//,/ }; items=${items/ /}
 title=${title//--/}
 title=${title//label/}
+
+reportname=${title// /}
+
 echo -e "\n"
 echo -e "title:      $title"
 echo -e "tabs:       $tabs"
@@ -68,15 +71,28 @@
 cp -R ${repositorypath}/iframe-resizer/ ${galaxypath}/iframe-resizer/
 cp -R ${repositorypath}/DataTables-1.9.4/ ${galaxypath}/DataTables-1.9.4/
 cp ${repositorypath}/jquery.zoom.js ${galaxypath}/jquery.zoom.js
-
+cp ${repositorypath}/jquery-ui.css ${galaxypath}/jquery-ui.css
+cp ${repositorypath}/jquery-1.10.2.js ${galaxypath}/jquery-1.10.2.js
+cp ${repositorypath}/jquery-ui.js ${galaxypath}/jquery-ui.js
 
 echo "done copying resource files"
 ls ${galaxypath}
 
 
 ## Create cover HTML page
-makeIntroPage "$title" $coverimage "report.html" $htmlout
+makeIntroPage "$title" $coverimage "report.html" $htmlout iReport_${reportname}.zip
+
+## Create copy of cover page for downloadable version
+makeIntroPage "$title" $coverimage "report.html" coverpage.html iReport_${reportname}.zip
+cp coverpage.html ${galaxypath}/coverpage.html
 
 ## Create Report page with tabs
 createMainPage ${galaxypath}/report.html "$tabs" "$items" $minwidth
 
+
+## Create zip file of this iReport for download by user
+wd=`pwd`
+cd ${galaxypath}
+zip -r iReport_${reportname} .
+cd $wd
+
b
diff -r ac5f9272033b -r 440f4aa3db97 iReport.xml
--- a/iReport.xml Tue Jul 01 11:42:23 2014 -0400
+++ b/iReport.xml Wed Jul 30 07:03:43 2014 -0400
b
@@ -1,4 +1,4 @@
-<tool id="iReport" name="iReport dev" version="1">
+<tool id="iReport" name="iReport" version="1">
   <description> create an HTML report </description>
 
 
b
diff -r ac5f9272033b -r 440f4aa3db97 jquery-1.10.2.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jquery-1.10.2.js Wed Jul 30 07:03:43 2014 -0400
[
b'@@ -0,0 +1,9789 @@\n+/*!\n+ * jQuery JavaScript Library v1.10.2\n+ * http://jquery.com/\n+ *\n+ * Includes Sizzle.js\n+ * http://sizzlejs.com/\n+ *\n+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors\n+ * Released under the MIT license\n+ * http://jquery.org/license\n+ *\n+ * Date: 2013-07-03T13:48Z\n+ */\n+(function( window, undefined ) {\n+\n+// Can\'t do this because several apps including ASP.NET trace\n+// the stack via arguments.caller.callee and Firefox dies if\n+// you try to trace through "use strict" call chains. (#13335)\n+// Support: Firefox 18+\n+//"use strict";\n+var\n+\t// The deferred used on DOM ready\n+\treadyList,\n+\n+\t// A central reference to the root jQuery(document)\n+\trootjQuery,\n+\n+\t// Support: IE<10\n+\t// For `typeof xmlNode.method` instead of `xmlNode.method !== undefined`\n+\tcore_strundefined = typeof undefined,\n+\n+\t// Use the correct document accordingly with window argument (sandbox)\n+\tlocation = window.location,\n+\tdocument = window.document,\n+\tdocElem = document.documentElement,\n+\n+\t// Map over jQuery in case of overwrite\n+\t_jQuery = window.jQuery,\n+\n+\t// Map over the $ in case of overwrite\n+\t_$ = window.$,\n+\n+\t// [[Class]] -> type pairs\n+\tclass2type = {},\n+\n+\t// List of deleted data cache ids, so we can reuse them\n+\tcore_deletedIds = [],\n+\n+\tcore_version = "1.10.2",\n+\n+\t// Save a reference to some core methods\n+\tcore_concat = core_deletedIds.concat,\n+\tcore_push = core_deletedIds.push,\n+\tcore_slice = core_deletedIds.slice,\n+\tcore_indexOf = core_deletedIds.indexOf,\n+\tcore_toString = class2type.toString,\n+\tcore_hasOwn = class2type.hasOwnProperty,\n+\tcore_trim = core_version.trim,\n+\n+\t// Define a local copy of jQuery\n+\tjQuery = function( selector, context ) {\n+\t\t// The jQuery object is actually just the init constructor \'enhanced\'\n+\t\treturn new jQuery.fn.init( selector, context, rootjQuery );\n+\t},\n+\n+\t// Used for matching numbers\n+\tcore_pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,\n+\n+\t// Used for splitting on whitespace\n+\tcore_rnotwhite = /\\S+/g,\n+\n+\t// Make sure we trim BOM and NBSP (here\'s looking at you, Safari 5.0 and IE)\n+\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n+\n+\t// A simple way to check for HTML strings\n+\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n+\t// Strict HTML recognition (#11290: must start with <)\n+\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n+\n+\t// Match a standalone tag\n+\trsingleTag = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\n+\n+\t// JSON RegExp\n+\trvalidchars = /^[\\],:{}\\s]*$/,\n+\trvalidbraces = /(?:^|:|,)(?:\\s*\\[)+/g,\n+\trvalidescape = /\\\\(?:["\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,\n+\trvalidtokens = /"[^"\\\\\\r\\n]*"|true|false|null|-?(?:\\d+\\.|)\\d+(?:[eE][+-]?\\d+|)/g,\n+\n+\t// Matches dashed string for camelizing\n+\trmsPrefix = /^-ms-/,\n+\trdashAlpha = /-([\\da-z])/gi,\n+\n+\t// Used by jQuery.camelCase as callback to replace()\n+\tfcamelCase = function( all, letter ) {\n+\t\treturn letter.toUpperCase();\n+\t},\n+\n+\t// The ready event handler\n+\tcompleted = function( event ) {\n+\n+\t\t// readyState === "complete" is good enough for us to call the dom ready in oldIE\n+\t\tif ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {\n+\t\t\tdetach();\n+\t\t\tjQuery.ready();\n+\t\t}\n+\t},\n+\t// Clean-up method for dom ready events\n+\tdetach = function() {\n+\t\tif ( document.addEventListener ) {\n+\t\t\tdocument.removeEventListener( "DOMContentLoaded", completed, false );\n+\t\t\twindow.removeEventListener( "load", completed, false );\n+\n+\t\t} else {\n+\t\t\tdocument.detachEvent( "onreadystatechange", completed );\n+\t\t\twindow.detachEvent( "onload", completed );\n+\t\t}\n+\t};\n+\n+jQuery.fn = jQuery.prototype = {\n+\t// The current version of jQuery being used\n+\tjquery: core_version,\n+\n+\tconstructor: jQuery,\n+\tinit: function( selector, context, rootjQuery ) {\n+\t\tvar match, elem;\n+\n+\t\t// HANDLE: $(""), $(null), $(undefined), $(false)\n+\t\tif ( !selector ) {\n+\t\t\treturn this;\n+\t\t}\n+\n+\t\t// Handle HTML strings\n+\t\tif ( typeof selector === "string" ) {\n+\t\t\tif ( selector.charAt(0) === "<" && selector.charAt( se'..b' prop ) {\n+\tvar top = /Y/.test( prop );\n+\n+\tjQuery.fn[ method ] = function( val ) {\n+\t\treturn jQuery.access( this, function( elem, method, val ) {\n+\t\t\tvar win = getWindow( elem );\n+\n+\t\t\tif ( val === undefined ) {\n+\t\t\t\treturn win ? (prop in win) ? win[ prop ] :\n+\t\t\t\t\twin.document.documentElement[ method ] :\n+\t\t\t\t\telem[ method ];\n+\t\t\t}\n+\n+\t\t\tif ( win ) {\n+\t\t\t\twin.scrollTo(\n+\t\t\t\t\t!top ? val : jQuery( win ).scrollLeft(),\n+\t\t\t\t\ttop ? val : jQuery( win ).scrollTop()\n+\t\t\t\t);\n+\n+\t\t\t} else {\n+\t\t\t\telem[ method ] = val;\n+\t\t\t}\n+\t\t}, method, val, arguments.length, null );\n+\t};\n+});\n+\n+function getWindow( elem ) {\n+\treturn jQuery.isWindow( elem ) ?\n+\t\telem :\n+\t\telem.nodeType === 9 ?\n+\t\t\telem.defaultView || elem.parentWindow :\n+\t\t\tfalse;\n+}\n+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\n+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {\n+\tjQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {\n+\t\t// margin is only for outerHeight, outerWidth\n+\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n+\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),\n+\t\t\t\textra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );\n+\n+\t\t\treturn jQuery.access( this, function( elem, type, value ) {\n+\t\t\t\tvar doc;\n+\n+\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n+\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n+\t\t\t\t\t// isn\'t a whole lot we can do. See pull request at this URL for discussion:\n+\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n+\t\t\t\t\treturn elem.document.documentElement[ "client" + name ];\n+\t\t\t\t}\n+\n+\t\t\t\t// Get document width or height\n+\t\t\t\tif ( elem.nodeType === 9 ) {\n+\t\t\t\t\tdoc = elem.documentElement;\n+\n+\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest\n+\t\t\t\t\t// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.\n+\t\t\t\t\treturn Math.max(\n+\t\t\t\t\t\telem.body[ "scroll" + name ], doc[ "scroll" + name ],\n+\t\t\t\t\t\telem.body[ "offset" + name ], doc[ "offset" + name ],\n+\t\t\t\t\t\tdoc[ "client" + name ]\n+\t\t\t\t\t);\n+\t\t\t\t}\n+\n+\t\t\t\treturn value === undefined ?\n+\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n+\t\t\t\t\tjQuery.css( elem, type, extra ) :\n+\n+\t\t\t\t\t// Set width or height on the element\n+\t\t\t\t\tjQuery.style( elem, type, value, extra );\n+\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n+\t\t};\n+\t});\n+});\n+// Limit scope pollution from any deprecated API\n+// (function() {\n+\n+// The number of elements contained in the matched element set\n+jQuery.fn.size = function() {\n+\treturn this.length;\n+};\n+\n+jQuery.fn.andSelf = jQuery.fn.addBack;\n+\n+// })();\n+if ( typeof module === "object" && module && typeof module.exports === "object" ) {\n+\t// Expose jQuery as module.exports in loaders that implement the Node\n+\t// module pattern (including browserify). Do not create the global, since\n+\t// the user will be storing it themselves locally, and globals are frowned\n+\t// upon in the Node module world.\n+\tmodule.exports = jQuery;\n+} else {\n+\t// Otherwise expose jQuery to the global object as usual\n+\twindow.jQuery = window.$ = jQuery;\n+\n+\t// Register as a named AMD module, since jQuery can be concatenated with other\n+\t// files that may use define, but not via a proper concatenation script that\n+\t// understands anonymous AMD modules. A named AMD is safest and most robust\n+\t// way to register. Lowercase jquery is used because AMD module names are\n+\t// derived from file names, and jQuery is normally delivered in a lowercase\n+\t// file name. Do this after creating the global so that if an AMD module wants\n+\t// to call noConflict to hide this version of jQuery, it will work.\n+\tif ( typeof define === "function" && define.amd ) {\n+\t\tdefine( "jquery", [], function () { return jQuery; } );\n+\t}\n+}\n+\n+})( window );\n\\ No newline at end of file\n'
b
diff -r ac5f9272033b -r 440f4aa3db97 jquery-ui.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jquery-ui.css Wed Jul 30 07:03:43 2014 -0400
b
b'@@ -0,0 +1,1178 @@\n+/*! jQuery UI - v1.10.4 - 2014-01-17\n+* http://jqueryui.com\n+* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css\n+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px\n+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */\n+\n+/* Layout helpers\n+----------------------------------*/\n+.ui-helper-hidden {\n+\tdisplay: none;\n+}\n+.ui-helper-hidden-accessible {\n+\tborder: 0;\n+\tclip: rect(0 0 0 0);\n+\theight: 1px;\n+\tmargin: -1px;\n+\toverflow: hidden;\n+\tpadding: 0;\n+\tposition: absolute;\n+\twidth: 1px;\n+}\n+.ui-helper-reset {\n+\tmargin: 0;\n+\tpadding: 0;\n+\tborder: 0;\n+\toutline: 0;\n+\tline-height: 1.3;\n+\ttext-decoration: none;\n+\tfont-size: 100%;\n+\tlist-style: none;\n+}\n+.ui-helper-clearfix:before,\n+.ui-helper-clearfix:after {\n+\tcontent: "";\n+\tdisplay: table;\n+\tborder-collapse: collapse;\n+}\n+.ui-helper-clearfix:after {\n+\tclear: both;\n+}\n+.ui-helper-clearfix {\n+\tmin-height: 0; /* support: IE7 */\n+}\n+.ui-helper-zfix {\n+\twidth: 100%;\n+\theight: 100%;\n+\ttop: 0;\n+\tleft: 0;\n+\tposition: absolute;\n+\topacity: 0;\n+\tfilter:Alpha(Opacity=0);\n+}\n+\n+.ui-front {\n+\tz-index: 100;\n+}\n+\n+\n+/* Interaction Cues\n+----------------------------------*/\n+.ui-state-disabled {\n+\tcursor: default !important;\n+}\n+\n+\n+/* Icons\n+----------------------------------*/\n+\n+/* states and images */\n+.ui-icon {\n+\tdisplay: block;\n+\ttext-indent: -99999px;\n+\toverflow: hidden;\n+\tbackground-repeat: no-repeat;\n+}\n+\n+\n+/* Misc visuals\n+----------------------------------*/\n+\n+/* Overlays */\n+.ui-widget-overlay {\n+\tposition: fixed;\n+\ttop: 0;\n+\tleft: 0;\n+\twidth: 100%;\n+\theight: 100%;\n+}\n+.ui-accordion .ui-accordion-header {\n+\tdisplay: block;\n+\tcursor: pointer;\n+\tposition: relative;\n+\tmargin-top: 2px;\n+\tpadding: .5em .5em .5em .7em;\n+\tmin-height: 0; /* support: IE7 */\n+}\n+.ui-accordion .ui-accordion-icons {\n+\tpadding-left: 2.2em;\n+}\n+.ui-accordion .ui-accordion-noicons {\n+\tpadding-left: .7em;\n+}\n+.ui-accordion .ui-accordion-icons .ui-accordion-icons {\n+\tpadding-left: 2.2em;\n+}\n+.ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n+\tposition: absolute;\n+\tleft: .5em;\n+\ttop: 50%;\n+\tmargin-top: -8px;\n+}\n+.ui-accordion .ui-accordion-content {\n+\tpadding: 1em 2.2em;\n+\tborder-top: 0;\n+\toverflow: auto;\n+}\n+.ui-autocomplete {\n+\tposition: absolute;\n+\ttop: 0;\n+\tleft: 0;\n+\tcursor: default;\n+}\n+.ui-button {\n+\tdisplay: inline-block;\n+\tposition: relative;\n+\tpadding: 0;\n+\tline-height: normal;\n+\tmargin-r'..b'-position: -80px -144px; }\n+.ui-icon-radio-on { background-position: -96px -144px; }\n+.ui-icon-radio-off { background-position: -112px -144px; }\n+.ui-icon-pin-w { background-position: -128px -144px; }\n+.ui-icon-pin-s { background-position: -144px -144px; }\n+.ui-icon-play { background-position: 0 -160px; }\n+.ui-icon-pause { background-position: -16px -160px; }\n+.ui-icon-seek-next { background-position: -32px -160px; }\n+.ui-icon-seek-prev { background-position: -48px -160px; }\n+.ui-icon-seek-end { background-position: -64px -160px; }\n+.ui-icon-seek-start { background-position: -80px -160px; }\n+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n+.ui-icon-seek-first { background-position: -80px -160px; }\n+.ui-icon-stop { background-position: -96px -160px; }\n+.ui-icon-eject { background-position: -112px -160px; }\n+.ui-icon-volume-off { background-position: -128px -160px; }\n+.ui-icon-volume-on { background-position: -144px -160px; }\n+.ui-icon-power { background-position: 0 -176px; }\n+.ui-icon-signal-diag { background-position: -16px -176px; }\n+.ui-icon-signal { background-position: -32px -176px; }\n+.ui-icon-battery-0 { background-position: -48px -176px; }\n+.ui-icon-battery-1 { background-position: -64px -176px; }\n+.ui-icon-battery-2 { background-position: -80px -176px; }\n+.ui-icon-battery-3 { background-position: -96px -176px; }\n+.ui-icon-circle-plus { background-position: 0 -192px; }\n+.ui-icon-circle-minus { background-position: -16px -192px; }\n+.ui-icon-circle-close { background-position: -32px -192px; }\n+.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n+.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n+.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n+.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n+.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n+.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n+.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n+.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n+.ui-icon-circle-zoomin { background-position: -176px -192px; }\n+.ui-icon-circle-zoomout { background-position: -192px -192px; }\n+.ui-icon-circle-check { background-position: -208px -192px; }\n+.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n+.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n+.ui-icon-circlesmall-close { background-position: -32px -208px; }\n+.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n+.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n+.ui-icon-squaresmall-close { background-position: -80px -208px; }\n+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n+\n+\n+/* Misc visuals\n+----------------------------------*/\n+\n+/* Corner radius */\n+.ui-corner-all,\n+.ui-corner-top,\n+.ui-corner-left,\n+.ui-corner-tl {\n+\tborder-top-left-radius: 4px;\n+}\n+.ui-corner-all,\n+.ui-corner-top,\n+.ui-corner-right,\n+.ui-corner-tr {\n+\tborder-top-right-radius: 4px;\n+}\n+.ui-corner-all,\n+.ui-corner-bottom,\n+.ui-corner-left,\n+.ui-corner-bl {\n+\tborder-bottom-left-radius: 4px;\n+}\n+.ui-corner-all,\n+.ui-corner-bottom,\n+.ui-corner-right,\n+.ui-corner-br {\n+\tborder-bottom-right-radius: 4px;\n+}\n+\n+/* Overlays */\n+.ui-widget-overlay {\n+\tbackground: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;\n+\topacity: .3;\n+\tfilter: Alpha(Opacity=30);\n+}\n+.ui-widget-shadow {\n+\tmargin: -8px 0 0 -8px;\n+\tpadding: 8px;\n+\tbackground: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;\n+\topacity: .3;\n+\tfilter: Alpha(Opacity=30);\n+\tborder-radius: 8px;\n+}\n\\ No newline at end of file\n'
b
diff -r ac5f9272033b -r 440f4aa3db97 jquery-ui.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jquery-ui.js Wed Jul 30 07:03:43 2014 -0400
[
b'@@ -0,0 +1,15008 @@\n+/*! jQuery UI - v1.10.4 - 2014-01-17\n+* http://jqueryui.com\n+* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js\n+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */\n+\n+(function( $, undefined ) {\n+\n+var uuid = 0,\n+\truniqueId = /^ui-id-\\d+$/;\n+\n+// $.ui might exist from components with no dependencies, e.g., $.ui.position\n+$.ui = $.ui || {};\n+\n+$.extend( $.ui, {\n+\tversion: "1.10.4",\n+\n+\tkeyCode: {\n+\t\tBACKSPACE: 8,\n+\t\tCOMMA: 188,\n+\t\tDELETE: 46,\n+\t\tDOWN: 40,\n+\t\tEND: 35,\n+\t\tENTER: 13,\n+\t\tESCAPE: 27,\n+\t\tHOME: 36,\n+\t\tLEFT: 37,\n+\t\tNUMPAD_ADD: 107,\n+\t\tNUMPAD_DECIMAL: 110,\n+\t\tNUMPAD_DIVIDE: 111,\n+\t\tNUMPAD_ENTER: 108,\n+\t\tNUMPAD_MULTIPLY: 106,\n+\t\tNUMPAD_SUBTRACT: 109,\n+\t\tPAGE_DOWN: 34,\n+\t\tPAGE_UP: 33,\n+\t\tPERIOD: 190,\n+\t\tRIGHT: 39,\n+\t\tSPACE: 32,\n+\t\tTAB: 9,\n+\t\tUP: 38\n+\t}\n+});\n+\n+// plugins\n+$.fn.extend({\n+\tfocus: (function( orig ) {\n+\t\treturn function( delay, fn ) {\n+\t\t\treturn typeof delay === "number" ?\n+\t\t\t\tthis.each(function() {\n+\t\t\t\t\tvar elem = this;\n+\t\t\t\t\tsetTimeout(function() {\n+\t\t\t\t\t\t$( elem ).focus();\n+\t\t\t\t\t\tif ( fn ) {\n+\t\t\t\t\t\t\tfn.call( elem );\n+\t\t\t\t\t\t}\n+\t\t\t\t\t}, delay );\n+\t\t\t\t}) :\n+\t\t\t\torig.apply( this, arguments );\n+\t\t};\n+\t})( $.fn.focus ),\n+\n+\tscrollParent: function() {\n+\t\tvar scrollParent;\n+\t\tif (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {\n+\t\t\tscrollParent = this.parents().filter(function() {\n+\t\t\t\treturn (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));\n+\t\t\t}).eq(0);\n+\t\t} else {\n+\t\t\tscrollParent = this.parents().filter(function() {\n+\t\t\t\treturn (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));\n+\t\t\t}).eq(0);\n+\t\t}\n+\n+\t\treturn (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;\n+\t},\n+\n+\tzIndex: function( zIndex ) {\n+\t\tif ( zIndex !== undefined ) {\n+\t\t\treturn this.css( "zIndex", zIndex );\n+\t\t}\n+\n+\t\tif ( this.length ) {\n+\t\t\tvar elem = $( this[ 0 ] ), position, value;\n+\t\t\twhile ( elem.length && elem[ 0 ] !== document ) {\n+\t\t\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\n+\t\t\t\t// This makes behavior of this function consistent across browsers\n+\t\t\t\t// WebKit always returns auto if the element is positioned\n+\t\t\t\tposition = elem.css( "position" );\n+\t\t\t\tif ( position === "absolute" || position === "relative" || position === "fixed" ) {\n+\t\t\t\t\t// IE returns 0 when zIndex is not specified\n+\t\t\t\t\t// other browsers return a string\n+\t\t\t\t\t// we ignore the case of nested elements with an explicit value of 0\n+\t\t\t\t\t// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>\n+\t\t\t\t\tvalue = parseInt( elem.css( "zIndex" ), 10 );\n+\t\t\t\t\tif ( !isNaN( value ) && value !== 0 ) {\n+\t\t\t\t\t\treturn value;\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t\telem = elem.parent();\n+\t\t\t}\n+\t\t}\n+\n+\t\treturn 0;\n+\t},\n+\n+\tuniqueId: function() {\n+\t\treturn this.each(function() {\n+\t\t\tif ( !this.id ) {\n+\t\t\t\tthis.id = "ui-id-" + (++uuid);\n+\t\t\t}\n+\t\t});\n+\t},\n+\n+\tremoveUniqueId: function() {\n+\t\treturn this.each(function() {\n+\t\t\tif ( runiqueId.test( this.id ) ) {\n+\t\t\t\t$( this ).removeAttr( "i'..b'verride element-relative positioning\n+\t\t\tposition( event );\n+\t\t} else {\n+\t\t\ttooltip.position( $.extend({\n+\t\t\t\tof: target\n+\t\t\t}, this.options.position ) );\n+\t\t}\n+\n+\t\ttooltip.hide();\n+\n+\t\tthis._show( tooltip, this.options.show );\n+\t\t// Handle tracking tooltips that are shown with a delay (#8644). As soon\n+\t\t// as the tooltip is visible, position the tooltip using the most recent\n+\t\t// event.\n+\t\tif ( this.options.show && this.options.show.delay ) {\n+\t\t\tdelayedShow = this.delayedShow = setInterval(function() {\n+\t\t\t\tif ( tooltip.is( ":visible" ) ) {\n+\t\t\t\t\tposition( positionOption.of );\n+\t\t\t\t\tclearInterval( delayedShow );\n+\t\t\t\t}\n+\t\t\t}, $.fx.interval );\n+\t\t}\n+\n+\t\tthis._trigger( "open", event, { tooltip: tooltip } );\n+\n+\t\tevents = {\n+\t\t\tkeyup: function( event ) {\n+\t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\n+\t\t\t\t\tvar fakeEvent = $.Event(event);\n+\t\t\t\t\tfakeEvent.currentTarget = target[0];\n+\t\t\t\t\tthis.close( fakeEvent, true );\n+\t\t\t\t}\n+\t\t\t},\n+\t\t\tremove: function() {\n+\t\t\t\tthis._removeTooltip( tooltip );\n+\t\t\t}\n+\t\t};\n+\t\tif ( !event || event.type === "mouseover" ) {\n+\t\t\tevents.mouseleave = "close";\n+\t\t}\n+\t\tif ( !event || event.type === "focusin" ) {\n+\t\t\tevents.focusout = "close";\n+\t\t}\n+\t\tthis._on( true, target, events );\n+\t},\n+\n+\tclose: function( event ) {\n+\t\tvar that = this,\n+\t\t\ttarget = $( event ? event.currentTarget : this.element ),\n+\t\t\ttooltip = this._find( target );\n+\n+\t\t// disabling closes the tooltip, so we need to track when we\'re closing\n+\t\t// to avoid an infinite loop in case the tooltip becomes disabled on close\n+\t\tif ( this.closing ) {\n+\t\t\treturn;\n+\t\t}\n+\n+\t\t// Clear the interval for delayed tracking tooltips\n+\t\tclearInterval( this.delayedShow );\n+\n+\t\t// only set title if we had one before (see comment in _open())\n+\t\tif ( target.data( "ui-tooltip-title" ) ) {\n+\t\t\ttarget.attr( "title", target.data( "ui-tooltip-title" ) );\n+\t\t}\n+\n+\t\tremoveDescribedBy( target );\n+\n+\t\ttooltip.stop( true );\n+\t\tthis._hide( tooltip, this.options.hide, function() {\n+\t\t\tthat._removeTooltip( $( this ) );\n+\t\t});\n+\n+\t\ttarget.removeData( "ui-tooltip-open" );\n+\t\tthis._off( target, "mouseleave focusout keyup" );\n+\t\t// Remove \'remove\' binding only on delegated targets\n+\t\tif ( target[0] !== this.element[0] ) {\n+\t\t\tthis._off( target, "remove" );\n+\t\t}\n+\t\tthis._off( this.document, "mousemove" );\n+\n+\t\tif ( event && event.type === "mouseleave" ) {\n+\t\t\t$.each( this.parents, function( id, parent ) {\n+\t\t\t\t$( parent.element ).attr( "title", parent.title );\n+\t\t\t\tdelete that.parents[ id ];\n+\t\t\t});\n+\t\t}\n+\n+\t\tthis.closing = true;\n+\t\tthis._trigger( "close", event, { tooltip: tooltip } );\n+\t\tthis.closing = false;\n+\t},\n+\n+\t_tooltip: function( element ) {\n+\t\tvar id = "ui-tooltip-" + increments++,\n+\t\t\ttooltip = $( "<div>" )\n+\t\t\t\t.attr({\n+\t\t\t\t\tid: id,\n+\t\t\t\t\trole: "tooltip"\n+\t\t\t\t})\n+\t\t\t\t.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +\n+\t\t\t\t\t( this.options.tooltipClass || "" ) );\n+\t\t$( "<div>" )\n+\t\t\t.addClass( "ui-tooltip-content" )\n+\t\t\t.appendTo( tooltip );\n+\t\ttooltip.appendTo( this.document[0].body );\n+\t\tthis.tooltips[ id ] = element;\n+\t\treturn tooltip;\n+\t},\n+\n+\t_find: function( target ) {\n+\t\tvar id = target.data( "ui-tooltip-id" );\n+\t\treturn id ? $( "#" + id ) : $();\n+\t},\n+\n+\t_removeTooltip: function( tooltip ) {\n+\t\ttooltip.remove();\n+\t\tdelete this.tooltips[ tooltip.attr( "id" ) ];\n+\t},\n+\n+\t_destroy: function() {\n+\t\tvar that = this;\n+\n+\t\t// close open tooltips\n+\t\t$.each( this.tooltips, function( id, element ) {\n+\t\t\t// Delegate to close method to handle common cleanup\n+\t\t\tvar event = $.Event( "blur" );\n+\t\t\tevent.target = event.currentTarget = element[0];\n+\t\t\tthat.close( event, true );\n+\n+\t\t\t// Remove immediately; destroying an open tooltip doesn\'t use the\n+\t\t\t// hide animation\n+\t\t\t$( "#" + id ).remove();\n+\n+\t\t\t// Restore the title\n+\t\t\tif ( element.data( "ui-tooltip-title" ) ) {\n+\t\t\t\telement.attr( "title", element.data( "ui-tooltip-title" ) );\n+\t\t\t\telement.removeData( "ui-tooltip-title" );\n+\t\t\t}\n+\t\t});\n+\t}\n+});\n+\n+}( jQuery ) );\n\\ No newline at end of file\n'
b
diff -r ac5f9272033b -r 440f4aa3db97 tsv2html.pl
--- a/tsv2html.pl Tue Jul 01 11:42:23 2014 -0400
+++ b/tsv2html.pl Wed Jul 30 07:03:43 2014 -0400
b
@@ -2,8 +2,8 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-<script src=\"//code.jquery.com/jquery-1.10.2.js\"></script>
- <script src=\"//code.jquery.com/ui/1.10.4/jquery-ui.js\"></script>
+<script src=\"jquery-1.10.2.js\"></script>
+<script src=\"jquery-ui.js\"></script>
 <script type="text/javascript" src="jquery.dataTables.js"></script>
 <script type="text/javascript" src="iframe-resizer/js/iframeResizer.contentWindow.min.js"></script> 
 <script>