From 89c5196c2aa2c01cb067d9331b90b71470e428d7 Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 29 Jan 2019 09:26:06 -0500 Subject: [PATCH] Update Export GFF3 to fix browsers with Array.prototype.values enabled --- src/JBrowse/View/Export/GFF3.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/JBrowse/View/Export/GFF3.js b/src/JBrowse/View/Export/GFF3.js index e65447f7b6..3e37d8d264 100644 --- a/src/JBrowse/View/Export/GFF3.js +++ b/src/JBrowse/View/Export/GFF3.js @@ -197,17 +197,19 @@ return declare( ExportBase, if(!val) { continue; } + var valstring = val.hasOwnProperty( 'toString' ) ? gff.util.escape( val.toString() ) : - val.values - ? function(val) { - return val instanceof Array - ? array.map( val, lang.hitch(this,'_gff3_escape') ).join(',') - : gff.util.escape( val ); - }.call(this,val.values) : + val instanceof Array - ? array.map( val, lang.hitch(this,'_gff3_escape') ).join(',') - : gff.util.escape( val ); + ? array.map( val, s => gff.util.escape( s ) ).join(',') + : + + val.values + ? val instanceof Array + ? array.map( val, s => gff.util.escape( s ) ).join(',') + : gff.util.escape( val ) + : gff.util.escape(val) attrOrder.push( gff.util.escape( tag )+'='+valstring); } return attrOrder.join(';') || '.';