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

Changeset 6:42076db43d42 (2015-11-16)
Previous changeset 5:4e21ce709269 (2014-10-07) Next changeset 7:0f2b740536fb (2017-08-21)
Commit message:
Fixed auto resizing plus various other minor bugs
modified:
createHTML.sh
iReport.sh
iReport.xml
ireport_css.css
jquery.dataTables.js
tool_dependencies.xml
tsv2html.pl
tsv2html_simple.pl
added:
jquery.dataTables.css.new
jquery.dataTables.js.vew
removed:
iframe-resizer/.gitignore
iframe-resizer/.travis.yml
b
diff -r 4e21ce709269 -r 42076db43d42 createHTML.sh
--- a/createHTML.sh Tue Oct 07 08:49:14 2014 -0400
+++ b/createHTML.sh Mon Nov 16 08:56:22 2015 -0500
[
b'@@ -1,6 +1,9 @@\n+gbcount=0\n+\n ##\n ## Create Cover Page\n ##\n+#<a href=\\"$zipireport\\">  Click here to download a copy of this iReport </a> <br/><br/>\n function makeIntroPage  ( ){\n \techo "Creating Intro Page"\n \ttitle="$1"\n@@ -20,9 +23,8 @@\n \t\t<b><font size=\\"15\\"> iReport: ${title} </font></b><br/>\n \t\t<br/>\n \t\t<br/>\n-\t\t<a href=\\"$link\\">  Click here to view report\t</a> <br/><br/>\n+\t\t<a href=\\"$link\\">  Click image to view report\t</a> <br/><br/>\n \t\t<a href=\\"$link\\"> <img src="$coverimage" width=\\"50%\\" alt=\\"loading image..\\"/> </a><br/><br/>\t\t\n-\t\t<a href=\\"$zipireport\\">  Click here to download a copy of this iReport </a> <br/><br/>\n \t\t</center>\n \t</body>\n </html>" > $htmlout\n@@ -30,14 +32,86 @@\n }\n \n ##\n+## Decompress archive fiels\n+##  -> will detect archive formats: zip, tar, gzip, tar.gz, bzip2\n+##  -> input: path to archive\n+##  -> files will be located in ${galaxypath}/archive_${fname}/\n+##\n+function decompressArchive (){\n+\tarchive=$1\n+\t\n+\tfname=`basename ${archive}`\n+\tfname=${fname%.dat}\n+\tftype=`file $archive`\n+\t\n+\tif [[ ! -d ${galaxypath}/archive_${fname}/ ]]\n+\tthen\n+\t\tmkdir ${galaxypath}/archive_${fname}/\n+\t\t\n+\t\t#echo "archive type: `file $archive`"\n+\t\t# decompress archive\n+\t\tif [[ $ftype == *Zip* ]]\n+\t\tthen\n+\t\t#echo "detected zip file"\n+\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.zip\n+\t\t\twd=`pwd`\n+\t\t\tcd ${galaxypath}/archive_${fname}/\n+\t\t\tunzip -q ${fname}.zip\n+\t\t\trm ${fname}.zip\n+\t\t\tcd $wd\n+\t\tfi\n+\t\tif [[ $ftype == *tar* ]]\n+\t\tthen\n+\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.tar\n+\t\t\twd=`pwd`\n+\t\t\tcd ${galaxypath}/archive_${fname}/\n+\t\t\ttar xf ${fname}.tar\n+\t\t\trm ${fname}.tar\n+\t\t\tcd $wd\n+\t\tfi\n+\t\tif [[ $ftype == *gzip* ]]\n+\t\tthen\n+\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.gz\n+\t\t\tgunzip ${galaxypath}/archive_${fname}/${fname}.gz\n+\t\t\t#ls ${galaxypath}/archive_${fname}/\n+\t\t\t\n+\t\t\t# check for tar.gz\n+\t\t\tftype=`file ${galaxypath}/archive_${fname}/${fname}`\n+\t\t\tif [[ $ftype == *tar* ]]\n+\t\t\tthen\n+\t\t\t\t# turns out it was tar.gz\n+\t\t\t\trm -Rf ${galaxypath}/archive_${fname}/*\n+\t\t\t\tls ${galaxypath}/archive_${fname}/\n+\t\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.tar.gz\n+\t\t\t\t\n+\t\t\t\twd=`pwd`\n+\t\t\t\tcd ${galaxypath}/archive_${fname}/\n+\t\t\t\ttar xzf ${fname}.tar.gz \n+\t\t\t\tcd $wd\n+\t\t\tfi\n+\t\t\twait\n+\t\t\trm -f ${galaxypath}/archive_${fname}/*.tar\n+\t\t\trm -f ${galaxypath}/archive_${fname}/*.tar.gz\n+\t\tfi\n+\t\tif [[ $ftype == *bzip2* ]]\n+\t\tthen\n+\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.gz\n+\t\t\tgunzip2 ${galaxypath}/archive_${fname}/${fname}.gz\n+\t\tfi\n+\tfi\n+}\n+\n+##\n ## Create HTML content for the tabs specified by user\n ##\n function makeTabContent ( ){\n \ttab=$1\t\t\t# name of current tab\n \titemslist=$2\t# list of all items\n+\ttracklist=$3\t# genome browser tracks info\n \tcontentline=""  # HTML code for tab\n \timgcount=0\t\t# keep track of the number of images on the current tab\n-\t\n+\tiframename=`head -n 1 < /dev/urandom | tr -dc \'a-zA-Z0-9\' | fold -w 8 | head -n 1`\n+\t#iframename="test"\n \tfor item in $itemslist\n \tdo\n \t\t## Parse items lists\n@@ -63,6 +137,12 @@\n \t\t\t\t\ttext=${text//==space==/ }\n \t\t\t\t\ttext=${text//==colon==/:}\n \t\t\t\t\ttext=${text//==comma==/,}\n+\t\t\t\t\t\n+\t\t\t\t\ttext=${text//==braceopen==/(}\n+\t\t\t\t\ttext=${text//==braceclose==/)}\n+\t\t\t\t\ttext=${text//==cbraceopen==/{}\n+\t\t\t\t\ttext=${text//==cbraceclose==/&#125;}\n+\t\t\t\t\t\n \t\t\t\t\ttext=${text//==slash==/\\/}\n \t\t\t\t\ttext=${text//==lt==/<}\n \t\t\t\t\ttext=${text//==gt==/>}\n@@ -78,8 +158,8 @@\n \t\t\t\t\ttext=${text//\\&r/\\\\n}\n \t\t\t\t\ttext=${text//\\&n/\\\\n}\n \t\t\t\t\ttext=${text//\\&c/:}\n-\t\t\t\t\t\n-\t\t\t\t\t\n+\n+\t\t\t\t\t\t\n \t\t\t\t\t## convert markdown in textfield to html\n \t\t\t\t\techo -e "$text" > mytext.md\n \t\t\t\t\t\n@@ -90,9 +170,8 @@\n \t\t\t\t\t\t\n \t\t\t\t\telse\n \t\t\t\t\t\t# pandoc exists \n-\t\t\t\t\t\techo "pandoc exists"\n-\t\t\t\t\t\tpandoc -o mytext.html mytext.md\n-\t\t\t\t\t\tpandoc -o standalone.html -s mytext.md\n+\t\t\t\t\t\tpandoc -f markdown -o mytext.html mytext.md\n+\t\t\t\t\t\tpandoc -f markdown -o standalone.html -s mytext.md\n \t\t\t\t\t\t\n \t\t\t\t\t\t#get css generated by pandoc and add as scoped attribute (HTML5)\n \t\t\t\t\t\tpandocstyle=`sed -n \'/<style/,/s'..b'{isireport} == "Y" ]]\n \t\t\t\tthen\t\t\t\t\t\n-\t\t\t\t\tlinkfilename="/datasets/${apiid}/display/"\n+\t\t\t\t\tlinkfilename="/${proxy}/datasets/${apiid}/display/"\n \t\t\t\telse\n \t\t\t\t\tcp ${linkfile} "${galaxypath}/${linkfilename}"\n \t\t\t\tfi\n@@ -439,67 +843,10 @@\n \t\t\t##  Links to Archive Contents\n \t\t\t##\t\n \t\t\tif [[ ${myarr[1]} == "links" ]]\n-\t\t\tthen\n-\t\t\t\t#echo "making links:"\n+\t\t\tthen\t\t\t\n \t\t\t\tarchive=${myarr[2]}\n-\t\t\t\tfname=`basename ${archive}`\n-\t\t\t\tfname=${fname%.dat}\n-\t\t\t\tftype=`file $archive`\n-\t\t\t\tmkdir ${galaxypath}/archive_${fname}/\n-\t\t\t\t\n-\t\t\t\t#echo "archive type: `file $archive`"\n-\t\t\t\t# decompress archive\n-\t\t\t\tif [[ $ftype == *Zip* ]]\n-\t\t\t\tthen\n-\t\t\t\t\t#echo "detected zip file"\n-\t\t\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.zip\n-\t\t\t\t\twd=`pwd`\n-\t\t\t\t\tcd ${galaxypath}/archive_${fname}/\n-\t\t\t\t\tunzip -q ${fname}.zip\n-\t\t\t\t\trm ${fname}.zip\n-\t\t\t\t\tcd $wd\n-\t\t\t\tfi\n-\t\t\t\tif [[ $ftype == *tar* ]]\n-\t\t\t\tthen\n-\t\t\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.tar\n-\t\t\t\t\twd=`pwd`\n-\t\t\t\t\tcd ${galaxypath}/archive_${fname}/\n-\t\t\t\t\ttar xf ${fname}.tar\n-\t\t\t\t\trm ${fname}.tar\n-\t\t\t\t\tcd $wd\n-\t\t\t\tfi\n-\t\t\t\tif [[ $ftype == *gzip* ]]\n-\t\t\t\tthen\n-\t\t\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.gz\n-\t\t\t\t\tgunzip ${galaxypath}/archive_${fname}/${fname}.gz\n-\t\t\t\t\t#ls ${galaxypath}/archive_${fname}/\n-\t\t\t\t\t\n-\t\t\t\t\t# check for tar.gz\n-\t\t\t\t\tftype=`file ${galaxypath}/archive_${fname}/${fname}`\n-\t\t\t\t\tif [[ $ftype == *tar* ]]\n-\t\t\t\t\tthen\n-\t\t\t\t\t\t# turns out it was tar.gz\n-\t\t\t\t\t\trm -Rf ${galaxypath}/archive_${fname}/*\n-\t\t\t\t\t\tls ${galaxypath}/archive_${fname}/\n-\t\t\t\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.tar.gz\n-\t\t\t\t\t\t\n-\t\t\t\t\t\twd=`pwd`\n-\t\t\t\t\t\tcd ${galaxypath}/archive_${fname}/\n-\t\t\t\t\t\ttar xzf ${fname}.tar.gz \n-\t\t\t\t\t\tcd $wd\n-\t\t\t\t\tfi\n-\t\t\t\t\twait\n-\t\t\t\t\trm -f ${galaxypath}/archive_${fname}/*.tar\n-\t\t\t\t\trm -f ${galaxypath}/archive_${fname}/*.tar.gz\n-\t\t\t\tfi\n-\t\t\t\tif [[ $ftype == *bzip2* ]]\n-\t\t\t\tthen\n-\t\t\t\t\tcp $archive ${galaxypath}/archive_${fname}/${fname}.gz\n-\t\t\t\t\tgunzip2 ${galaxypath}/archive_${fname}/${fname}.gz\n-\t\t\t\tfi\n-\t\t\t\t\n-\t\t\t\t\n-\t\t\t\t\n+\t\t\t\tdecompressArchive $archive\n+\n \t\t\t\t# add links to webpage\n \t\t\t\t# separate line for each folder, files within folder on same line\n \t\t\t\tfor linkfile in `ls ${galaxypath}/archive_${fname}/ |sort -V`\n@@ -540,36 +887,55 @@\n \tdone\n \t\n \techo "${contentline}"\n+\t\n+\t\n }\n \n ##\n ## Create HTML content for iReport\n ##\n createMainPage (){\n+        #export IFRAMECNT=1\n \tpage=$1\n \ttabtitles=$2\t# comma-separated list of tab titles\n \ttabitems=$3\t\t# colon-sparated list of tabs specifications\n-\tiframecount=1\t# keep track of number of iFrames so that they can be referenced by ID\n+\t#giframecount=1\t# keep track of number of iFrames so that they can be referenced by ID\n \tminwidth=$4\t\t# width of page\n+\tgbtracks=$5\t\t# genome browser track information\n \t\n-\techo "createMainPage: tabitems: $tabitems. tabtitles: $tabtitles"\n+\techo "createMainPage: tabitems: $tabitems. tabtitles: $tabtitles. gbtracks: $gbtracks"\n \t# create correct number of tabs\n \tcount=0\n \t\n+\ttabtitles=${tabtitles/,/}\n \ttabtitles=${tabtitles//,/ }\n-\ttabtitles=${tabtitles//==colon==/:}\n+\techo $tabtitles\n+\t\n+\ttabcount=0\n+\tfor tabt in $tabtitles\n+\tdo\n+\t\techo -n $tabt > tmpfileb64\n+\t\tthistabtitle=`base64 -d tmpfileb64`\n+\t\tnewtabtitles+=" $thistabtitle"\n+\t\ttabcount=$[tabcount+1]\n+\tdone\n+\t\n+\techo $newtabtitles\n+\t\n \ttabslist="<ul>\\n"\n \tmytabs=""\n \t\n-\tfor title in $tabtitles\n+\tfor title in $newtabtitles\n \tdo\n \t\t# Create list of tabs\t\t\n \t\tcount=$[count+1]\n-\t\ttitle2=${title//_s_/ }\n+\t\ttitle2=${title//==space==/ }\n+\t\ttitle2=${title2//==dollar==/$}\n+\t\ttitle2=${title2//==colon==/}\n \t\ttabslist="${tabslist} <li><a href=\\"#tabs-${count}\\">${title2}</a></li>\\n"\n \t\t\n \t\t# Create tabs with content\n-\t\ttabcontent=$(makeTabContent $title "$tabitems")\n+\t\ttabcontent=$(makeTabContent $title "$tabitems" "$gbtracks")\n \t\tmytabs="${mytabs}\\n<div id=\\"tabs-${count}\\">\\n"\n \t\tmytabs="${mytabs}${tabcontent}"\n \t\tmytabs="${mytabs}\\n</div>\\n"\n@@ -599,4 +965,4 @@\n   </div>\n  </body>\n </html>" > $page\n-}\n\\ No newline at end of file\n+}\n'
b
diff -r 4e21ce709269 -r 42076db43d42 iReport.sh
--- a/iReport.sh Tue Oct 07 08:49:14 2014 -0400
+++ b/iReport.sh Mon Nov 16 08:56:22 2015 -0500
[
@@ -1,5 +1,4 @@
 #!/bin/bash
-#repositorypath="/mnt/galaxyTools/shed_tools/toolshed.nbic.nl/repos/saskia-hiltemann/ireport/71dc132e9bb2/ireport"  # TODO: dependency
 
 
 echo "allparams: $@"
@@ -8,8 +7,8 @@
 
 # set some defaults
 
-
-set -- `getopt -n$0 -u -a --longoptions="ifusepath: galaxypath: tab: item: htmlout: label: toolpath: minwidth: coverimage:" "h:" "$@"` || usage
+gbcount=0
+set -- `getopt -n$0 -u -a --longoptions="ifusepath: galaxypath: tab: item: genomebrowsertrack: newgb: htmlout: label: toolpath: minwidth: coverimage:" "h:" "$@"` || usage
 [ $# -eq 0 ] && usage
 
 while [ $# -gt 0 ]
@@ -20,6 +19,8 @@
  --minwidth) minwidth=$2;shift;; 
  --tab) tabs+=",$2";shift;;
  --item) items+=",$2";shift;;
+ --newgb) gbcount=$[$gbcount+1];shift;;
+ --genomebrowsertrack) gbtracks+=",${gbcount}:$2";shift;;
  --htmlout) htmlout=$2;shift;;
  --label) title="$@";shift;;
  --coverimage) coverimage=$2;shift;;
@@ -34,10 +35,23 @@
 source "${repositorypath}/createHTML.sh"
 mkdir $galaxypath
 
-tabs=${tabs//,/ }; tabs=${tabs/ /}
+#tabs=${tabs//,/ }; tabs=${tabs/ /}
+#tabs=${tabs//==dollar==/$}
+#tabs=${tabs//==braceopen==/(}
+#tabs=${tabs//==braceclose==/)}
+gbtracks=${gbtracks:1}
 items=${items//,/ }; items=${items/ /}
+
 title=${title//--/}
 title=${title//label/}
+title=${title// /}
+
+echo -e "title:      $title"
+echo -n "$title" > tmpfileb64
+title=`base64 -d tmpfileb64`
+echo -e "title decoded:      $title"
+
+#title=${title%--*}
 
 reportname=${title// /}
 
@@ -47,6 +61,8 @@
 echo -e "items:      $items"
 echo -e "htmlout:    $htmlout"
 echo -e "coverimage: $coverimage"
+echo -e "gbtracks:   ${gbtracks[@]}"
+echo -e "gbcount:   ${gbcount}"
 echo -e "\n"
 
 for i in $tabs
@@ -54,22 +70,24 @@
  echo "tabname: $i" 
 done
 
-coverimage=${coverimage:1}
-echo -e "coverimage2: $coverimage"
+
 
 #if no coverimage provided, use default EMC logo
-if [[ -z $coverimage ]] 
+if [[ $coverimage == "-" ]] 
 then
  cp $repositorypath/intro.jpg ${galaxypath}/intro.jpg
- coverimage="intro.jpg"
+ coverimage="intro.jpg" 
+else
+ coverimage=${coverimage:1}
+ echo -n "$coverimage" > tmpfileb64
+ coverimage=`base64 -d tmpfileb64`
 fi
-echo -e "coverimage3: $coverimage"
 
 ## Copy supporting files from repository to output directory
 cp ${repositorypath}/jquery.dataTables.css ${galaxypath}/jquery.dataTables.css
 cp ${repositorypath}/jquery.dataTables.js ${galaxypath}/jquery.dataTables.js
-cp -R ${repositorypath}/iframe-resizer/ ${galaxypath}/iframe-resizer/
-cp -R ${repositorypath}/DataTables-1.9.4/ ${galaxypath}/DataTables-1.9.4/
+cp -R ${repositorypath}/iframe-resizer/ ${galaxypath}/iframe-resizer/ > /dev/null 2>&1
+cp -R ${repositorypath}/DataTables-1.9.4/ ${galaxypath}/DataTables-1.9.4/ > /dev/null 2>&1
 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
@@ -90,12 +108,13 @@
 cp coverpage.html ${galaxypath}/coverpage.html
 
 ## Create Report page with tabs
-createMainPage ${galaxypath}/report.html "$tabs" "$items" $minwidth
+createMainPage ${galaxypath}/report.html "$tabs" "$items" $minwidth "$gbtracks"
 
 
 ## Create zip file of this iReport for download by user
 wd=`pwd`
 cd ${galaxypath}
-zip -r iReport_${reportname} .
+zip -r iReport_${reportname} . > /dev/null 2>&1
 cd $wd
 
+wait
\ No newline at end of file
b
diff -r 4e21ce709269 -r 42076db43d42 iReport.xml
--- a/iReport.xml Tue Oct 07 08:49:14 2014 -0400
+++ b/iReport.xml Mon Nov 16 08:56:22 2015 -0500
b
b'@@ -1,290 +1,525 @@\n <tool id="iReport" name="iReport" version="1">\n- \t<description> create an HTML report </description>\n \t\n-\t<requirements>\n+\t<!--  Note to Galaxy Admins:\n+\tThis wrapper contains one hidden parameter with hardcoded server location, this is currently needed for dalliance genome browser to function correctly,\n+\tplease change this value as needed! (see below for parameter: <param name="localhost" type="hidden" value="https://bioninf-galaxian.erasmusmc.nl"/>)\t\n+\t-->\n+\t\n+\t\n+\t<description> create an HTML report </description>\n+\t\n+        <requirements>\n \t\t<requirement type="set_environment">REPOSITORY_PATH</requirement>\n \t</requirements>\n-\t<command interpreter="bash"> \t\t\n+        \n+\t<command interpreter="bash"> \t\n+\t\t\n+\t\t#set $labelb64 = str($label).encode(\'base64\').replace(\'\\n\',\'\')\n+\t\t#set $coverimageb64 = str($coverimage).encode(\'base64\').replace(\'\\n\',\'\')\n+\t\t\n \t\tiReport.sh \n-\t\t\t--toolpath \\$REPOSITORY_PATH\n-\t\t\t--galaxypath ${report.files_path}\n-\t\t\t--htmlout ${report}\n-\t\t\t--minwidth ${minwidth}\n-\t\t\t--coverimage "-${coverimage}"\n-\t\t\t#for $i, $t in enumerate($tabs)\n-\t\t\t\t--tab ${t.tabtitle}\n-\t\t\t\t#for $j, $u in enumerate($t.content)\n-\t\t\t\t\t#if $u.filetype.itemtype == "image"\n-\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.zoomlevel}:${u.filetype.zoomenable}:${u.filetype.align}"\n-\t\t\t\t\t#else if $u.filetype.itemtype == "table"\n-\t\t\t\t\t\t#if $u.filetype.collink.columnhyperlink == "Y"\n-\t\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.fancy}:Y:${u.filetype.collink.urlcol}:${u.filetype.collink.urlprefix}:${u.filetype.collink.urlsuffix}:${u.filetype.collink.urlitems}"\n-\t\t\t\t\t\t#else\n-\t\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.fancy}:N"\n-\t\t\t\t\t\t#end if\n-\t\t\t\t\t#else if $u.filetype.itemtype == "link"\n-\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${__app__.security.encode_id($u.filetype.item.id)}:${u.filetype.ireport}:${u.filetype.item2}"\n-\t\t\t\t\t#else if $u.filetype.itemtype == "weblink"\n-\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.item2}"\n-\t\t\t\t\t#else if $u.filetype.itemtype == "text"\n-\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.md}"\n-\t\t\t\t\t#else if $u.filetype.itemtype == "textfile"\n-\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.md}"\n-\t\t\t\t\t#else if $u.filetype.itemtype == "htmlfile"\n-\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.height}"\n-\t\t\t\t\t#else \n-\t\t\t\t\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}"\n-\t\t\t\t\t#end if\n-\t\t\t\t#end for\n-\t\t\t#end for\n-\t\t\t--label "${label}"\n+\t\t--toolpath \\$REPOSITORY_PATH\n+\t\t--galaxypath ${report.files_path}\n+\t\t--htmlout ${report}\n+\t\t--minwidth ${minwidth}\n+\t\t--coverimage -${coverimageb64}\n+\t\t#for $i, $t in enumerate($tabs)\n+\t\t#set $tabtitleb64 = str($t.tabtitle).encode(\'base64\').replace(\'\\n\',\'\')\n+\t\t--tab ${tabtitleb64}\n+\t\t#for $j, $u in enumerate($t.content)\n+\t\t#if $u.filetype.itemtype == "image"\n+\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.zoomlevel}:${u.filetype.zoomenable}:${u.filetype.align}"\n+\t\t#else if $u.filetype.itemtype == "table"\n+\t\t#if $u.filetype.collink.columnhyperlink == "Y"\n+\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.fancy}:Y:${u.filetype.collink.urlcol}:${u.filetype.collink.urlprefix}:${u.filetype.collink.urlsuffix}:${u.filetype.collink.urlitems}:${u.filetype.minw}:${u.filetype.minh}"\n+\t\t#else\n+\t\t--item "${t.tabtitle}:${u.filetype.itemtype}:${u.filetype.item}:${u.filetype.break}:${u.filetype.fancy}:N:${u.filetype.minw}:${u.filetype.minh}"\n+\t\t#end if\n+\t\t#else if $u.filetype.itemtype == "link"\n+\t\t--item "${t.tabt'..b'="item2" type="text" size="100" label="link text" help="text to display as a link"/>\n-\t\t\t\t\t<param name="ireport" type="boolean" checked="False" truevalue="Y" falsevalue="N" label="is the link another iReport?"/>\n-\t\t\t\t\t<param name="break" type="boolean" checked="False" truevalue="Y" falsevalue="N" label="Insert break after item?" help="Insert a line break to force next item to appear below this one. If unchecked, the browser will decide layout"/>\n-\t\t\t\t</when>\n-\t\t\t\t<when value="links">\n-\t\t\t\t\t<param name="item" type="data" label="Archive with files to link to" help="links will be created to each file in the archive. Supported formats: zip, gz, tar, bz2"/>\n-\t\t\t\t\t<param name="break" type="boolean" checked="False" truevalue="Y" falsevalue="N" label="Insert break after item?" help="Insert a line break to force next item to appear below this one. If unchecked, the browser will decide layout" />\n-\t\t\t\t</when>\n-\t\t\t\t<when value="weblink">\n-\t\t\t\t\t<param name="item"  type="text" size="100" label="web location to link to " help="url to link to">\n-\t\t\t\t\t\t<sanitizer>\n-\t\t\t\t\t\t\t<valid initial="default"> \n-\t\t\t\t\t\t\t\t<add preset="string.printable"/> \n-\t\t\t\t\t\t\t\t<remove value="&amp;"/> \n-\t\t\t\t\t\t\t\t<remove value=":"/>\t\t\t\t\t\t\t\t\t\n-\t\t\t\t\t\t\t</valid> \n-\t\t\t\t\t\t\t<mapping initial="none"> \n-\t\t\t\t\t\t\t\t<add source="&amp;" target="==amp=="/>\n-\t\t\t\t\t\t\t\t<add source=":" target="==colon=="/>\t\t\t\t\t\t\t\t\n-\t\t\t\t\t\t\t</mapping> \n-\t\t\t\t\t\t</sanitizer>\n-\t\t\t\t\t</param>\n-\t\t\t\t\t<param name="item2" type="text" size="100" label="link text" help="text to display as a link"/>\n-\t\t\t\t\t<param name="break" type="boolean" checked="False" truevalue="Y" falsevalue="N" label="Insert break after item?" help="Insert a line break to force next item to appear below this one. If unchecked, the browser will decide layout"/>\n-\t\t\t\t</when>\n-\t\t\t</conditional>\n+\t\t\t\t\t\t</repeat>\t\t\t\t\t\t\n+\t\t\t\t\t\t<param name="break" type="boolean" checked="False" truevalue="Y" falsevalue="N" label="Insert break after item?" help="Insert a line break to force next item to appear below this one. If unchecked, the browser will decide layout" />\n+\t\t\t\t\t</when>\n+\t\t\t\t\t\n+\t\t\t\t</conditional>\n \t\t\t</repeat>\n \t\t</repeat>\n-  \t\t\n+\t\t\n+\t\t\n+\t\t\n+\t</inputs>\n+\t\n+\t<outputs>\n+\t\t<data format="html" name="report" label="iReport: ${label}"/>\n+\t</outputs>\n+\t\n+\t<help>  \n+\t\t============\n+\t\tiReport\n+\t\t============\n+\t\t\n+\t\tiReport is a tool for the easy creation of HTML reports from Galaxy datasets. Ideal to use as final step in a pipeline to display all results in a single, interactive report.\n \t\t\n \t\t\n-  \t</inputs>\n-\n-\t<outputs>\n-  \t\t<data format="html" name="report" label="HTML report: ${label}"/>\n-  \t</outputs>\n-  \t\n-  \t<help>  \n-============\n-iReport\n-============\n-\n-iReport is a tool for the easy creation of HTML reports from Galaxy datasets. Ideal to use as final step in a pipeline to display all results in a single, interactive report.\n-\n-\n-**What\'s new**\n-\n-- MarkDown support\n-- HTML content item type\n-- Link to download entire iReport on cover page\n-\n-\n-\n-**How to use**\n-\n-- Specify report title and cover image (url)\n-- Add any number of named tabs\n-- Add content items to each tab\n-\n-1. Text Field\n-2. Text File\n-3. PDF File\n-4. HTML File \n-5. Table \n-6. Image File\n-7. Links (URL/dataset)\n-8. Links to all files in an archive dataset\t\t\n-\n-**Example History**\n-\n-http://galaxy-demo.trait-ctmm.cloudlet.sara.nl/u/saskia-hiltemann/h/gcc2014-ireport-about-ireport\n-\n-\n-\n-\n+\t\t**What\'s new**\n+\t\t\n+\t\t- MarkDown support\n+\t\t- HTML content item type\n+\t\t- Link to download entire iReport on cover page\n+\t\t\n+\t\t\n+\t\t\n+\t\t**How to use**\n+\t\t\n+\t\t- Specify report title and cover image (url)\n+\t\t- Add any number of named tabs\n+\t\t- Add content items to each tab\n+\t\t\n+\t\t1. Text Field\n+\t\t2. Text File\n+\t\t3. PDF File\n+\t\t4. HTML File \n+\t\t5. Table \n+\t\t6. Image File\n+\t\t7. Links (URL/dataset)\n+\t\t8. Links to all files in an archive dataset\t\t\n+\t\t\n+\t\t**Example History**\n+\t\t\n+\t\thttp://galaxy-demo.trait-ctmm.cloudlet.sara.nl/u/saskia-hiltemann/h/gcc2014-ireport-about-ireport\n+\t\t\n+\t\t\n+\t\t\n+\t\t\n \t</help>\n </tool>\n'
b
diff -r 4e21ce709269 -r 42076db43d42 iframe-resizer/.gitignore
--- a/iframe-resizer/.gitignore Tue Oct 07 08:49:14 2014 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,4 +0,0 @@
-.DS_Store
-node_modules
-bin
-example/test.html
b
diff -r 4e21ce709269 -r 42076db43d42 iframe-resizer/.travis.yml
--- a/iframe-resizer/.travis.yml Tue Oct 07 08:49:14 2014 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,5 +0,0 @@
-language: node_js
-node_js:
-  - "0.11"
-before_script:
-  - npm install -g grunt-cli
\ No newline at end of file
b
diff -r 4e21ce709269 -r 42076db43d42 ireport_css.css
--- a/ireport_css.css Tue Oct 07 08:49:14 2014 -0400
+++ b/ireport_css.css Mon Nov 16 08:56:22 2015 -0500
b
@@ -6,7 +6,7 @@
    .invisibleframe{
     border: 0px;
     overflow: hidden;
-    min-height: 350px !important;
+    min-height: 350px;
    }
    .mylinks{
    color: blue !important;
@@ -22,4 +22,4 @@
     max-width: ${minwidth}px;
     margin: 0 auto;
     padding: 30px;
-   }
\ No newline at end of file
+   }
b
diff -r 4e21ce709269 -r 42076db43d42 jquery.dataTables.css.new
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jquery.dataTables.css.new Mon Nov 16 08:56:22 2015 -0500
b
b'@@ -0,0 +1,450 @@\n+/*\n+ * Table styles\n+ */\n+table.dataTable {\n+  width: 100%;\n+  margin: 0 auto;\n+  clear: both;\n+  border-collapse: separate;\n+  border-spacing: 0;\n+  /*\n+   * Header and footer styles\n+   */\n+  /*\n+   * Body styles\n+   */\n+}\n+table.dataTable thead th,\n+table.dataTable tfoot th {\n+  font-weight: bold;\n+}\n+table.dataTable thead th,\n+table.dataTable thead td {\n+  padding: 10px 18px;\n+  border-bottom: 1px solid #111;\n+}\n+table.dataTable thead th:active,\n+table.dataTable thead td:active {\n+  outline: none;\n+}\n+table.dataTable tfoot th,\n+table.dataTable tfoot td {\n+  padding: 10px 18px 6px 18px;\n+  border-top: 1px solid #111;\n+}\n+table.dataTable thead .sorting,\n+table.dataTable thead .sorting_asc,\n+table.dataTable thead .sorting_desc {\n+  cursor: pointer;\n+  *cursor: hand;\n+}\n+table.dataTable thead .sorting,\n+table.dataTable thead .sorting_asc,\n+table.dataTable thead .sorting_desc,\n+table.dataTable thead .sorting_asc_disabled,\n+table.dataTable thead .sorting_desc_disabled {\n+  background-repeat: no-repeat;\n+  background-position: center right;\n+}\n+table.dataTable thead .sorting {\n+  background-image: url("../images/sort_both.png");\n+}\n+table.dataTable thead .sorting_asc {\n+  background-image: url("../images/sort_asc.png");\n+}\n+table.dataTable thead .sorting_desc {\n+  background-image: url("../images/sort_desc.png");\n+}\n+table.dataTable thead .sorting_asc_disabled {\n+  background-image: url("../images/sort_asc_disabled.png");\n+}\n+table.dataTable thead .sorting_desc_disabled {\n+  background-image: url("../images/sort_desc_disabled.png");\n+}\n+table.dataTable tbody tr {\n+  background-color: #ffffff;\n+}\n+table.dataTable tbody tr.selected {\n+  background-color: #B0BED9;\n+}\n+table.dataTable tbody th,\n+table.dataTable tbody td {\n+  padding: 8px 10px;\n+}\n+table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {\n+  border-top: 1px solid #ddd;\n+}\n+table.dataTable.row-border tbody tr:first-child th,\n+table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,\n+table.dataTable.display tbody tr:first-child td {\n+  border-top: none;\n+}\n+table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {\n+  border-top: 1px solid #ddd;\n+  border-right: 1px solid #ddd;\n+}\n+table.dataTable.cell-border tbody tr th:first-child,\n+table.dataTable.cell-border tbody tr td:first-child {\n+  border-left: 1px solid #ddd;\n+}\n+table.dataTable.cell-border tbody tr:first-child th,\n+table.dataTable.cell-border tbody tr:first-child td {\n+  border-top: none;\n+}\n+table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {\n+  background-color: #f9f9f9;\n+}\n+table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {\n+  background-color: #acbad4;\n+}\n+table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {\n+  background-color: #f6f6f6;\n+}\n+table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {\n+  background-color: #aab7d1;\n+}\n+table.dataTable.order-column tbody tr > .sorting_1,\n+table.dataTable.order-column tbody tr > .sorting_2,\n+table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,\n+table.dataTable.display tbody tr > .sorting_2,\n+table.dataTable.display tbody tr > .sorting_3 {\n+  background-color: #fafafa;\n+}\n+table.dataTable.order-column tbody tr.selected > .sorting_1,\n+table.dataTable.order-column tbody tr.selected > .sorting_2,\n+table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,\n+table.dataTable.display tbody tr.selected > .sorting_2,\n+table.dataTable.display tbody tr.selected > .sorting_3 {\n+  background-color: #acbad5;\n+}\n+table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {\n+  background-color: #f1f1f1;\n+}\n+table.dataTable.displa'..b'ackground: -moz-linear-gradient(top, #585858 0%, #111 100%);\n+  /* FF3.6+ */\n+  background: -ms-linear-gradient(top, #585858 0%, #111 100%);\n+  /* IE10+ */\n+  background: -o-linear-gradient(top, #585858 0%, #111 100%);\n+  /* Opera 11.10+ */\n+  background: linear-gradient(to bottom, #585858 0%, #111 100%);\n+  /* W3C */\n+}\n+.dataTables_wrapper .dataTables_paginate .paginate_button:active {\n+  outline: none;\n+  background-color: #2b2b2b;\n+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));\n+  /* Chrome,Safari4+ */\n+  background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);\n+  /* Chrome10+,Safari5.1+ */\n+  background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);\n+  /* FF3.6+ */\n+  background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);\n+  /* IE10+ */\n+  background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);\n+  /* Opera 11.10+ */\n+  background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);\n+  /* W3C */\n+  box-shadow: inset 0 0 3px #111;\n+}\n+.dataTables_wrapper .dataTables_paginate .ellipsis {\n+  padding: 0 1em;\n+}\n+.dataTables_wrapper .dataTables_processing {\n+  position: absolute;\n+  top: 50%;\n+  left: 50%;\n+  width: 100%;\n+  height: 40px;\n+  margin-left: -50%;\n+  margin-top: -25px;\n+  padding-top: 20px;\n+  text-align: center;\n+  font-size: 1.2em;\n+  background-color: white;\n+  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));\n+  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\n+  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\n+  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\n+  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\n+  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\n+}\n+.dataTables_wrapper .dataTables_length,\n+.dataTables_wrapper .dataTables_filter,\n+.dataTables_wrapper .dataTables_info,\n+.dataTables_wrapper .dataTables_processing,\n+.dataTables_wrapper .dataTables_paginate {\n+  color: #333;\n+}\n+.dataTables_wrapper .dataTables_scroll {\n+  clear: both;\n+}\n+.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {\n+  *margin-top: -1px;\n+  -webkit-overflow-scrolling: touch;\n+}\n+.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,\n+.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {\n+  height: 0;\n+  overflow: hidden;\n+  margin: 0 !important;\n+  padding: 0 !important;\n+}\n+.dataTables_wrapper.no-footer .dataTables_scrollBody {\n+  border-bottom: 1px solid #111;\n+}\n+.dataTables_wrapper.no-footer div.dataTables_scrollHead table,\n+.dataTables_wrapper.no-footer div.dataTables_scrollBody table {\n+  border-bottom: none;\n+}\n+.dataTables_wrapper:after {\n+  visibility: hidden;\n+  display: block;\n+  content: "";\n+  clear: both;\n+  height: 0;\n+}\n+\n+@media screen and (max-width: 767px) {\n+  .dataTables_wrapper .dataTables_info,\n+  .dataTables_wrapper .dataTables_paginate {\n+    float: none;\n+    text-align: center;\n+  }\n+  .dataTables_wrapper .dataTables_paginate {\n+    margin-top: 0.5em;\n+  }\n+}\n+@media screen and (max-width: 640px) {\n+  .dataTables_wrapper .dataTables_length,\n+  .dataTables_wrapper .dataTables_filter {\n+    float: none;\n+    text-align: center;\n+  }\n+  .dataTables_wrapper .dataTables_filter {\n+    margin-top: 0.5em;\n+  }\n+}\n'
b
diff -r 4e21ce709269 -r 42076db43d42 jquery.dataTables.js
--- a/jquery.dataTables.js Tue Oct 07 08:49:14 2014 -0400
+++ b/jquery.dataTables.js Mon Nov 16 08:56:22 2015 -0500
[
@@ -7967,7 +7967,7 @@
   *      } );
   *    } );
   */
- "aLengthMenu": [[10, 100, 1000, -1], [10, 100, 1000, "All"]],
+ "aLengthMenu": [[10, 25, 50, 100, 250, 500, 1000, -1], [10, 25, 50, 100, 250, 500, 1000, "All"]],
 
 
  /**
b
diff -r 4e21ce709269 -r 42076db43d42 jquery.dataTables.js.vew
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jquery.dataTables.js.vew Mon Nov 16 08:56:22 2015 -0500
[
b'@@ -0,0 +1,15129 @@\n+/*! DataTables 1.10.9\n+ * \xc2\xa92008-2015 SpryMedia Ltd - datatables.net/license\n+ */\n+\n+/**\n+ * @summary     DataTables\n+ * @description Paginate, search and order HTML tables\n+ * @version     1.10.9\n+ * @file        jquery.dataTables.js\n+ * @author      SpryMedia Ltd (www.sprymedia.co.uk)\n+ * @contact     www.sprymedia.co.uk/contact\n+ * @copyright   Copyright 2008-2015 SpryMedia Ltd.\n+ *\n+ * This source file is free software, available under the following license:\n+ *   MIT license - http://datatables.net/license\n+ *\n+ * This source file is distributed in the hope that it will be useful, but\n+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\n+ *\n+ * For details please refer to: http://www.datatables.net\n+ */\n+\n+/*jslint evil: true, undef: true, browser: true */\n+/*globals $,require,jQuery,define,_selector_run,_selector_opts,_selector_first,_selector_row_indexes,_ext,_Api,_api_register,_api_registerPlural,_re_new_lines,_re_html,_re_formatted_numeric,_re_escape_regex,_empty,_intVal,_numToDecimal,_isNumber,_isHtml,_htmlNumeric,_pluck,_pluck_order,_range,_stripHtml,_unique,_fnBuildAjax,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnAjaxDataSrc,_fnAddColumn,_fnColumnOptions,_fnAdjustColumnSizing,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnVisbleColumns,_fnGetColumns,_fnColumnTypes,_fnApplyColumnDefs,_fnHungarianMap,_fnCamelToHungarian,_fnLanguageCompat,_fnBrowserDetect,_fnAddData,_fnAddTr,_fnNodeToDataIndex,_fnNodeToColumnIndex,_fnGetCellData,_fnSetCellData,_fnSplitObjNotation,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnGetDataMaster,_fnClearTable,_fnDeleteIndex,_fnInvalidate,_fnGetRowElements,_fnCreateTr,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAddOptionsHtml,_fnDetectHeader,_fnGetUniqueThs,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnFilterCreateSearch,_fnEscapeRegex,_fnFilterData,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnInfoMacros,_fnInitialise,_fnInitComplete,_fnLengthChange,_fnFeatureHtmlLength,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnFeatureHtmlTable,_fnScrollDraw,_fnApplyToChildren,_fnCalculateColumnWidths,_fnThrottle,_fnConvertToWidth,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnSortFlatten,_fnSort,_fnSortAria,_fnSortListener,_fnSortAttachListener,_fnSortingClasses,_fnSortData,_fnSaveState,_fnLoadState,_fnSettingsFromNode,_fnLog,_fnMap,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnLengthOverflow,_fnRenderer,_fnDataSource,_fnRowAttributes*/\n+\n+(/** @lends <global> */function( window, document, undefined ) {\n+\n+(function( factory ) {\n+\t"use strict";\n+\n+\tif ( typeof define === \'function\' && define.amd ) {\n+\t\t// Define as an AMD module if possible\n+\t\tdefine( \'datatables\', [\'jquery\'], factory );\n+\t}\n+\telse if ( typeof exports === \'object\' ) {\n+\t\t// Node/CommonJS\n+\t\tmodule.exports = factory( require( \'jquery\' ) );\n+\t}\n+\telse if ( jQuery && !jQuery.fn.dataTable ) {\n+\t\t// Define using browser globals otherwise\n+\t\t// Prevent multiple instantiations if the script is loaded twice\n+\t\tfactory( jQuery );\n+\t}\n+}\n+(/** @lends <global> */function( $ ) {\n+\t"use strict";\n+\n+\t/**\n+\t * DataTables is a plug-in for the jQuery Javascript library. It is a highly\n+\t * flexible tool, based upon the foundations of progressive enhancement,\n+\t * which will add advanced interaction controls to any HTML table. For a\n+\t * full list of features please refer to\n+\t * [DataTables.net](href="http://datatables.net).\n+\t *\n+\t * Note that the `DataTable` object is not a global variable but is aliased\n+\t * to `jQuery.fn.DataTable` and `jQuery.fn.dataTable` through which it may\n+\t * be  accessed.\n+\t *\n+\t *  @class\n+\t *  @param {object} [init={}] Configuration object for DataTables. Options\n+\t *    are defined by {@link DataTable.defaults}\n+\t *  @requires jQuery 1.7+\n+\t *\n+\t *  @example\n+\t *    // Basic initialisation\n+\t *    $(document).ready'..b"ate from the stored\n+\t * data, but prior to the settings object being modified by the saved state\n+\t * - allowing modification of the saved state is required or loading of\n+\t * state for a plug-in.\n+\t *  @name DataTable#stateLoadParams.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} oSettings DataTables settings object\n+\t *  @param {object} json The saved state information\n+\t */\n+\n+\t/**\n+\t * State loaded event, fired when state has been loaded from stored data and\n+\t * the settings object has been modified by the loaded data.\n+\t *  @name DataTable#stateLoaded.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} oSettings DataTables settings object\n+\t *  @param {object} json The saved state information\n+\t */\n+\n+\t/**\n+\t * Processing event, fired when DataTables is doing some kind of processing\n+\t * (be it, order, searcg or anything else). It can be used to indicate to\n+\t * the end user that there is something happening, or that something has\n+\t * finished.\n+\t *  @name DataTable#processing.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} oSettings DataTables settings object\n+\t *  @param {boolean} bShow Flag for if DataTables is doing processing or not\n+\t */\n+\n+\t/**\n+\t * Ajax (XHR) event, fired whenever an Ajax request is completed from a\n+\t * request to made to the server for new data. This event is called before\n+\t * DataTables processed the returned data, so it can also be used to pre-\n+\t * process the data returned from the server, if needed.\n+\t *\n+\t * Note that this trigger is called in `fnServerData`, if you override\n+\t * `fnServerData` and which to use this event, you need to trigger it in you\n+\t * success function.\n+\t *  @name DataTable#xhr.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\n+\t *  @param {object} json JSON returned from the server\n+\t *\n+\t *  @example\n+\t *     // Use a custom property returned from the server in another DOM element\n+\t *     $('#table').dataTable().on('xhr.dt', function (e, settings, json) {\n+\t *       $('#status').html( json.status );\n+\t *     } );\n+\t *\n+\t *  @example\n+\t *     // Pre-process the data returned from the server\n+\t *     $('#table').dataTable().on('xhr.dt', function (e, settings, json) {\n+\t *       for ( var i=0, ien=json.aaData.length ; i<ien ; i++ ) {\n+\t *         json.aaData[i].sum = json.aaData[i].one + json.aaData[i].two;\n+\t *       }\n+\t *       // Note no return - manipulate the data directly in the JSON object.\n+\t *     } );\n+\t */\n+\n+\t/**\n+\t * Destroy event, fired when the DataTable is destroyed by calling fnDestroy\n+\t * or passing the bDestroy:true parameter in the initialisation object. This\n+\t * can be used to remove bound events, added DOM nodes, etc.\n+\t *  @name DataTable#destroy.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\n+\t */\n+\n+\t/**\n+\t * Page length change event, fired when number of records to show on each\n+\t * page (the length) is changed.\n+\t *  @name DataTable#length.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\n+\t *  @param {integer} len New length\n+\t */\n+\n+\t/**\n+\t * Column sizing has changed.\n+\t *  @name DataTable#column-sizing.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\n+\t */\n+\n+\t/**\n+\t * Column visibility has changed.\n+\t *  @name DataTable#column-visibility.dt\n+\t *  @event\n+\t *  @param {event} e jQuery event object\n+\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\n+\t *  @param {int} column Column index\n+\t *  @param {bool} vis `false` if column now hidden, or `true` if visible\n+\t */\n+\n+\treturn $.fn.dataTable;\n+}));\n+\n+}(window, document));\n+\n"
b
diff -r 4e21ce709269 -r 42076db43d42 tool_dependencies.xml
--- a/tool_dependencies.xml Tue Oct 07 08:49:14 2014 -0400
+++ b/tool_dependencies.xml Mon Nov 16 08:56:22 2015 -0500
b
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <tool_dependency>
  <set_environment version="1.0">
-        <environment_variable name="REPOSITORY_PATH" action="set_to">$REPOSITORY_INSTALL_DIR</environment_variable>               
+        <environment_variable name="REPOSITORY_PATH" action="set_to">$INSTALL_DIR</environment_variable>               
     </set_environment>
 </tool_dependency>
 
b
diff -r 4e21ce709269 -r 42076db43d42 tsv2html.pl
--- a/tsv2html.pl Tue Oct 07 08:49:14 2014 -0400
+++ b/tsv2html.pl Mon Nov 16 08:56:22 2015 -0500
b
@@ -19,7 +19,7 @@
          "bAutoWidth": true    
      } );
  } );
- <!-- data tables -->   
+ <!-- data tables tsv2html.pl-->   
 </script>
 
 <link rel="stylesheet" type="text/css" href="jquery.dataTables.css">
b
diff -r 4e21ce709269 -r 42076db43d42 tsv2html_simple.pl
--- a/tsv2html_simple.pl Tue Oct 07 08:49:14 2014 -0400
+++ b/tsv2html_simple.pl Mon Nov 16 08:56:22 2015 -0500
b
@@ -3,8 +3,8 @@
    "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
-<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
-<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/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>
@@ -17,10 +17,10 @@
          "bFilter": false,
          "bSort": false,
          "bInfo": false,
-         "bAutoWidth": true    
+         "bAutoWidth": false    
      } );
  } );
- <!-- data tables -->   
+ <!-- data tables tsv2html_simple.pl -->   
 </script>
 
 <link rel="stylesheet" type="text/css" href="jquery.dataTables.css">