@papaemmelab/isabl-web 0.3.40 → 0.3.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14732,7 +14732,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".link-chip{text-decoration:none}.link-
14732
14732
 
14733
14733
  /***/ }),
14734
14734
 
14735
- /***/ 74920:
14735
+ /***/ 2964:
14736
14736
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
14737
14737
 
14738
14738
  "use strict";
@@ -14746,7 +14746,7 @@ __webpack_require__.r(__webpack_exports__);
14746
14746
 
14747
14747
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
14748
14748
  // Module
14749
- ___CSS_LOADER_EXPORT___.push([module.id, ".tsv-table{max-width:100%;max-height:100%;margin:0 auto;overflow:auto}.v-dialog{overflow-y:visible!important}.v-dialog:not(.v-dialog--fullscreen){max-height:100%!important;max-width:calc(100% - 48px)}.v-dialog iframe.results-iframe{height:100%!important}.v-dialog.gallery-dialog{height:calc(100vh - 60px)}.results-image{max-width:100%;max-height:85vh;margin:auto;max-height:100%;width:auto}.gallery-card ::-webkit-scrollbar{width:0;height:0}.v-application .gallery-card .gallery-content{background:var(--v-background-base)}.v-application .gallery-card pre{white-space:pre-line}.v-application .gallery-card pre.pre-wrap{white-space:pre-wrap}.v-application .gallery-card pre code{font-size:12px;font-weight:600}.v-application .gallery-card.theme--dark code{background-color:rgba(0,0,0,.05)}.v-application .gallery-card code.v-markup,.v-application .gallery-card pre.v-markup{padding:10px;width:100%;height:100%;text-align:start;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;overflow-x:auto;overflow-y:auto;margin:0;top:0;color:#fff;border-radius:0;background:#000;font-size:12px;font-weight:600}.v-application .gallery-card code.v-markup code.hljs,.v-application .gallery-card pre.v-markup code.hljs{font-size:12px;padding:0}.v-application .gallery-card code.v-markup code.hljs .hljs-addition,.v-application .gallery-card code.v-markup code.hljs .hljs-built_in,.v-application .gallery-card code.v-markup code.hljs .hljs-builtin-name,.v-application .gallery-card code.v-markup code.hljs .hljs-bullet,.v-application .gallery-card code.v-markup code.hljs .hljs-emphasis,.v-application .gallery-card code.v-markup code.hljs .hljs-section,.v-application .gallery-card code.v-markup code.hljs .hljs-selector-attr,.v-application .gallery-card code.v-markup code.hljs .hljs-selector-pseudo,.v-application .gallery-card code.v-markup code.hljs .hljs-string,.v-application .gallery-card code.v-markup code.hljs .hljs-subst,.v-application .gallery-card code.v-markup code.hljs .hljs-template-tag,.v-application .gallery-card code.v-markup code.hljs .hljs-template-variable,.v-application .gallery-card code.v-markup code.hljs .hljs-title,.v-application .gallery-card code.v-markup code.hljs .hljs-type,.v-application .gallery-card code.v-markup code.hljs .hljs-variable,.v-application .gallery-card pre.v-markup code.hljs .hljs-addition,.v-application .gallery-card pre.v-markup code.hljs .hljs-built_in,.v-application .gallery-card pre.v-markup code.hljs .hljs-builtin-name,.v-application .gallery-card pre.v-markup code.hljs .hljs-bullet,.v-application .gallery-card pre.v-markup code.hljs .hljs-emphasis,.v-application .gallery-card pre.v-markup code.hljs .hljs-section,.v-application .gallery-card pre.v-markup code.hljs .hljs-selector-attr,.v-application .gallery-card pre.v-markup code.hljs .hljs-selector-pseudo,.v-application .gallery-card pre.v-markup code.hljs .hljs-string,.v-application .gallery-card pre.v-markup code.hljs .hljs-subst,.v-application .gallery-card pre.v-markup code.hljs .hljs-template-tag,.v-application .gallery-card pre.v-markup code.hljs .hljs-template-variable,.v-application .gallery-card pre.v-markup code.hljs .hljs-title,.v-application .gallery-card pre.v-markup code.hljs .hljs-type,.v-application .gallery-card pre.v-markup code.hljs .hljs-variable{color:var(--v-warning-base)}.v-application .gallery-card .tsv-table{border:thin solid rgba(0,0,0,.12);margin-left:0}.v-application .gallery-card .tsv-table .theme--dark thead tr th{background:var(--v-surface-darken1)}.v-application .gallery-card .tsv-table .theme--dark thead tr th span{color:#9e9e9e}.v-application .gallery-card .tsv-table .theme--dark tbody tr td{background:var(--v-background-base)}.v-application .gallery-card .tsv-table .theme--dark tbody tr td span{color:#9e9e9e}.v-application .gallery-card .tsv-table thead tr th{background:var(--v-background-base);max-width:250px;white-space:nowrap}.v-application .gallery-card .tsv-table thead tr th span{font-size:12px;font-family:Roboto;color:#333}.v-application .gallery-card .tsv-table tbody tr td{font-size:12px;font-family:Roboto;overflow-x:auto;white-space:nowrap;max-width:250px}.v-application .gallery-card .tsv-table tbody tr td.line-column,.v-application .gallery-card .tsv-table thead tr th.line-column{background:var(--v-surface-darken1);width:50px;text-align:right;font-weight:400;position:sticky!important;left:0;z-index:9998}.v-application .gallery-card .tsv-table thead tr th .line-column{z-index:9999}.v-application .gallery-card .stream-message{font-size:12px;font-style:italic;margin:20px 0}", ""]);
14749
+ ___CSS_LOADER_EXPORT___.push([module.id, ".tsv-table{max-width:100%;max-height:100%;margin:0 auto;overflow:auto}.v-dialog{overflow-y:visible!important}.v-dialog:not(.v-dialog--fullscreen){max-height:100%!important;max-width:calc(100% - 48px)}.v-dialog iframe.results-iframe{height:100%!important}.v-dialog.gallery-dialog{height:calc(100vh - 60px)}.results-image{max-width:100%;max-height:85vh;margin:auto;max-height:100%;width:auto}.gallery-card ::-webkit-scrollbar{width:0;height:0}.v-application .gallery-card .gallery-content{background:var(--v-background-base)}.v-application .gallery-card pre{white-space:pre-}.v-application .gallery-card pre.pre-wrap{white-space:pre-wrap}.v-application .gallery-card pre code{font-size:12px;font-weight:600}.v-application .gallery-card.theme--dark code{background-color:rgba(0,0,0,.05)}.v-application .gallery-card code.v-markup,.v-application .gallery-card pre.v-markup{padding:10px;width:100%;height:100%;text-align:start;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;overflow-x:auto;overflow-y:auto;margin:0;top:0;color:#fff;border-radius:0;background:#000;font-size:12px;font-weight:600}.v-application .gallery-card code.v-markup code.hljs,.v-application .gallery-card pre.v-markup code.hljs{font-size:12px;padding:0}.v-application .gallery-card code.v-markup code.hljs .hljs-addition,.v-application .gallery-card code.v-markup code.hljs .hljs-built_in,.v-application .gallery-card code.v-markup code.hljs .hljs-builtin-name,.v-application .gallery-card code.v-markup code.hljs .hljs-bullet,.v-application .gallery-card code.v-markup code.hljs .hljs-emphasis,.v-application .gallery-card code.v-markup code.hljs .hljs-section,.v-application .gallery-card code.v-markup code.hljs .hljs-selector-attr,.v-application .gallery-card code.v-markup code.hljs .hljs-selector-pseudo,.v-application .gallery-card code.v-markup code.hljs .hljs-string,.v-application .gallery-card code.v-markup code.hljs .hljs-subst,.v-application .gallery-card code.v-markup code.hljs .hljs-template-tag,.v-application .gallery-card code.v-markup code.hljs .hljs-template-variable,.v-application .gallery-card code.v-markup code.hljs .hljs-title,.v-application .gallery-card code.v-markup code.hljs .hljs-type,.v-application .gallery-card code.v-markup code.hljs .hljs-variable,.v-application .gallery-card pre.v-markup code.hljs .hljs-addition,.v-application .gallery-card pre.v-markup code.hljs .hljs-built_in,.v-application .gallery-card pre.v-markup code.hljs .hljs-builtin-name,.v-application .gallery-card pre.v-markup code.hljs .hljs-bullet,.v-application .gallery-card pre.v-markup code.hljs .hljs-emphasis,.v-application .gallery-card pre.v-markup code.hljs .hljs-section,.v-application .gallery-card pre.v-markup code.hljs .hljs-selector-attr,.v-application .gallery-card pre.v-markup code.hljs .hljs-selector-pseudo,.v-application .gallery-card pre.v-markup code.hljs .hljs-string,.v-application .gallery-card pre.v-markup code.hljs .hljs-subst,.v-application .gallery-card pre.v-markup code.hljs .hljs-template-tag,.v-application .gallery-card pre.v-markup code.hljs .hljs-template-variable,.v-application .gallery-card pre.v-markup code.hljs .hljs-title,.v-application .gallery-card pre.v-markup code.hljs .hljs-type,.v-application .gallery-card pre.v-markup code.hljs .hljs-variable{color:var(--v-warning-base)}.v-application .gallery-card .tsv-table{border:thin solid rgba(0,0,0,.12);margin-left:0}.v-application .gallery-card .tsv-table .theme--dark thead tr th{background:var(--v-surface-darken1)}.v-application .gallery-card .tsv-table .theme--dark thead tr th span{color:#9e9e9e}.v-application .gallery-card .tsv-table .theme--dark tbody tr td{background:var(--v-background-base)}.v-application .gallery-card .tsv-table .theme--dark tbody tr td span{color:#9e9e9e}.v-application .gallery-card .tsv-table thead tr th{background:var(--v-background-base);max-width:250px;white-space:nowrap}.v-application .gallery-card .tsv-table thead tr th span{font-size:12px;font-family:Roboto;color:#333}.v-application .gallery-card .tsv-table tbody tr td{font-size:12px;font-family:Roboto;overflow-x:auto;white-space:nowrap;max-width:250px}.v-application .gallery-card .tsv-table tbody tr td.line-column,.v-application .gallery-card .tsv-table thead tr th.line-column{background:var(--v-surface-darken1);width:50px;text-align:right;font-weight:400;position:sticky!important;left:0;z-index:9998}.v-application .gallery-card .tsv-table thead tr th .line-column{z-index:9999}.v-application .gallery-card .stream-message{font-size:12px;font-style:italic;margin:20px 0}", ""]);
14750
14750
  // Exports
14751
14751
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
14752
14752
 
@@ -97189,19 +97189,19 @@ var update = add("05b2f32b", content, true, {"sourceMap":false,"shadowMode":fals
97189
97189
 
97190
97190
  /***/ }),
97191
97191
 
97192
- /***/ 65160:
97192
+ /***/ 7786:
97193
97193
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
97194
97194
 
97195
97195
  // style-loader: Adds some css to the DOM by adding a <style> tag
97196
97196
 
97197
97197
  // load the styles
97198
- var content = __webpack_require__(74920);
97198
+ var content = __webpack_require__(2964);
97199
97199
  if(content.__esModule) content = content.default;
97200
97200
  if(typeof content === 'string') content = [[module.id, content, '']];
97201
97201
  if(content.locals) module.exports = content.locals;
97202
97202
  // add the styles to the DOM
97203
97203
  var add = (__webpack_require__(54402)/* ["default"] */ .Z)
97204
- var update = add("05974fe8", content, true, {"sourceMap":false,"shadowMode":false});
97204
+ var update = add("6a740c7a", content, true, {"sourceMap":false,"shadowMode":false});
97205
97205
 
97206
97206
  /***/ }),
97207
97207
 
@@ -211010,7 +211010,7 @@ var MainSearchvue_type_template_id_2cb26e73_staticRenderFns = (cov_2lhq1nc7mg.s[
211010
211010
  ;// CONCATENATED MODULE: ./src/components/search/MainSearch.vue?vue&type=template&id=2cb26e73&
211011
211011
 
211012
211012
  ;// CONCATENATED MODULE: ./package.json
211013
- var package_namespaceObject = {"i8":"0.3.29"};
211013
+ var package_namespaceObject = {"i8":"0.3.41"};
211014
211014
  ;// CONCATENATED MODULE: ./src/utils/settings.js
211015
211015
  var cov_3nf1oz8ck = function () {
211016
211016
  var path = "/Users/arangooj/Developer/isabl_web/src/utils/settings.js";
@@ -273644,10 +273644,10 @@ var RerunButton_component = normalizeComponent(
273644
273644
  )
273645
273645
 
273646
273646
  /* harmony default export */ var RerunButton = (RerunButton_component.exports);
273647
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/analyses/ResultsGallery.vue?vue&type=template&id=62a557f9&
273647
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/analyses/ResultsGallery.vue?vue&type=template&id=6168a310&
273648
273648
  var cov_4n0g9kegj = function () {
273649
273649
  var path = "/Users/arangooj/Developer/isabl_web/src/components/analyses/ResultsGallery.vue";
273650
- var hash = "c0fafb6720b82af84106c54081ff6e025e6eb50b";
273650
+ var hash = "9241f7cbbf80e481e68a6e9c38f57fc9d916c6a4";
273651
273651
  var global = new Function("return this")();
273652
273652
  var gcv = "__coverage__";
273653
273653
  var coverageData = {
@@ -273690,7 +273690,7 @@ var cov_4n0g9kegj = function () {
273690
273690
  },
273691
273691
  end: {
273692
273692
  line: 1,
273693
- column: 6634
273693
+ column: 6667
273694
273694
  }
273695
273695
  },
273696
273696
  "4": {
@@ -273786,31 +273786,31 @@ var cov_4n0g9kegj = function () {
273786
273786
  "13": {
273787
273787
  start: {
273788
273788
  line: 1,
273789
- column: 5097
273789
+ column: 5130
273790
273790
  },
273791
273791
  end: {
273792
273792
  line: 1,
273793
- column: 5414
273793
+ column: 5447
273794
273794
  }
273795
273795
  },
273796
273796
  "14": {
273797
273797
  start: {
273798
273798
  line: 1,
273799
- column: 5146
273799
+ column: 5179
273800
273800
  },
273801
273801
  end: {
273802
273802
  line: 1,
273803
- column: 5408
273803
+ column: 5441
273804
273804
  }
273805
273805
  },
273806
273806
  "15": {
273807
273807
  start: {
273808
273808
  line: 1,
273809
- column: 5224
273809
+ column: 5257
273810
273810
  },
273811
273811
  end: {
273812
273812
  line: 1,
273813
- column: 5403
273813
+ column: 5436
273814
273814
  }
273815
273815
  },
273816
273816
  "16": {
@@ -274070,21 +274070,21 @@ var cov_4n0g9kegj = function () {
274070
274070
  decl: {
274071
274071
  start: {
274072
274072
  line: 1,
274073
- column: 5077
274073
+ column: 5110
274074
274074
  },
274075
274075
  end: {
274076
274076
  line: 1,
274077
- column: 5078
274077
+ column: 5111
274078
274078
  }
274079
274079
  },
274080
274080
  loc: {
274081
274081
  start: {
274082
274082
  line: 1,
274083
- column: 5096
274083
+ column: 5129
274084
274084
  },
274085
274085
  end: {
274086
274086
  line: 1,
274087
- column: 5415
274087
+ column: 5448
274088
274088
  }
274089
274089
  },
274090
274090
  line: 1
@@ -274094,21 +274094,21 @@ var cov_4n0g9kegj = function () {
274094
274094
  decl: {
274095
274095
  start: {
274096
274096
  line: 1,
274097
- column: 5131
274097
+ column: 5164
274098
274098
  },
274099
274099
  end: {
274100
274100
  line: 1,
274101
- column: 5132
274101
+ column: 5165
274102
274102
  }
274103
274103
  },
274104
274104
  loc: {
274105
274105
  start: {
274106
274106
  line: 1,
274107
- column: 5145
274107
+ column: 5178
274108
274108
  },
274109
274109
  end: {
274110
274110
  line: 1,
274111
- column: 5409
274111
+ column: 5442
274112
274112
  }
274113
274113
  },
274114
274114
  line: 1
@@ -274118,21 +274118,21 @@ var cov_4n0g9kegj = function () {
274118
274118
  decl: {
274119
274119
  start: {
274120
274120
  line: 1,
274121
- column: 5201
274121
+ column: 5234
274122
274122
  },
274123
274123
  end: {
274124
274124
  line: 1,
274125
- column: 5202
274125
+ column: 5235
274126
274126
  }
274127
274127
  },
274128
274128
  loc: {
274129
274129
  start: {
274130
274130
  line: 1,
274131
- column: 5223
274131
+ column: 5256
274132
274132
  },
274133
274133
  end: {
274134
274134
  line: 1,
274135
- column: 5404
274135
+ column: 5437
274136
274136
  }
274137
274137
  },
274138
274138
  line: 1
@@ -274147,7 +274147,7 @@ var cov_4n0g9kegj = function () {
274147
274147
  },
274148
274148
  end: {
274149
274149
  line: 1,
274150
- column: 6634
274150
+ column: 6667
274151
274151
  }
274152
274152
  },
274153
274153
  type: "cond-expr",
@@ -274158,16 +274158,16 @@ var cov_4n0g9kegj = function () {
274158
274158
  },
274159
274159
  end: {
274160
274160
  line: 1,
274161
- column: 6625
274161
+ column: 6658
274162
274162
  }
274163
274163
  }, {
274164
274164
  start: {
274165
274165
  line: 1,
274166
- column: 6626
274166
+ column: 6659
274167
274167
  },
274168
274168
  end: {
274169
274169
  line: 1,
274170
- column: 6634
274170
+ column: 6667
274171
274171
  }
274172
274172
  }],
274173
274173
  line: 1
@@ -274609,27 +274609,27 @@ var cov_4n0g9kegj = function () {
274609
274609
  },
274610
274610
  end: {
274611
274611
  line: 1,
274612
- column: 6613
274612
+ column: 6646
274613
274613
  }
274614
274614
  },
274615
274615
  type: "cond-expr",
274616
274616
  locations: [{
274617
274617
  start: {
274618
274618
  line: 1,
274619
- column: 3785
274619
+ column: 3818
274620
274620
  },
274621
274621
  end: {
274622
274622
  line: 1,
274623
- column: 4009
274623
+ column: 4042
274624
274624
  }
274625
274625
  }, {
274626
274626
  start: {
274627
274627
  line: 1,
274628
- column: 4010
274628
+ column: 4043
274629
274629
  },
274630
274630
  end: {
274631
274631
  line: 1,
274632
- column: 6613
274632
+ column: 6646
274633
274633
  }
274634
274634
  }],
274635
274635
  line: 1
@@ -274642,27 +274642,36 @@ var cov_4n0g9kegj = function () {
274642
274642
  },
274643
274643
  end: {
274644
274644
  line: 1,
274645
- column: 3783
274645
+ column: 3816
274646
274646
  }
274647
274647
  },
274648
274648
  type: "binary-expr",
274649
274649
  locations: [{
274650
274650
  start: {
274651
274651
  line: 1,
274652
- column: 3721
274652
+ column: 3722
274653
274653
  },
274654
274654
  end: {
274655
274655
  line: 1,
274656
- column: 3745
274656
+ column: 3747
274657
274657
  }
274658
274658
  }, {
274659
274659
  start: {
274660
274660
  line: 1,
274661
- column: 3749
274661
+ column: 3753
274662
274662
  },
274663
274663
  end: {
274664
274664
  line: 1,
274665
- column: 3783
274665
+ column: 3777
274666
+ }
274667
+ }, {
274668
+ start: {
274669
+ line: 1,
274670
+ column: 3781
274671
+ },
274672
+ end: {
274673
+ line: 1,
274674
+ column: 3815
274666
274675
  }
274667
274676
  }],
274668
274677
  line: 1
@@ -274671,31 +274680,31 @@ var cov_4n0g9kegj = function () {
274671
274680
  loc: {
274672
274681
  start: {
274673
274682
  line: 1,
274674
- column: 4010
274683
+ column: 4043
274675
274684
  },
274676
274685
  end: {
274677
274686
  line: 1,
274678
- column: 6613
274687
+ column: 6646
274679
274688
  }
274680
274689
  },
274681
274690
  type: "cond-expr",
274682
274691
  locations: [{
274683
274692
  start: {
274684
274693
  line: 1,
274685
- column: 4023
274694
+ column: 4056
274686
274695
  },
274687
274696
  end: {
274688
274697
  line: 1,
274689
- column: 4137
274698
+ column: 4170
274690
274699
  }
274691
274700
  }, {
274692
274701
  start: {
274693
274702
  line: 1,
274694
- column: 4138
274703
+ column: 4171
274695
274704
  },
274696
274705
  end: {
274697
274706
  line: 1,
274698
- column: 6613
274707
+ column: 6646
274699
274708
  }
274700
274709
  }],
274701
274710
  line: 1
@@ -274704,31 +274713,31 @@ var cov_4n0g9kegj = function () {
274704
274713
  loc: {
274705
274714
  start: {
274706
274715
  line: 1,
274707
- column: 4138
274716
+ column: 4171
274708
274717
  },
274709
274718
  end: {
274710
274719
  line: 1,
274711
- column: 6613
274720
+ column: 6646
274712
274721
  }
274713
274722
  },
274714
274723
  type: "cond-expr",
274715
274724
  locations: [{
274716
274725
  start: {
274717
274726
  line: 1,
274718
- column: 4165
274727
+ column: 4198
274719
274728
  },
274720
274729
  end: {
274721
274730
  line: 1,
274722
- column: 4784
274731
+ column: 4817
274723
274732
  }
274724
274733
  }, {
274725
274734
  start: {
274726
274735
  line: 1,
274727
- column: 4785
274736
+ column: 4818
274728
274737
  },
274729
274738
  end: {
274730
274739
  line: 1,
274731
- column: 6613
274740
+ column: 6646
274732
274741
  }
274733
274742
  }],
274734
274743
  line: 1
@@ -274737,31 +274746,31 @@ var cov_4n0g9kegj = function () {
274737
274746
  loc: {
274738
274747
  start: {
274739
274748
  line: 1,
274740
- column: 4300
274749
+ column: 4333
274741
274750
  },
274742
274751
  end: {
274743
274752
  line: 1,
274744
- column: 4759
274753
+ column: 4792
274745
274754
  }
274746
274755
  },
274747
274756
  type: "cond-expr",
274748
274757
  locations: [{
274749
274758
  start: {
274750
274759
  line: 1,
274751
- column: 4355
274760
+ column: 4388
274752
274761
  },
274753
274762
  end: {
274754
274763
  line: 1,
274755
- column: 4750
274764
+ column: 4783
274756
274765
  }
274757
274766
  }, {
274758
274767
  start: {
274759
274768
  line: 1,
274760
- column: 4751
274769
+ column: 4784
274761
274770
  },
274762
274771
  end: {
274763
274772
  line: 1,
274764
- column: 4759
274773
+ column: 4792
274765
274774
  }
274766
274775
  }],
274767
274776
  line: 1
@@ -274770,31 +274779,31 @@ var cov_4n0g9kegj = function () {
274770
274779
  loc: {
274771
274780
  start: {
274772
274781
  line: 1,
274773
- column: 4301
274782
+ column: 4334
274774
274783
  },
274775
274784
  end: {
274776
274785
  line: 1,
274777
- column: 4353
274786
+ column: 4386
274778
274787
  }
274779
274788
  },
274780
274789
  type: "binary-expr",
274781
274790
  locations: [{
274782
274791
  start: {
274783
274792
  line: 1,
274784
- column: 4301
274793
+ column: 4334
274785
274794
  },
274786
274795
  end: {
274787
274796
  line: 1,
274788
- column: 4312
274797
+ column: 4345
274789
274798
  }
274790
274799
  }, {
274791
274800
  start: {
274792
274801
  line: 1,
274793
- column: 4316
274802
+ column: 4349
274794
274803
  },
274795
274804
  end: {
274796
274805
  line: 1,
274797
- column: 4353
274806
+ column: 4386
274798
274807
  }
274799
274808
  }],
274800
274809
  line: 1
@@ -274803,31 +274812,31 @@ var cov_4n0g9kegj = function () {
274803
274812
  loc: {
274804
274813
  start: {
274805
274814
  line: 1,
274806
- column: 4391
274815
+ column: 4424
274807
274816
  },
274808
274817
  end: {
274809
274818
  line: 1,
274810
- column: 4551
274819
+ column: 4584
274811
274820
  }
274812
274821
  },
274813
274822
  type: "cond-expr",
274814
274823
  locations: [{
274815
274824
  start: {
274816
274825
  line: 1,
274817
- column: 4416
274826
+ column: 4449
274818
274827
  },
274819
274828
  end: {
274820
274829
  line: 1,
274821
- column: 4542
274830
+ column: 4575
274822
274831
  }
274823
274832
  }, {
274824
274833
  start: {
274825
274834
  line: 1,
274826
- column: 4543
274835
+ column: 4576
274827
274836
  },
274828
274837
  end: {
274829
274838
  line: 1,
274830
- column: 4551
274839
+ column: 4584
274831
274840
  }
274832
274841
  }],
274833
274842
  line: 1
@@ -274836,31 +274845,31 @@ var cov_4n0g9kegj = function () {
274836
274845
  loc: {
274837
274846
  start: {
274838
274847
  line: 1,
274839
- column: 4577
274848
+ column: 4610
274840
274849
  },
274841
274850
  end: {
274842
274851
  line: 1,
274843
- column: 4725
274852
+ column: 4758
274844
274853
  }
274845
274854
  },
274846
274855
  type: "cond-expr",
274847
274856
  locations: [{
274848
274857
  start: {
274849
274858
  line: 1,
274850
- column: 4601
274859
+ column: 4634
274851
274860
  },
274852
274861
  end: {
274853
274862
  line: 1,
274854
- column: 4716
274863
+ column: 4749
274855
274864
  }
274856
274865
  }, {
274857
274866
  start: {
274858
274867
  line: 1,
274859
- column: 4717
274868
+ column: 4750
274860
274869
  },
274861
274870
  end: {
274862
274871
  line: 1,
274863
- column: 4725
274872
+ column: 4758
274864
274873
  }
274865
274874
  }],
274866
274875
  line: 1
@@ -274869,31 +274878,31 @@ var cov_4n0g9kegj = function () {
274869
274878
  loc: {
274870
274879
  start: {
274871
274880
  line: 1,
274872
- column: 4785
274881
+ column: 4818
274873
274882
  },
274874
274883
  end: {
274875
274884
  line: 1,
274876
- column: 6613
274885
+ column: 6646
274877
274886
  }
274878
274887
  },
274879
274888
  type: "cond-expr",
274880
274889
  locations: [{
274881
274890
  start: {
274882
274891
  line: 1,
274883
- column: 4814
274892
+ column: 4847
274884
274893
  },
274885
274894
  end: {
274886
274895
  line: 1,
274887
- column: 5684
274896
+ column: 5717
274888
274897
  }
274889
274898
  }, {
274890
274899
  start: {
274891
274900
  line: 1,
274892
- column: 5685
274901
+ column: 5718
274893
274902
  },
274894
274903
  end: {
274895
274904
  line: 1,
274896
- column: 6613
274905
+ column: 6646
274897
274906
  }
274898
274907
  }],
274899
274908
  line: 1
@@ -274902,31 +274911,31 @@ var cov_4n0g9kegj = function () {
274902
274911
  loc: {
274903
274912
  start: {
274904
274913
  line: 1,
274905
- column: 5272
274914
+ column: 5305
274906
274915
  },
274907
274916
  end: {
274908
274917
  line: 1,
274909
- column: 5322
274918
+ column: 5355
274910
274919
  }
274911
274920
  },
274912
274921
  type: "cond-expr",
274913
274922
  locations: [{
274914
274923
  start: {
274915
274924
  line: 1,
274916
- column: 5299
274925
+ column: 5332
274917
274926
  },
274918
274927
  end: {
274919
274928
  line: 1,
274920
- column: 5317
274929
+ column: 5350
274921
274930
  }
274922
274931
  }, {
274923
274932
  start: {
274924
274933
  line: 1,
274925
- column: 5320
274934
+ column: 5353
274926
274935
  },
274927
274936
  end: {
274928
274937
  line: 1,
274929
- column: 5322
274938
+ column: 5355
274930
274939
  }
274931
274940
  }],
274932
274941
  line: 1
@@ -274935,31 +274944,31 @@ var cov_4n0g9kegj = function () {
274935
274944
  loc: {
274936
274945
  start: {
274937
274946
  line: 1,
274938
- column: 5496
274947
+ column: 5529
274939
274948
  },
274940
274949
  end: {
274941
274950
  line: 1,
274942
- column: 5678
274951
+ column: 5711
274943
274952
  }
274944
274953
  },
274945
274954
  type: "cond-expr",
274946
274955
  locations: [{
274947
274956
  start: {
274948
274957
  line: 1,
274949
- column: 5551
274958
+ column: 5584
274950
274959
  },
274951
274960
  end: {
274952
274961
  line: 1,
274953
- column: 5669
274962
+ column: 5702
274954
274963
  }
274955
274964
  }, {
274956
274965
  start: {
274957
274966
  line: 1,
274958
- column: 5670
274967
+ column: 5703
274959
274968
  },
274960
274969
  end: {
274961
274970
  line: 1,
274962
- column: 5678
274971
+ column: 5711
274963
274972
  }
274964
274973
  }],
274965
274974
  line: 1
@@ -274968,31 +274977,31 @@ var cov_4n0g9kegj = function () {
274968
274977
  loc: {
274969
274978
  start: {
274970
274979
  line: 1,
274971
- column: 5497
274980
+ column: 5530
274972
274981
  },
274973
274982
  end: {
274974
274983
  line: 1,
274975
- column: 5549
274984
+ column: 5582
274976
274985
  }
274977
274986
  },
274978
274987
  type: "binary-expr",
274979
274988
  locations: [{
274980
274989
  start: {
274981
274990
  line: 1,
274982
- column: 5497
274991
+ column: 5530
274983
274992
  },
274984
274993
  end: {
274985
274994
  line: 1,
274986
- column: 5508
274995
+ column: 5541
274987
274996
  }
274988
274997
  }, {
274989
274998
  start: {
274990
274999
  line: 1,
274991
- column: 5512
275000
+ column: 5545
274992
275001
  },
274993
275002
  end: {
274994
275003
  line: 1,
274995
- column: 5549
275004
+ column: 5582
274996
275005
  }
274997
275006
  }],
274998
275007
  line: 1
@@ -275001,31 +275010,31 @@ var cov_4n0g9kegj = function () {
275001
275010
  loc: {
275002
275011
  start: {
275003
275012
  line: 1,
275004
- column: 5562
275013
+ column: 5595
275005
275014
  },
275006
275015
  end: {
275007
275016
  line: 1,
275008
- column: 5667
275017
+ column: 5700
275009
275018
  }
275010
275019
  },
275011
275020
  type: "cond-expr",
275012
275021
  locations: [{
275013
275022
  start: {
275014
275023
  line: 1,
275015
- column: 5587
275024
+ column: 5620
275016
275025
  },
275017
275026
  end: {
275018
275027
  line: 1,
275019
- column: 5631
275028
+ column: 5664
275020
275029
  }
275021
275030
  }, {
275022
275031
  start: {
275023
275032
  line: 1,
275024
- column: 5632
275033
+ column: 5665
275025
275034
  },
275026
275035
  end: {
275027
275036
  line: 1,
275028
- column: 5667
275037
+ column: 5700
275029
275038
  }
275030
275039
  }],
275031
275040
  line: 1
@@ -275034,31 +275043,31 @@ var cov_4n0g9kegj = function () {
275034
275043
  loc: {
275035
275044
  start: {
275036
275045
  line: 1,
275037
- column: 5685
275046
+ column: 5718
275038
275047
  },
275039
275048
  end: {
275040
275049
  line: 1,
275041
- column: 6613
275050
+ column: 6646
275042
275051
  }
275043
275052
  },
275044
275053
  type: "cond-expr",
275045
275054
  locations: [{
275046
275055
  start: {
275047
275056
  line: 1,
275048
- column: 5714
275057
+ column: 5747
275049
275058
  },
275050
275059
  end: {
275051
275060
  line: 1,
275052
- column: 5850
275061
+ column: 5883
275053
275062
  }
275054
275063
  }, {
275055
275064
  start: {
275056
275065
  line: 1,
275057
- column: 5851
275066
+ column: 5884
275058
275067
  },
275059
275068
  end: {
275060
275069
  line: 1,
275061
- column: 6613
275070
+ column: 6646
275062
275071
  }
275063
275072
  }],
275064
275073
  line: 1
@@ -275067,31 +275076,31 @@ var cov_4n0g9kegj = function () {
275067
275076
  loc: {
275068
275077
  start: {
275069
275078
  line: 1,
275070
- column: 5851
275079
+ column: 5884
275071
275080
  },
275072
275081
  end: {
275073
275082
  line: 1,
275074
- column: 6613
275083
+ column: 6646
275075
275084
  }
275076
275085
  },
275077
275086
  type: "cond-expr",
275078
275087
  locations: [{
275079
275088
  start: {
275080
275089
  line: 1,
275081
- column: 5894
275090
+ column: 5927
275082
275091
  },
275083
275092
  end: {
275084
275093
  line: 1,
275085
- column: 6092
275094
+ column: 6125
275086
275095
  }
275087
275096
  }, {
275088
275097
  start: {
275089
275098
  line: 1,
275090
- column: 6093
275099
+ column: 6126
275091
275100
  },
275092
275101
  end: {
275093
275102
  line: 1,
275094
- column: 6613
275103
+ column: 6646
275095
275104
  }
275096
275105
  }],
275097
275106
  line: 1
@@ -275100,31 +275109,31 @@ var cov_4n0g9kegj = function () {
275100
275109
  loc: {
275101
275110
  start: {
275102
275111
  line: 1,
275103
- column: 6093
275112
+ column: 6126
275104
275113
  },
275105
275114
  end: {
275106
275115
  line: 1,
275107
- column: 6613
275116
+ column: 6646
275108
275117
  }
275109
275118
  },
275110
275119
  type: "cond-expr",
275111
275120
  locations: [{
275112
275121
  start: {
275113
275122
  line: 1,
275114
- column: 6124
275123
+ column: 6157
275115
275124
  },
275116
275125
  end: {
275117
275126
  line: 1,
275118
- column: 6287
275127
+ column: 6320
275119
275128
  }
275120
275129
  }, {
275121
275130
  start: {
275122
275131
  line: 1,
275123
- column: 6288
275132
+ column: 6321
275124
275133
  },
275125
275134
  end: {
275126
275135
  line: 1,
275127
- column: 6613
275136
+ column: 6646
275128
275137
  }
275129
275138
  }],
275130
275139
  line: 1
@@ -275133,31 +275142,31 @@ var cov_4n0g9kegj = function () {
275133
275142
  loc: {
275134
275143
  start: {
275135
275144
  line: 1,
275136
- column: 6288
275145
+ column: 6321
275137
275146
  },
275138
275147
  end: {
275139
275148
  line: 1,
275140
- column: 6613
275149
+ column: 6646
275141
275150
  }
275142
275151
  },
275143
275152
  type: "cond-expr",
275144
275153
  locations: [{
275145
275154
  start: {
275146
275155
  line: 1,
275147
- column: 6318
275156
+ column: 6351
275148
275157
  },
275149
275158
  end: {
275150
275159
  line: 1,
275151
- column: 6445
275160
+ column: 6478
275152
275161
  }
275153
275162
  }, {
275154
275163
  start: {
275155
275164
  line: 1,
275156
- column: 6446
275165
+ column: 6479
275157
275166
  },
275158
275167
  end: {
275159
275168
  line: 1,
275160
- column: 6613
275169
+ column: 6646
275161
275170
  }
275162
275171
  }],
275163
275172
  line: 1
@@ -275166,31 +275175,31 @@ var cov_4n0g9kegj = function () {
275166
275175
  loc: {
275167
275176
  start: {
275168
275177
  line: 1,
275169
- column: 6446
275178
+ column: 6479
275170
275179
  },
275171
275180
  end: {
275172
275181
  line: 1,
275173
- column: 6613
275182
+ column: 6646
275174
275183
  }
275175
275184
  },
275176
275185
  type: "cond-expr",
275177
275186
  locations: [{
275178
275187
  start: {
275179
275188
  line: 1,
275180
- column: 6496
275189
+ column: 6529
275181
275190
  },
275182
275191
  end: {
275183
275192
  line: 1,
275184
- column: 6604
275193
+ column: 6637
275185
275194
  }
275186
275195
  }, {
275187
275196
  start: {
275188
275197
  line: 1,
275189
- column: 6605
275198
+ column: 6638
275190
275199
  },
275191
275200
  end: {
275192
275201
  line: 1,
275193
- column: 6613
275202
+ column: 6646
275194
275203
  }
275195
275204
  }],
275196
275205
  line: 1
@@ -275246,7 +275255,7 @@ var cov_4n0g9kegj = function () {
275246
275255
  "12": [0, 0],
275247
275256
  "13": [0, 0],
275248
275257
  "14": [0, 0],
275249
- "15": [0, 0],
275258
+ "15": [0, 0, 0],
275250
275259
  "16": [0, 0],
275251
275260
  "17": [0, 0],
275252
275261
  "18": [0, 0],
@@ -275265,7 +275274,7 @@ var cov_4n0g9kegj = function () {
275265
275274
  "31": [0, 0]
275266
275275
  },
275267
275276
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
275268
- hash: "c0fafb6720b82af84106c54081ff6e025e6eb50b"
275277
+ hash: "9241f7cbbf80e481e68a6e9c38f57fc9d916c6a4"
275269
275278
  };
275270
275279
  var coverage = global[gcv] || (global[gcv] = {});
275271
275280
  if (coverage[path] && coverage[path].hash === hash) {
@@ -275274,7 +275283,7 @@ var cov_4n0g9kegj = function () {
275274
275283
  return coverage[path] = coverageData;
275275
275284
  }();
275276
275285
  cov_4n0g9kegj.s[0]++;
275277
- var ResultsGalleryvue_type_template_id_62a557f9_render = function render() {
275286
+ var ResultsGalleryvue_type_template_id_6168a310_render = function render() {
275278
275287
  cov_4n0g9kegj.f[0]++;
275279
275288
  var _vm = (cov_4n0g9kegj.s[1]++, this),
275280
275289
  _c = (cov_4n0g9kegj.s[2]++, _vm._self._c);
@@ -275481,7 +275490,7 @@ var ResultsGalleryvue_type_template_id_62a557f9_render = function render() {
275481
275490
  "height": "2",
275482
275491
  "color": "primary"
275483
275492
  }
275484
- })) : (cov_4n0g9kegj.b[13][1]++, _vm._e()), (cov_4n0g9kegj.b[15][0]++, _vm.resultType === 'raw') && (cov_4n0g9kegj.b[15][1]++, _vm.resultKey === 'command_script') ? (cov_4n0g9kegj.b[14][0]++, _c('pre', {
275493
+ })) : (cov_4n0g9kegj.b[13][1]++, _vm._e()), (cov_4n0g9kegj.b[15][0]++, _vm.resultType === 'code') || (cov_4n0g9kegj.b[15][1]++, _vm.resultType === 'raw') && (cov_4n0g9kegj.b[15][2]++, _vm.resultKey === 'command_script') ? (cov_4n0g9kegj.b[14][0]++, _c('pre', {
275485
275494
  directives: [{
275486
275495
  name: "highlightjs",
275487
275496
  rawName: "v-highlightjs",
@@ -275588,9 +275597,9 @@ var ResultsGalleryvue_type_template_id_62a557f9_render = function render() {
275588
275597
  }
275589
275598
  }, [_vm._v(_vm._s(_vm.result.value))])])) : (cov_4n0g9kegj.b[31][1]++, _vm._e())))))))))], 1)], 1)], 1)) : (cov_4n0g9kegj.b[0][1]++, _vm._e());
275590
275599
  };
275591
- var ResultsGalleryvue_type_template_id_62a557f9_staticRenderFns = (cov_4n0g9kegj.s[16]++, []);
275600
+ var ResultsGalleryvue_type_template_id_6168a310_staticRenderFns = (cov_4n0g9kegj.s[16]++, []);
275592
275601
 
275593
- ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=template&id=62a557f9&
275602
+ ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=template&id=6168a310&
275594
275603
 
275595
275604
  ;// CONCATENATED MODULE: ./node_modules/ansi_up/ansi_up.js
275596
275605
 
@@ -276031,7 +276040,7 @@ var detect_csv_default = /*#__PURE__*/__webpack_require__.n(detect_csv);
276031
276040
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/analyses/ResultsGallery.vue?vue&type=script&lang=js&
276032
276041
  var ResultsGalleryvue_type_script_lang_js_cov_4n0g9kegj = function () {
276033
276042
  var path = "/Users/arangooj/Developer/isabl_web/src/components/analyses/ResultsGallery.vue";
276034
- var hash = "939c0a5ccdecb14565ad19dbcaedbabbaedf8e85";
276043
+ var hash = "5f6192ac1c2eded1b2750dcda54cc0e776087070";
276035
276044
  var global = new Function("return this")();
276036
276045
  var gcv = "__coverage__";
276037
276046
  var coverageData = {
@@ -279694,10 +279703,10 @@ var ResultsGalleryvue_type_script_lang_js_cov_4n0g9kegj = function () {
279694
279703
  mappings: ";AAqRA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
279695
279704
  file: "ResultsGallery.vue",
279696
279705
  sourceRoot: "src/components/analyses",
279697
- sourcesContent: ["<template>\n <v-dialog\n v-hotkey=\"keymap\"\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :fullscreen=\"isResultModalFullScreen\"\n scrollable\n class=\"gallery-dialog\"\n >\n <v-card flat class=\"gallery-card\">\n <v-card-title class=\"pa-2\">\n <v-row>\n <v-col cols=\"6\">\n <h3 class=\"font-weight-thin primary--text\">\n {{ result.verboseName }}\n </h3>\n </v-col>\n\n <v-col cols=\"6\" class=\"d-flex justify-end align-center panel-slot-actions\">\n\n <!-- toggle raw text -->\n <v-tooltip\n v-if=\"result.frontendType === 'tsv-file' && tsvHeaders.length\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"displayRawText = !displayRawText\"\n v-on=\"on\"\n >\n {{ displayRawText ? 'table_chart' : 'text_fields' }}\n </v-icon>\n </template>\n {{ displayRawText ? 'Display Tabulated Content' : 'Display Raw Content' }}\n </v-tooltip>\n\n <!-- download result -->\n <v-tooltip\n v-if=\"result.download\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"result.download\"\n v-on=\"on\"\n >\n {{ result.downloadIcon }}\n </v-icon>\n </template>\n {{ result.downloadIcon === 'open_in_new' ? 'Open in new tab' : 'Download Result' }}\n </v-tooltip>\n\n <!-- copy to clipboard -->\n <v-tooltip\n v-if=\"result.copyToClipBoard\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"result.copyToClipBoard\"\n v-on=\"on\"\n >\n file_copy\n </v-icon>\n </template>\n Copy to clipboard!\n </v-tooltip>\n\n <!-- external link -->\n <v-tooltip\n v-if=\"result.openExternalLink\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"result.openExternalLink\"\n v-on=\"on\"\n >\n info\n </v-icon>\n </template>\n Learn more!\n </v-tooltip>\n\n <!-- show from bottom -->\n <v-tooltip\n v-if=\"['raw'].includes(resultType)\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"reverseContent\"\n v-on=\"on\"\n >\n {{ streamOptions.reverse ? 'vertical_align_bottom' : 'vertical_align_top'}}\n </v-icon>\n </template>\n <span>\n Show content from {{ streamOptions.reverse ? 'top' : 'bottom' }}\n </span>\n </v-tooltip>\n\n <!-- show fullscreen -->\n <v-tooltip\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"toggleFullScreen\"\n v-on=\"on\"\n >\n {{ isResultModalFullScreen ? 'fullscreen_exit' : 'fullscreen'}}\n </v-icon>\n </template>\n <span>\n Toggle Full Screen\n </span>\n </v-tooltip>\n\n <!-- close dialog -->\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"hideDialog\"\n v-on=\"on\"\n >\n close\n </v-icon>\n </template>\n Close file\n </v-tooltip>\n </v-col>\n </v-row>\n </v-card-title>\n\n <v-row class=\"pa-0 ma-0 gallery-content\" style=\"height: 85vh\">\n <v-progress-linear\n v-if=\"loading\"\n class=\"panel-loader\"\n indeterminate\n height=\"2\"\n color=\"primary\"\n />\n\n <pre\n v-highlightjs=\"content\"\n v-if=\"resultType === 'raw' && resultKey === 'command_script'\"\n ref=\"raw\"\n class=\"v-markup pre-wrap\"\n >\n <code class=\"bash\" />\n </pre>\n\n <code\n v-else-if=\"isAnsi\"\n ref=\"raw\"\n class=\"v-markup\"\n >\n <pre v-html=\"toHtml(content)\" />\n </code>\n\n <code\n v-else-if=\"resultType === 'raw'\"\n ref=\"raw\"\n class=\"v-markup\"\n >\n <pre>\n {{ content }}\n <!-- Footer showing if more content can be loaded -->\n <span v-if=\"content && content.split('\\n').length >= 200\">\n <span v-if=\"!streamOptions.end\" class=\"stream-message grey--text lighten-2\">\n ... Loading more rows\n </span>\n <span v-if=\"streamOptions.end\" class=\"stream-message grey--text\">\n *** End of file. ***\n </span>\n </span>\n </pre>\n </code>\n\n <div\n v-else-if=\"resultType === 'table'\"\n ref=\"table\"\n class=\"tsv-table\"\n >\n <v-data-table\n :headers=\"tsvHeaders\"\n :items=\"tsvItems\"\n :items-per-page=\"tsvItems.length\"\n hide-default-footer\n multi-sort\n fixed-header\n dense\n >\n <template v-slot:body=\"{ items }\">\n <tbody>\n <tr\n v-for=\"item in items\"\n :key=\"item.name\"\n >\n <td\n v-for=\"(header, index) in tsvHeaders\"\n :key=\"index + header.value\"\n :class=\"[header.value === 'index' ? 'line-column text' : '']\"\n v-html=\"parseTsvCell($get(item, header.value))\"\n />\n </tr>\n </tbody>\n </template>\n </v-data-table>\n\n <div class=\"text-center stream-message\">\n <!-- Footer showing if more content can be loaded -->\n <span v-if=\"content && content.split('\\n').length >= 200\">\n <span v-if=\"!streamOptions.end\">... Loading more rows</span>\n <span v-else>End of file.</span>\n </span>\n </div>\n </div>\n\n <img\n v-else-if=\"resultType === 'image'\"\n :src=\"$store.getters.getBlobUrl(result.downloadUrl)\"\n :alt=\"result.verboseName\"\n class=\"results-image\"\n >\n\n <iframe\n v-else-if=\"['html', 'pdf'].includes(resultType)\"\n :src=\"$store.getters.getBlobUrl(result.downloadUrl, '')\"\n frameborder=\"0\"\n class=\"results-iframe\"\n style=\"width: 100%; height: 100%; min-height: 80vh;\"\n />\n\n <iframe\n v-else-if=\"resultType === 'igv_bam'\"\n :src=\"result.downloadUrl\"\n frameborder=\"0\"\n class=\"results-iframe\"\n style=\"width: 100%; height: 100%; min-height: 80vh;\"\n />\n\n <code\n v-else-if=\"resultType === 'number'\"\n class=\"v-markup\"\n >\n <span size=\"100px\">{{ result.value | round(3) }}</span>\n </code>\n\n <code\n v-else-if=\"['string', 'url-link'].includes(resultType)\"\n class=\"v-markup\"\n >\n <span size=\"100px\">{{ result.value }}</span>\n </code>\n </v-row>\n\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { loadResult } from '@/utils/api'\nimport { HIDE_PANEL, SHOW_PANEL } from '@/store/actions/panels'\nimport { TOGGLE_RESULT_FULLSCREEN } from '@/store/actions/user'\nimport { GET_FILE } from '@/store/actions/files'\nimport { mapGetters } from 'vuex'\nimport { AnsiUp } from 'ansi_up'\nimport detect from 'detect-csv'\n\nconst ansiUp = new AnsiUp()\nansiUp.use_classes=true\n\nexport default {\n name: 'ResultsGallery',\n props: {\n resultIndex: {\n type: Number,\n },\n results: {\n type: Array,\n },\n },\n data() {\n return {\n content: '',\n displayRawText: false,\n isBottomScrolled: false,\n loading: false,\n showDialog: false,\n tsvItems: [],\n tsvHeaders: [],\n streamOptions: {\n lines: 200,\n offset: 0,\n reverse: false,\n previous: '',\n end: false,\n },\n }\n },\n computed: {\n ...mapGetters(['resultKey', 'isResultModalFullScreen']),\n keymap() {\n return {\n right: this.increaseIndex,\n left: this.decreaseIndex,\n esc: this.hideDialog,\n }\n },\n result() {\n return this.results[this.resultIndex] || {}\n },\n isAnsi() {\n return this.result && this.result.frontendType === 'ansi'\n },\n resultType() {\n if (this.result.frontendType === 'ansi') {\n return 'raw'\n } else if (this.result.frontendType === 'text-file') {\n return 'raw'\n } else if (this.result.frontendType === 'tsv-file') {\n if (\n !this.displayRawText &&\n this.tsvItems.length &&\n this.tsvHeaders.length\n ) {\n return 'table'\n } else {\n return 'raw'\n }\n } else {\n return this.result.frontendType\n }\n },\n },\n watch: {\n showDialog(value) {\n if (!value) {\n this.$store.dispatch(HIDE_PANEL, 'result')\n this.$emit('display-result', null)\n }\n },\n resultIndex(value) {\n this.showDialog = Number.isInteger(value) && value < this.results.length\n if (this.showDialog && ['raw', 'table'].includes(this.resultType)) {\n this.resetStreamEvents()\n this.loadFileContents()\n }\n },\n resultKey: {\n handler() {\n this.updateResultIndex()\n },\n immediate: true,\n },\n result(value) {\n if (value && value.resultKey) {\n this.$store.dispatch(SHOW_PANEL, {\n result: value.resultKey,\n })\n if (['html', 'pdf'].includes(value.frontendType)) {\n this.$store.dispatch(GET_FILE, value.downloadUrl)\n }\n // Track result viewed\n window.analytics.track('Result Previewed', value.analytics)\n }\n this.updateResultIndex()\n },\n isBottomScrolled(value) {\n if (value) {\n this.loadFileContents()\n }\n },\n displayRawText() {\n this.addScrollListener()\n },\n },\n methods: {\n resetStreamEvents() {\n // Reset content\n this.content = ''\n this.streamOptions = {\n lines: 200,\n offset: 0,\n reverse: false,\n previous: '',\n end: false,\n }\n // Remove listeners\n this.$nextTick(() => {\n if (this.$refs.raw) {\n this.$refs.raw.removeEventListener('scroll', this.isBottomVisible)\n }\n if (this.$refs.table) {\n this.$refs.table.removeEventListener('scroll', this.isBottomVisible)\n }\n })\n },\n addScrollListener() {\n this.$nextTick(() => {\n this.isBottomVisible()\n if (!this.isBottomScrolled) {\n if (this.$refs.raw) {\n this.$refs.raw.addEventListener('scroll', this.isBottomVisible)\n }\n if (this.$refs.table) {\n this.$refs.table.addEventListener('scroll', this.isBottomVisible)\n }\n }\n })\n },\n updateResultIndex() {\n if (this.resultKey !== this.result.resultKey) {\n this.results.forEach((result, index) => {\n if (result.resultKey === this.resultKey) {\n this.showDialog = true\n this.$emit('display-result', index)\n }\n })\n }\n },\n hideDialog() {\n if (this.showDialog) {\n this.showDialog = false\n }\n },\n increaseIndex() {\n if (this.showDialog) {\n if (this.resultIndex < this.results.length - 1) {\n this.$emit('display-result', this.resultIndex + 1)\n this.content = ''\n } else {\n this.$emit('display-result', 0)\n this.content = ''\n }\n }\n },\n decreaseIndex() {\n if (this.showDialog) {\n if (this.resultIndex > 0) {\n this.$emit('display-result', this.resultIndex - 1)\n } else {\n this.$emit('display-result', this.results.length - 1)\n }\n }\n },\n async loadFileContents() {\n const { lines, offset, reverse, end, previous } = this.streamOptions\n if (!end) {\n this.loading = true\n let content = await loadResult(\n this.result.analysis.pk,\n this.result.resultKey,\n lines,\n offset,\n reverse\n )\n this.loading = false\n\n if (content && previous !== content) {\n this.streamOptions.previous = content\n this.streamOptions.offset += lines\n this.content += content\n this.setTsvItems(this.content)\n this.addScrollListener()\n } else {\n this.streamOptions.end = true\n this.setTsvItems(this.content)\n }\n\n }\n },\n setTsvItems(content) {\n const isTsv = this.result.frontendType === 'tsv-file'\n const detectHandler = (\n detect(content.slice(0, 1000)) || { newline: '\\n', delimiter: '\\t'}\n )\n\n // csv to list of lists\n const dataRows =\n content && isTsv\n ? this.csvToArray(content.trim(), detectHandler.delimiter)\n .filter((row) => row.length)\n .filter((row) => row[0][0] !== '#' || row[0].includes('#CHROM'))\n : []\n\n // Headers\n this.tsvHeaders = dataRows.length\n ? dataRows[0].map((header, index) => {\n return {\n text: header,\n value: `index${index}`,\n sortable: this.streamOptions.end,\n }\n })\n : []\n\n this.tsvHeaders.unshift({\n text: 1,\n value: 'index',\n sortable: false,\n align: 'end',\n class: 'line-column text'\n })\n\n // Content rows\n this.tsvItems = dataRows.length\n ? dataRows.slice(1)\n .map((row, index) => {\n let dictRow = { index: index + 2 }\n row.forEach((value, index) => {\n dictRow[`index${index}`] = value\n })\n return dictRow\n })\n : []\n\n if (!isTsv || (isTsv && !this.tsvHeaders.length)) {\n this.displayRawText = true\n }\n },\n reverseContent() {\n const reverse = this.streamOptions.reverse\n this.resetStreamEvents()\n this.streamOptions.reverse = !reverse\n this.loadFileContents()\n },\n isBottomVisible() {\n const divElement = this.$refs[this.resultType]\n const scrollTop = divElement.scrollTop\n const visible = divElement.clientHeight\n const pageHeight = divElement.scrollHeight\n const bottomOfPage = visible + scrollTop >= pageHeight\n this.isBottomScrolled = bottomOfPage || pageHeight < visible\n },\n toggleFullScreen() {\n this.$store.dispatch(TOGGLE_RESULT_FULLSCREEN, {\n value: !this.isResultModalFullScreen\n })\n },\n parseTsvCell(value) {\n let pattern = /^((http|https|ftp):\\/\\/)/\n if (pattern.test(value)) {\n return `<a href=\"${value}\" target=\"_blank\">Open link</a>`\n } else {\n return value\n }\n },\n\n csvToArray(strData, strDelimiter=\",\") {\n // See: https://stackoverflow.com/a/1293163/3949081\n const objPattern = new RegExp(\n (\n // Delimiters.\n \"(\\\\\" + strDelimiter + \"|\\\\r?\\\\n|\\\\r|^)\" +\n // Quoted fields.\n \"(?:\\\"([^\\\"]*(?:\\\"\\\"[^\\\"]*)*)\\\"|\" +\n // Standard fields.\n \"([^\\\"\\\\\" + strDelimiter + \"\\\\r\\\\n]*))\"\n ),\n \"gi\"\n )\n const arrData = [[]]\n let arrMatches = null\n\n while (arrMatches = objPattern.exec(strData)) {\n // If not delimiter, an end of row has been reached\n const strMatchedDelimiter = arrMatches[1]\n if (\n strMatchedDelimiter.length &&\n strMatchedDelimiter !== strDelimiter\n ){\n arrData.push([])\n }\n\n let strMatchedValue\n if (arrMatches[2]){\n // Quoted value, Unescape any double quotes.\n strMatchedValue = arrMatches[2].replace(\n new RegExp( \"\\\"\\\"\", \"g\" ),\n \"\\\"\"\n )\n } else {\n // Non-quoted value.\n strMatchedValue = arrMatches[3]\n }\n arrData[arrData.length - 1].push(strMatchedValue)\n }\n return arrData\n },\n toHtml(content) {\n return ansiUp.ansi_to_html(content)\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.tsv-table {\n max-width: 100%;\n max-height: 100%;\n margin: 0px auto;\n overflow: auto;\n}\n.v-dialog {\n overflow-y: visible !important; // truly important for iframe performance, dont remove!\n &:not(.v-dialog--fullscreen) {\n max-height: 100% !important;\n max-width: calc(100% - 48px);\n }\n iframe.results-iframe {\n height: 100% !important;\n }\n &.gallery-dialog {\n height: calc(100vh - 60px);\n }\n}\n.results-image {\n max-width: 100%;\n max-height: 85vh;\n margin: auto;\n max-height: 100%;\n width: auto;\n}\n.gallery-card {\n ::-webkit-scrollbar {\n width: 0px;\n height: 0px;\n }\n}\n.v-application .gallery-card {\n .gallery-content {\n background: var(--v-background-base);\n }\n\n pre {\n white-space: pre-line;\n &.pre-wrap {\n white-space: pre-wrap;\n }\n code {\n font-size: 12px;\n font-weight: 600;\n }\n }\n\n &.theme--dark code {\n background-color: rgba(0,0,0,.05);\n }\n\n code.v-markup,\n pre.v-markup {\n padding: 10px;\n width: 100%;\n height: 100%;\n text-align: start;\n box-shadow: none;\n text-shadow: none;\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: auto;\n margin: 0px;\n top: 0px;\n color: rgb(255, 255, 255);\n border-radius: 0px;\n background: rgb(0, 0, 0);\n font-size: 12px;\n font-weight: 600;\n\n code.hljs {\n font-size: 12px;\n padding: 0px;\n\n .hljs-string,\n .hljs-bullet,\n .hljs-subst,\n .hljs-title,\n .hljs-section,\n .hljs-emphasis,\n .hljs-type,\n .hljs-built_in,\n .hljs-builtin-name,\n .hljs-selector-attr,\n .hljs-selector-pseudo,\n .hljs-addition,\n .hljs-variable,\n .hljs-template-tag,\n .hljs-template-variable {\n color: var(--v-warning-base);\n }\n }\n }\n\n .tsv-table {\n border: thin solid rgba(0,0,0,.12);\n margin-left: 0;\n\n .theme--dark {\n thead tr th {\n background: var(--v-surface-darken1);\n span {\n color: #9e9e9e;\n }\n }\n tbody tr td {\n background: var(--v-background-base);\n span {\n color: #9e9e9e;\n }\n }\n }\n\n thead tr {\n th {\n background: var(--v-background-base);\n max-width: 250px;\n white-space: nowrap;\n span {\n font-size: 12px;\n font-family: Roboto;\n color: #333333;\n }\n }\n }\n tbody tr {\n td {\n font-size: 12px;\n font-family: Roboto;\n overflow-x: auto;\n white-space: nowrap;\n max-width: 250px;\n }\n }\n\n thead tr th, tbody tr td {\n &.line-column {\n background: var(--v-surface-darken1);\n width: 50px;\n text-align: right;\n font-weight: normal;\n // Make line-column sticky\n position: sticky !important;\n left: 0;\n z-index: 9998;\n }\n }\n\n thead tr th .line-column {\n z-index: 9999;\n }\n }\n\n\n .stream-message {\n font-size: 12px;\n font-style: italic;\n margin: 20px 0px;\n }\n}\n</style>\n"]
279706
+ sourcesContent: ["<template>\n <v-dialog\n v-hotkey=\"keymap\"\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :fullscreen=\"isResultModalFullScreen\"\n scrollable\n class=\"gallery-dialog\"\n >\n <v-card flat class=\"gallery-card\">\n <v-card-title class=\"pa-2\">\n <v-row>\n <v-col cols=\"6\">\n <h3 class=\"font-weight-thin primary--text\">\n {{ result.verboseName }}\n </h3>\n </v-col>\n\n <v-col cols=\"6\" class=\"d-flex justify-end align-center panel-slot-actions\">\n\n <!-- toggle raw text -->\n <v-tooltip\n v-if=\"result.frontendType === 'tsv-file' && tsvHeaders.length\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"displayRawText = !displayRawText\"\n v-on=\"on\"\n >\n {{ displayRawText ? 'table_chart' : 'text_fields' }}\n </v-icon>\n </template>\n {{ displayRawText ? 'Display Tabulated Content' : 'Display Raw Content' }}\n </v-tooltip>\n\n <!-- download result -->\n <v-tooltip\n v-if=\"result.download\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"result.download\"\n v-on=\"on\"\n >\n {{ result.downloadIcon }}\n </v-icon>\n </template>\n {{ result.downloadIcon === 'open_in_new' ? 'Open in new tab' : 'Download Result' }}\n </v-tooltip>\n\n <!-- copy to clipboard -->\n <v-tooltip\n v-if=\"result.copyToClipBoard\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"result.copyToClipBoard\"\n v-on=\"on\"\n >\n file_copy\n </v-icon>\n </template>\n Copy to clipboard!\n </v-tooltip>\n\n <!-- external link -->\n <v-tooltip\n v-if=\"result.openExternalLink\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"result.openExternalLink\"\n v-on=\"on\"\n >\n info\n </v-icon>\n </template>\n Learn more!\n </v-tooltip>\n\n <!-- show from bottom -->\n <v-tooltip\n v-if=\"['raw'].includes(resultType)\"\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"reverseContent\"\n v-on=\"on\"\n >\n {{ streamOptions.reverse ? 'vertical_align_bottom' : 'vertical_align_top'}}\n </v-icon>\n </template>\n <span>\n Show content from {{ streamOptions.reverse ? 'top' : 'bottom' }}\n </span>\n </v-tooltip>\n\n <!-- show fullscreen -->\n <v-tooltip\n top\n >\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"toggleFullScreen\"\n v-on=\"on\"\n >\n {{ isResultModalFullScreen ? 'fullscreen_exit' : 'fullscreen'}}\n </v-icon>\n </template>\n <span>\n Toggle Full Screen\n </span>\n </v-tooltip>\n\n <!-- close dialog -->\n <v-tooltip top>\n <template v-slot:activator=\"{ on }\">\n <v-icon\n class=\"primary--text ml-4\"\n small\n @click=\"hideDialog\"\n v-on=\"on\"\n >\n close\n </v-icon>\n </template>\n Close file\n </v-tooltip>\n </v-col>\n </v-row>\n </v-card-title>\n\n <v-row class=\"pa-0 ma-0 gallery-content\" style=\"height: 85vh\">\n <v-progress-linear\n v-if=\"loading\"\n class=\"panel-loader\"\n indeterminate\n height=\"2\"\n color=\"primary\"\n />\n\n <pre\n v-highlightjs=\"content\"\n v-if=\"(resultType === 'code') || (resultType === 'raw' && resultKey === 'command_script')\"\n ref=\"raw\"\n class=\"v-markup pre-wrap\"\n >\n <code class=\"bash\" />\n </pre>\n\n <code\n v-else-if=\"isAnsi\"\n ref=\"raw\"\n class=\"v-markup\"\n >\n <pre v-html=\"toHtml(content)\" />\n </code>\n\n <code\n v-else-if=\"resultType === 'raw'\"\n ref=\"raw\"\n class=\"v-markup\"\n >\n <pre>\n {{ content }}\n <!-- Footer showing if more content can be loaded -->\n <span v-if=\"content && content.split('\\n').length >= 200\">\n <span v-if=\"!streamOptions.end\" class=\"stream-message grey--text lighten-2\">\n ... Loading more rows\n </span>\n <span v-if=\"streamOptions.end\" class=\"stream-message grey--text\">\n *** End of file. ***\n </span>\n </span>\n </pre>\n </code>\n\n <div\n v-else-if=\"resultType === 'table'\"\n ref=\"table\"\n class=\"tsv-table\"\n >\n <v-data-table\n :headers=\"tsvHeaders\"\n :items=\"tsvItems\"\n :items-per-page=\"tsvItems.length\"\n hide-default-footer\n multi-sort\n fixed-header\n dense\n >\n <template v-slot:body=\"{ items }\">\n <tbody>\n <tr\n v-for=\"item in items\"\n :key=\"item.name\"\n >\n <td\n v-for=\"(header, index) in tsvHeaders\"\n :key=\"index + header.value\"\n :class=\"[header.value === 'index' ? 'line-column text' : '']\"\n v-html=\"parseTsvCell($get(item, header.value))\"\n />\n </tr>\n </tbody>\n </template>\n </v-data-table>\n\n <div class=\"text-center stream-message\">\n <!-- Footer showing if more content can be loaded -->\n <span v-if=\"content && content.split('\\n').length >= 200\">\n <span v-if=\"!streamOptions.end\">... Loading more rows</span>\n <span v-else>End of file.</span>\n </span>\n </div>\n </div>\n\n <img\n v-else-if=\"resultType === 'image'\"\n :src=\"$store.getters.getBlobUrl(result.downloadUrl)\"\n :alt=\"result.verboseName\"\n class=\"results-image\"\n >\n\n <iframe\n v-else-if=\"['html', 'pdf'].includes(resultType)\"\n :src=\"$store.getters.getBlobUrl(result.downloadUrl, '')\"\n frameborder=\"0\"\n class=\"results-iframe\"\n style=\"width: 100%; height: 100%; min-height: 80vh;\"\n />\n\n <iframe\n v-else-if=\"resultType === 'igv_bam'\"\n :src=\"result.downloadUrl\"\n frameborder=\"0\"\n class=\"results-iframe\"\n style=\"width: 100%; height: 100%; min-height: 80vh;\"\n />\n\n <code\n v-else-if=\"resultType === 'number'\"\n class=\"v-markup\"\n >\n <span size=\"100px\">{{ result.value | round(3) }}</span>\n </code>\n\n <code\n v-else-if=\"['string', 'url-link'].includes(resultType)\"\n class=\"v-markup\"\n >\n <span size=\"100px\">{{ result.value }}</span>\n </code>\n </v-row>\n\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { loadResult } from '@/utils/api'\nimport { HIDE_PANEL, SHOW_PANEL } from '@/store/actions/panels'\nimport { TOGGLE_RESULT_FULLSCREEN } from '@/store/actions/user'\nimport { GET_FILE } from '@/store/actions/files'\nimport { mapGetters } from 'vuex'\nimport { AnsiUp } from 'ansi_up'\nimport detect from 'detect-csv'\n\nconst ansiUp = new AnsiUp()\nansiUp.use_classes=true\n\nexport default {\n name: 'ResultsGallery',\n props: {\n resultIndex: {\n type: Number,\n },\n results: {\n type: Array,\n },\n },\n data() {\n return {\n content: '',\n displayRawText: false,\n isBottomScrolled: false,\n loading: false,\n showDialog: false,\n tsvItems: [],\n tsvHeaders: [],\n streamOptions: {\n lines: 200,\n offset: 0,\n reverse: false,\n previous: '',\n end: false,\n },\n }\n },\n computed: {\n ...mapGetters(['resultKey', 'isResultModalFullScreen']),\n keymap() {\n return {\n right: this.increaseIndex,\n left: this.decreaseIndex,\n esc: this.hideDialog,\n }\n },\n result() {\n return this.results[this.resultIndex] || {}\n },\n isAnsi() {\n return this.result && this.result.frontendType === 'ansi'\n },\n resultType() {\n if (this.result.frontendType === 'ansi') {\n return 'raw'\n } else if (this.result.frontendType === 'text-file') {\n return 'raw'\n } else if (this.result.frontendType === 'tsv-file') {\n if (\n !this.displayRawText &&\n this.tsvItems.length &&\n this.tsvHeaders.length\n ) {\n return 'table'\n } else {\n return 'raw'\n }\n } else {\n return this.result.frontendType\n }\n },\n },\n watch: {\n showDialog(value) {\n if (!value) {\n this.$store.dispatch(HIDE_PANEL, 'result')\n this.$emit('display-result', null)\n }\n },\n resultIndex(value) {\n this.showDialog = Number.isInteger(value) && value < this.results.length\n if (this.showDialog && ['raw', 'table'].includes(this.resultType)) {\n this.resetStreamEvents()\n this.loadFileContents()\n }\n },\n resultKey: {\n handler() {\n this.updateResultIndex()\n },\n immediate: true,\n },\n result(value) {\n if (value && value.resultKey) {\n this.$store.dispatch(SHOW_PANEL, {\n result: value.resultKey,\n })\n if (['html', 'pdf'].includes(value.frontendType)) {\n this.$store.dispatch(GET_FILE, value.downloadUrl)\n }\n // Track result viewed\n window.analytics.track('Result Previewed', value.analytics)\n }\n this.updateResultIndex()\n },\n isBottomScrolled(value) {\n if (value) {\n this.loadFileContents()\n }\n },\n displayRawText() {\n this.addScrollListener()\n },\n },\n methods: {\n resetStreamEvents() {\n // Reset content\n this.content = ''\n this.streamOptions = {\n lines: 200,\n offset: 0,\n reverse: false,\n previous: '',\n end: false,\n }\n // Remove listeners\n this.$nextTick(() => {\n if (this.$refs.raw) {\n this.$refs.raw.removeEventListener('scroll', this.isBottomVisible)\n }\n if (this.$refs.table) {\n this.$refs.table.removeEventListener('scroll', this.isBottomVisible)\n }\n })\n },\n addScrollListener() {\n this.$nextTick(() => {\n this.isBottomVisible()\n if (!this.isBottomScrolled) {\n if (this.$refs.raw) {\n this.$refs.raw.addEventListener('scroll', this.isBottomVisible)\n }\n if (this.$refs.table) {\n this.$refs.table.addEventListener('scroll', this.isBottomVisible)\n }\n }\n })\n },\n updateResultIndex() {\n if (this.resultKey !== this.result.resultKey) {\n this.results.forEach((result, index) => {\n if (result.resultKey === this.resultKey) {\n this.showDialog = true\n this.$emit('display-result', index)\n }\n })\n }\n },\n hideDialog() {\n if (this.showDialog) {\n this.showDialog = false\n }\n },\n increaseIndex() {\n if (this.showDialog) {\n if (this.resultIndex < this.results.length - 1) {\n this.$emit('display-result', this.resultIndex + 1)\n this.content = ''\n } else {\n this.$emit('display-result', 0)\n this.content = ''\n }\n }\n },\n decreaseIndex() {\n if (this.showDialog) {\n if (this.resultIndex > 0) {\n this.$emit('display-result', this.resultIndex - 1)\n } else {\n this.$emit('display-result', this.results.length - 1)\n }\n }\n },\n async loadFileContents() {\n const { lines, offset, reverse, end, previous } = this.streamOptions\n if (!end) {\n this.loading = true\n let content = await loadResult(\n this.result.analysis.pk,\n this.result.resultKey,\n lines,\n offset,\n reverse\n )\n this.loading = false\n\n if (content && previous !== content) {\n this.streamOptions.previous = content\n this.streamOptions.offset += lines\n this.content += content\n this.setTsvItems(this.content)\n this.addScrollListener()\n } else {\n this.streamOptions.end = true\n this.setTsvItems(this.content)\n }\n\n }\n },\n setTsvItems(content) {\n const isTsv = this.result.frontendType === 'tsv-file'\n const detectHandler = (\n detect(content.slice(0, 1000)) || { newline: '\\n', delimiter: '\\t'}\n )\n\n // csv to list of lists\n const dataRows =\n content && isTsv\n ? this.csvToArray(content.trim(), detectHandler.delimiter)\n .filter((row) => row.length)\n .filter((row) => row[0][0] !== '#' || row[0].includes('#CHROM'))\n : []\n\n // Headers\n this.tsvHeaders = dataRows.length\n ? dataRows[0].map((header, index) => {\n return {\n text: header,\n value: `index${index}`,\n sortable: this.streamOptions.end,\n }\n })\n : []\n\n this.tsvHeaders.unshift({\n text: 1,\n value: 'index',\n sortable: false,\n align: 'end',\n class: 'line-column text'\n })\n\n // Content rows\n this.tsvItems = dataRows.length\n ? dataRows.slice(1)\n .map((row, index) => {\n let dictRow = { index: index + 2 }\n row.forEach((value, index) => {\n dictRow[`index${index}`] = value\n })\n return dictRow\n })\n : []\n\n if (!isTsv || (isTsv && !this.tsvHeaders.length)) {\n this.displayRawText = true\n }\n },\n reverseContent() {\n const reverse = this.streamOptions.reverse\n this.resetStreamEvents()\n this.streamOptions.reverse = !reverse\n this.loadFileContents()\n },\n isBottomVisible() {\n const divElement = this.$refs[this.resultType]\n const scrollTop = divElement.scrollTop\n const visible = divElement.clientHeight\n const pageHeight = divElement.scrollHeight\n const bottomOfPage = visible + scrollTop >= pageHeight\n this.isBottomScrolled = bottomOfPage || pageHeight < visible\n },\n toggleFullScreen() {\n this.$store.dispatch(TOGGLE_RESULT_FULLSCREEN, {\n value: !this.isResultModalFullScreen\n })\n },\n parseTsvCell(value) {\n let pattern = /^((http|https|ftp):\\/\\/)/\n if (pattern.test(value)) {\n return `<a href=\"${value}\" target=\"_blank\">Open link</a>`\n } else {\n return value\n }\n },\n\n csvToArray(strData, strDelimiter=\",\") {\n // See: https://stackoverflow.com/a/1293163/3949081\n const objPattern = new RegExp(\n (\n // Delimiters.\n \"(\\\\\" + strDelimiter + \"|\\\\r?\\\\n|\\\\r|^)\" +\n // Quoted fields.\n \"(?:\\\"([^\\\"]*(?:\\\"\\\"[^\\\"]*)*)\\\"|\" +\n // Standard fields.\n \"([^\\\"\\\\\" + strDelimiter + \"\\\\r\\\\n]*))\"\n ),\n \"gi\"\n )\n const arrData = [[]]\n let arrMatches = null\n\n while (arrMatches = objPattern.exec(strData)) {\n // If not delimiter, an end of row has been reached\n const strMatchedDelimiter = arrMatches[1]\n if (\n strMatchedDelimiter.length &&\n strMatchedDelimiter !== strDelimiter\n ){\n arrData.push([])\n }\n\n let strMatchedValue\n if (arrMatches[2]){\n // Quoted value, Unescape any double quotes.\n strMatchedValue = arrMatches[2].replace(\n new RegExp( \"\\\"\\\"\", \"g\" ),\n \"\\\"\"\n )\n } else {\n // Non-quoted value.\n strMatchedValue = arrMatches[3]\n }\n arrData[arrData.length - 1].push(strMatchedValue)\n }\n return arrData\n },\n toHtml(content) {\n return ansiUp.ansi_to_html(content)\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.tsv-table {\n max-width: 100%;\n max-height: 100%;\n margin: 0px auto;\n overflow: auto;\n}\n.v-dialog {\n overflow-y: visible !important; // truly important for iframe performance, dont remove!\n &:not(.v-dialog--fullscreen) {\n max-height: 100% !important;\n max-width: calc(100% - 48px);\n }\n iframe.results-iframe {\n height: 100% !important;\n }\n &.gallery-dialog {\n height: calc(100vh - 60px);\n }\n}\n.results-image {\n max-width: 100%;\n max-height: 85vh;\n margin: auto;\n max-height: 100%;\n width: auto;\n}\n.gallery-card {\n ::-webkit-scrollbar {\n width: 0px;\n height: 0px;\n }\n}\n.v-application .gallery-card {\n .gallery-content {\n background: var(--v-background-base);\n }\n\n pre {\n white-space: pre-;\n &.pre-wrap {\n white-space: pre-wrap;\n }\n code {\n font-size: 12px;\n font-weight: 600;\n }\n }\n\n &.theme--dark code {\n background-color: rgba(0,0,0,.05);\n }\n\n code.v-markup,\n pre.v-markup {\n padding: 10px;\n width: 100%;\n height: 100%;\n text-align: start;\n box-shadow: none;\n text-shadow: none;\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: auto;\n margin: 0px;\n top: 0px;\n color: rgb(255, 255, 255);\n border-radius: 0px;\n background: rgb(0, 0, 0);\n font-size: 12px;\n font-weight: 600;\n\n code.hljs {\n font-size: 12px;\n padding: 0px;\n\n .hljs-string,\n .hljs-bullet,\n .hljs-subst,\n .hljs-title,\n .hljs-section,\n .hljs-emphasis,\n .hljs-type,\n .hljs-built_in,\n .hljs-builtin-name,\n .hljs-selector-attr,\n .hljs-selector-pseudo,\n .hljs-addition,\n .hljs-variable,\n .hljs-template-tag,\n .hljs-template-variable {\n color: var(--v-warning-base);\n }\n }\n }\n\n .tsv-table {\n border: thin solid rgba(0,0,0,.12);\n margin-left: 0;\n\n .theme--dark {\n thead tr th {\n background: var(--v-surface-darken1);\n span {\n color: #9e9e9e;\n }\n }\n tbody tr td {\n background: var(--v-background-base);\n span {\n color: #9e9e9e;\n }\n }\n }\n\n thead tr {\n th {\n background: var(--v-background-base);\n max-width: 250px;\n white-space: nowrap;\n span {\n font-size: 12px;\n font-family: Roboto;\n color: #333333;\n }\n }\n }\n tbody tr {\n td {\n font-size: 12px;\n font-family: Roboto;\n overflow-x: auto;\n white-space: nowrap;\n max-width: 250px;\n }\n }\n\n thead tr th, tbody tr td {\n &.line-column {\n background: var(--v-surface-darken1);\n width: 50px;\n text-align: right;\n font-weight: normal;\n // Make line-column sticky\n position: sticky !important;\n left: 0;\n z-index: 9998;\n }\n }\n\n thead tr th .line-column {\n z-index: 9999;\n }\n }\n\n\n .stream-message {\n font-size: 12px;\n font-style: italic;\n margin: 20px 0px;\n }\n}\n</style>\n"]
279698
279707
  },
279699
279708
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
279700
- hash: "939c0a5ccdecb14565ad19dbcaedbabbaedf8e85"
279709
+ hash: "5f6192ac1c2eded1b2750dcda54cc0e776087070"
279701
279710
  };
279702
279711
  var coverage = global[gcv] || (global[gcv] = {});
279703
279712
  if (coverage[path] && coverage[path].hash === hash) {
@@ -280252,9 +280261,9 @@ ansiUp.use_classes = true;
280252
280261
  });
280253
280262
  ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=script&lang=js&
280254
280263
  /* harmony default export */ var analyses_ResultsGalleryvue_type_script_lang_js_ = (ResultsGalleryvue_type_script_lang_js_);
280255
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/analyses/ResultsGallery.vue?vue&type=style&index=0&id=62a557f9&prod&lang=scss&
280256
- var ResultsGalleryvue_type_style_index_0_id_62a557f9_prod_lang_scss_ = __webpack_require__(65160);
280257
- ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=style&index=0&id=62a557f9&prod&lang=scss&
280264
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/analyses/ResultsGallery.vue?vue&type=style&index=0&id=6168a310&prod&lang=scss&
280265
+ var ResultsGalleryvue_type_style_index_0_id_6168a310_prod_lang_scss_ = __webpack_require__(7786);
280266
+ ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=style&index=0&id=6168a310&prod&lang=scss&
280258
280267
 
280259
280268
  ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue
280260
280269
 
@@ -280267,8 +280276,8 @@ var ResultsGalleryvue_type_style_index_0_id_62a557f9_prod_lang_scss_ = __webpack
280267
280276
 
280268
280277
  var ResultsGallery_component = normalizeComponent(
280269
280278
  analyses_ResultsGalleryvue_type_script_lang_js_,
280270
- ResultsGalleryvue_type_template_id_62a557f9_render,
280271
- ResultsGalleryvue_type_template_id_62a557f9_staticRenderFns,
280279
+ ResultsGalleryvue_type_template_id_6168a310_render,
280280
+ ResultsGalleryvue_type_template_id_6168a310_staticRenderFns,
280272
280281
  false,
280273
280282
  null,
280274
280283
  null,