@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.
@@ -14742,7 +14742,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".link-chip{text-decoration:none}.link-
14742
14742
 
14743
14743
  /***/ }),
14744
14744
 
14745
- /***/ 60582:
14745
+ /***/ 32840:
14746
14746
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
14747
14747
 
14748
14748
  "use strict";
@@ -14756,7 +14756,7 @@ __webpack_require__.r(__webpack_exports__);
14756
14756
 
14757
14757
  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()));
14758
14758
  // Module
14759
- ___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}", ""]);
14759
+ ___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}", ""]);
14760
14760
  // Exports
14761
14761
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
14762
14762
 
@@ -97199,19 +97199,19 @@ var update = add("1da0882b", content, true, {"sourceMap":false,"shadowMode":fals
97199
97199
 
97200
97200
  /***/ }),
97201
97201
 
97202
- /***/ 31215:
97202
+ /***/ 26342:
97203
97203
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
97204
97204
 
97205
97205
  // style-loader: Adds some css to the DOM by adding a <style> tag
97206
97206
 
97207
97207
  // load the styles
97208
- var content = __webpack_require__(60582);
97208
+ var content = __webpack_require__(32840);
97209
97209
  if(content.__esModule) content = content.default;
97210
97210
  if(typeof content === 'string') content = [[module.id, content, '']];
97211
97211
  if(content.locals) module.exports = content.locals;
97212
97212
  // add the styles to the DOM
97213
97213
  var add = (__webpack_require__(54402)/* ["default"] */ .Z)
97214
- var update = add("a68625e8", content, true, {"sourceMap":false,"shadowMode":false});
97214
+ var update = add("7a4e8ec3", content, true, {"sourceMap":false,"shadowMode":false});
97215
97215
 
97216
97216
  /***/ }),
97217
97217
 
@@ -211020,7 +211020,7 @@ var MainSearchvue_type_template_id_2cb26e73_staticRenderFns = (cov_2lhq1nc7mg.s[
211020
211020
  ;// CONCATENATED MODULE: ./src/components/search/MainSearch.vue?vue&type=template&id=2cb26e73&
211021
211021
 
211022
211022
  ;// CONCATENATED MODULE: ./package.json
211023
- var package_namespaceObject = {"i8":"0.3.29"};
211023
+ var package_namespaceObject = {"i8":"0.3.41"};
211024
211024
  ;// CONCATENATED MODULE: ./src/utils/settings.js
211025
211025
  var cov_3nf1oz8ck = function () {
211026
211026
  var path = "/Users/arangooj/Developer/isabl_web/src/utils/settings.js";
@@ -273654,10 +273654,10 @@ var RerunButton_component = normalizeComponent(
273654
273654
  )
273655
273655
 
273656
273656
  /* harmony default export */ var RerunButton = (RerunButton_component.exports);
273657
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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&
273657
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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&
273658
273658
  var cov_4n0g9kegj = function () {
273659
273659
  var path = "/Users/arangooj/Developer/isabl_web/src/components/analyses/ResultsGallery.vue";
273660
- var hash = "c0fafb6720b82af84106c54081ff6e025e6eb50b";
273660
+ var hash = "9241f7cbbf80e481e68a6e9c38f57fc9d916c6a4";
273661
273661
  var global = new Function("return this")();
273662
273662
  var gcv = "__coverage__";
273663
273663
  var coverageData = {
@@ -273700,7 +273700,7 @@ var cov_4n0g9kegj = function () {
273700
273700
  },
273701
273701
  end: {
273702
273702
  line: 1,
273703
- column: 6634
273703
+ column: 6667
273704
273704
  }
273705
273705
  },
273706
273706
  "4": {
@@ -273796,31 +273796,31 @@ var cov_4n0g9kegj = function () {
273796
273796
  "13": {
273797
273797
  start: {
273798
273798
  line: 1,
273799
- column: 5097
273799
+ column: 5130
273800
273800
  },
273801
273801
  end: {
273802
273802
  line: 1,
273803
- column: 5414
273803
+ column: 5447
273804
273804
  }
273805
273805
  },
273806
273806
  "14": {
273807
273807
  start: {
273808
273808
  line: 1,
273809
- column: 5146
273809
+ column: 5179
273810
273810
  },
273811
273811
  end: {
273812
273812
  line: 1,
273813
- column: 5408
273813
+ column: 5441
273814
273814
  }
273815
273815
  },
273816
273816
  "15": {
273817
273817
  start: {
273818
273818
  line: 1,
273819
- column: 5224
273819
+ column: 5257
273820
273820
  },
273821
273821
  end: {
273822
273822
  line: 1,
273823
- column: 5403
273823
+ column: 5436
273824
273824
  }
273825
273825
  },
273826
273826
  "16": {
@@ -274080,21 +274080,21 @@ var cov_4n0g9kegj = function () {
274080
274080
  decl: {
274081
274081
  start: {
274082
274082
  line: 1,
274083
- column: 5077
274083
+ column: 5110
274084
274084
  },
274085
274085
  end: {
274086
274086
  line: 1,
274087
- column: 5078
274087
+ column: 5111
274088
274088
  }
274089
274089
  },
274090
274090
  loc: {
274091
274091
  start: {
274092
274092
  line: 1,
274093
- column: 5096
274093
+ column: 5129
274094
274094
  },
274095
274095
  end: {
274096
274096
  line: 1,
274097
- column: 5415
274097
+ column: 5448
274098
274098
  }
274099
274099
  },
274100
274100
  line: 1
@@ -274104,21 +274104,21 @@ var cov_4n0g9kegj = function () {
274104
274104
  decl: {
274105
274105
  start: {
274106
274106
  line: 1,
274107
- column: 5131
274107
+ column: 5164
274108
274108
  },
274109
274109
  end: {
274110
274110
  line: 1,
274111
- column: 5132
274111
+ column: 5165
274112
274112
  }
274113
274113
  },
274114
274114
  loc: {
274115
274115
  start: {
274116
274116
  line: 1,
274117
- column: 5145
274117
+ column: 5178
274118
274118
  },
274119
274119
  end: {
274120
274120
  line: 1,
274121
- column: 5409
274121
+ column: 5442
274122
274122
  }
274123
274123
  },
274124
274124
  line: 1
@@ -274128,21 +274128,21 @@ var cov_4n0g9kegj = function () {
274128
274128
  decl: {
274129
274129
  start: {
274130
274130
  line: 1,
274131
- column: 5201
274131
+ column: 5234
274132
274132
  },
274133
274133
  end: {
274134
274134
  line: 1,
274135
- column: 5202
274135
+ column: 5235
274136
274136
  }
274137
274137
  },
274138
274138
  loc: {
274139
274139
  start: {
274140
274140
  line: 1,
274141
- column: 5223
274141
+ column: 5256
274142
274142
  },
274143
274143
  end: {
274144
274144
  line: 1,
274145
- column: 5404
274145
+ column: 5437
274146
274146
  }
274147
274147
  },
274148
274148
  line: 1
@@ -274157,7 +274157,7 @@ var cov_4n0g9kegj = function () {
274157
274157
  },
274158
274158
  end: {
274159
274159
  line: 1,
274160
- column: 6634
274160
+ column: 6667
274161
274161
  }
274162
274162
  },
274163
274163
  type: "cond-expr",
@@ -274168,16 +274168,16 @@ var cov_4n0g9kegj = function () {
274168
274168
  },
274169
274169
  end: {
274170
274170
  line: 1,
274171
- column: 6625
274171
+ column: 6658
274172
274172
  }
274173
274173
  }, {
274174
274174
  start: {
274175
274175
  line: 1,
274176
- column: 6626
274176
+ column: 6659
274177
274177
  },
274178
274178
  end: {
274179
274179
  line: 1,
274180
- column: 6634
274180
+ column: 6667
274181
274181
  }
274182
274182
  }],
274183
274183
  line: 1
@@ -274619,27 +274619,27 @@ var cov_4n0g9kegj = function () {
274619
274619
  },
274620
274620
  end: {
274621
274621
  line: 1,
274622
- column: 6613
274622
+ column: 6646
274623
274623
  }
274624
274624
  },
274625
274625
  type: "cond-expr",
274626
274626
  locations: [{
274627
274627
  start: {
274628
274628
  line: 1,
274629
- column: 3785
274629
+ column: 3818
274630
274630
  },
274631
274631
  end: {
274632
274632
  line: 1,
274633
- column: 4009
274633
+ column: 4042
274634
274634
  }
274635
274635
  }, {
274636
274636
  start: {
274637
274637
  line: 1,
274638
- column: 4010
274638
+ column: 4043
274639
274639
  },
274640
274640
  end: {
274641
274641
  line: 1,
274642
- column: 6613
274642
+ column: 6646
274643
274643
  }
274644
274644
  }],
274645
274645
  line: 1
@@ -274652,27 +274652,36 @@ var cov_4n0g9kegj = function () {
274652
274652
  },
274653
274653
  end: {
274654
274654
  line: 1,
274655
- column: 3783
274655
+ column: 3816
274656
274656
  }
274657
274657
  },
274658
274658
  type: "binary-expr",
274659
274659
  locations: [{
274660
274660
  start: {
274661
274661
  line: 1,
274662
- column: 3721
274662
+ column: 3722
274663
274663
  },
274664
274664
  end: {
274665
274665
  line: 1,
274666
- column: 3745
274666
+ column: 3747
274667
274667
  }
274668
274668
  }, {
274669
274669
  start: {
274670
274670
  line: 1,
274671
- column: 3749
274671
+ column: 3753
274672
274672
  },
274673
274673
  end: {
274674
274674
  line: 1,
274675
- column: 3783
274675
+ column: 3777
274676
+ }
274677
+ }, {
274678
+ start: {
274679
+ line: 1,
274680
+ column: 3781
274681
+ },
274682
+ end: {
274683
+ line: 1,
274684
+ column: 3815
274676
274685
  }
274677
274686
  }],
274678
274687
  line: 1
@@ -274681,31 +274690,31 @@ var cov_4n0g9kegj = function () {
274681
274690
  loc: {
274682
274691
  start: {
274683
274692
  line: 1,
274684
- column: 4010
274693
+ column: 4043
274685
274694
  },
274686
274695
  end: {
274687
274696
  line: 1,
274688
- column: 6613
274697
+ column: 6646
274689
274698
  }
274690
274699
  },
274691
274700
  type: "cond-expr",
274692
274701
  locations: [{
274693
274702
  start: {
274694
274703
  line: 1,
274695
- column: 4023
274704
+ column: 4056
274696
274705
  },
274697
274706
  end: {
274698
274707
  line: 1,
274699
- column: 4137
274708
+ column: 4170
274700
274709
  }
274701
274710
  }, {
274702
274711
  start: {
274703
274712
  line: 1,
274704
- column: 4138
274713
+ column: 4171
274705
274714
  },
274706
274715
  end: {
274707
274716
  line: 1,
274708
- column: 6613
274717
+ column: 6646
274709
274718
  }
274710
274719
  }],
274711
274720
  line: 1
@@ -274714,31 +274723,31 @@ var cov_4n0g9kegj = function () {
274714
274723
  loc: {
274715
274724
  start: {
274716
274725
  line: 1,
274717
- column: 4138
274726
+ column: 4171
274718
274727
  },
274719
274728
  end: {
274720
274729
  line: 1,
274721
- column: 6613
274730
+ column: 6646
274722
274731
  }
274723
274732
  },
274724
274733
  type: "cond-expr",
274725
274734
  locations: [{
274726
274735
  start: {
274727
274736
  line: 1,
274728
- column: 4165
274737
+ column: 4198
274729
274738
  },
274730
274739
  end: {
274731
274740
  line: 1,
274732
- column: 4784
274741
+ column: 4817
274733
274742
  }
274734
274743
  }, {
274735
274744
  start: {
274736
274745
  line: 1,
274737
- column: 4785
274746
+ column: 4818
274738
274747
  },
274739
274748
  end: {
274740
274749
  line: 1,
274741
- column: 6613
274750
+ column: 6646
274742
274751
  }
274743
274752
  }],
274744
274753
  line: 1
@@ -274747,31 +274756,31 @@ var cov_4n0g9kegj = function () {
274747
274756
  loc: {
274748
274757
  start: {
274749
274758
  line: 1,
274750
- column: 4300
274759
+ column: 4333
274751
274760
  },
274752
274761
  end: {
274753
274762
  line: 1,
274754
- column: 4759
274763
+ column: 4792
274755
274764
  }
274756
274765
  },
274757
274766
  type: "cond-expr",
274758
274767
  locations: [{
274759
274768
  start: {
274760
274769
  line: 1,
274761
- column: 4355
274770
+ column: 4388
274762
274771
  },
274763
274772
  end: {
274764
274773
  line: 1,
274765
- column: 4750
274774
+ column: 4783
274766
274775
  }
274767
274776
  }, {
274768
274777
  start: {
274769
274778
  line: 1,
274770
- column: 4751
274779
+ column: 4784
274771
274780
  },
274772
274781
  end: {
274773
274782
  line: 1,
274774
- column: 4759
274783
+ column: 4792
274775
274784
  }
274776
274785
  }],
274777
274786
  line: 1
@@ -274780,31 +274789,31 @@ var cov_4n0g9kegj = function () {
274780
274789
  loc: {
274781
274790
  start: {
274782
274791
  line: 1,
274783
- column: 4301
274792
+ column: 4334
274784
274793
  },
274785
274794
  end: {
274786
274795
  line: 1,
274787
- column: 4353
274796
+ column: 4386
274788
274797
  }
274789
274798
  },
274790
274799
  type: "binary-expr",
274791
274800
  locations: [{
274792
274801
  start: {
274793
274802
  line: 1,
274794
- column: 4301
274803
+ column: 4334
274795
274804
  },
274796
274805
  end: {
274797
274806
  line: 1,
274798
- column: 4312
274807
+ column: 4345
274799
274808
  }
274800
274809
  }, {
274801
274810
  start: {
274802
274811
  line: 1,
274803
- column: 4316
274812
+ column: 4349
274804
274813
  },
274805
274814
  end: {
274806
274815
  line: 1,
274807
- column: 4353
274816
+ column: 4386
274808
274817
  }
274809
274818
  }],
274810
274819
  line: 1
@@ -274813,31 +274822,31 @@ var cov_4n0g9kegj = function () {
274813
274822
  loc: {
274814
274823
  start: {
274815
274824
  line: 1,
274816
- column: 4391
274825
+ column: 4424
274817
274826
  },
274818
274827
  end: {
274819
274828
  line: 1,
274820
- column: 4551
274829
+ column: 4584
274821
274830
  }
274822
274831
  },
274823
274832
  type: "cond-expr",
274824
274833
  locations: [{
274825
274834
  start: {
274826
274835
  line: 1,
274827
- column: 4416
274836
+ column: 4449
274828
274837
  },
274829
274838
  end: {
274830
274839
  line: 1,
274831
- column: 4542
274840
+ column: 4575
274832
274841
  }
274833
274842
  }, {
274834
274843
  start: {
274835
274844
  line: 1,
274836
- column: 4543
274845
+ column: 4576
274837
274846
  },
274838
274847
  end: {
274839
274848
  line: 1,
274840
- column: 4551
274849
+ column: 4584
274841
274850
  }
274842
274851
  }],
274843
274852
  line: 1
@@ -274846,31 +274855,31 @@ var cov_4n0g9kegj = function () {
274846
274855
  loc: {
274847
274856
  start: {
274848
274857
  line: 1,
274849
- column: 4577
274858
+ column: 4610
274850
274859
  },
274851
274860
  end: {
274852
274861
  line: 1,
274853
- column: 4725
274862
+ column: 4758
274854
274863
  }
274855
274864
  },
274856
274865
  type: "cond-expr",
274857
274866
  locations: [{
274858
274867
  start: {
274859
274868
  line: 1,
274860
- column: 4601
274869
+ column: 4634
274861
274870
  },
274862
274871
  end: {
274863
274872
  line: 1,
274864
- column: 4716
274873
+ column: 4749
274865
274874
  }
274866
274875
  }, {
274867
274876
  start: {
274868
274877
  line: 1,
274869
- column: 4717
274878
+ column: 4750
274870
274879
  },
274871
274880
  end: {
274872
274881
  line: 1,
274873
- column: 4725
274882
+ column: 4758
274874
274883
  }
274875
274884
  }],
274876
274885
  line: 1
@@ -274879,31 +274888,31 @@ var cov_4n0g9kegj = function () {
274879
274888
  loc: {
274880
274889
  start: {
274881
274890
  line: 1,
274882
- column: 4785
274891
+ column: 4818
274883
274892
  },
274884
274893
  end: {
274885
274894
  line: 1,
274886
- column: 6613
274895
+ column: 6646
274887
274896
  }
274888
274897
  },
274889
274898
  type: "cond-expr",
274890
274899
  locations: [{
274891
274900
  start: {
274892
274901
  line: 1,
274893
- column: 4814
274902
+ column: 4847
274894
274903
  },
274895
274904
  end: {
274896
274905
  line: 1,
274897
- column: 5684
274906
+ column: 5717
274898
274907
  }
274899
274908
  }, {
274900
274909
  start: {
274901
274910
  line: 1,
274902
- column: 5685
274911
+ column: 5718
274903
274912
  },
274904
274913
  end: {
274905
274914
  line: 1,
274906
- column: 6613
274915
+ column: 6646
274907
274916
  }
274908
274917
  }],
274909
274918
  line: 1
@@ -274912,31 +274921,31 @@ var cov_4n0g9kegj = function () {
274912
274921
  loc: {
274913
274922
  start: {
274914
274923
  line: 1,
274915
- column: 5272
274924
+ column: 5305
274916
274925
  },
274917
274926
  end: {
274918
274927
  line: 1,
274919
- column: 5322
274928
+ column: 5355
274920
274929
  }
274921
274930
  },
274922
274931
  type: "cond-expr",
274923
274932
  locations: [{
274924
274933
  start: {
274925
274934
  line: 1,
274926
- column: 5299
274935
+ column: 5332
274927
274936
  },
274928
274937
  end: {
274929
274938
  line: 1,
274930
- column: 5317
274939
+ column: 5350
274931
274940
  }
274932
274941
  }, {
274933
274942
  start: {
274934
274943
  line: 1,
274935
- column: 5320
274944
+ column: 5353
274936
274945
  },
274937
274946
  end: {
274938
274947
  line: 1,
274939
- column: 5322
274948
+ column: 5355
274940
274949
  }
274941
274950
  }],
274942
274951
  line: 1
@@ -274945,31 +274954,31 @@ var cov_4n0g9kegj = function () {
274945
274954
  loc: {
274946
274955
  start: {
274947
274956
  line: 1,
274948
- column: 5496
274957
+ column: 5529
274949
274958
  },
274950
274959
  end: {
274951
274960
  line: 1,
274952
- column: 5678
274961
+ column: 5711
274953
274962
  }
274954
274963
  },
274955
274964
  type: "cond-expr",
274956
274965
  locations: [{
274957
274966
  start: {
274958
274967
  line: 1,
274959
- column: 5551
274968
+ column: 5584
274960
274969
  },
274961
274970
  end: {
274962
274971
  line: 1,
274963
- column: 5669
274972
+ column: 5702
274964
274973
  }
274965
274974
  }, {
274966
274975
  start: {
274967
274976
  line: 1,
274968
- column: 5670
274977
+ column: 5703
274969
274978
  },
274970
274979
  end: {
274971
274980
  line: 1,
274972
- column: 5678
274981
+ column: 5711
274973
274982
  }
274974
274983
  }],
274975
274984
  line: 1
@@ -274978,31 +274987,31 @@ var cov_4n0g9kegj = function () {
274978
274987
  loc: {
274979
274988
  start: {
274980
274989
  line: 1,
274981
- column: 5497
274990
+ column: 5530
274982
274991
  },
274983
274992
  end: {
274984
274993
  line: 1,
274985
- column: 5549
274994
+ column: 5582
274986
274995
  }
274987
274996
  },
274988
274997
  type: "binary-expr",
274989
274998
  locations: [{
274990
274999
  start: {
274991
275000
  line: 1,
274992
- column: 5497
275001
+ column: 5530
274993
275002
  },
274994
275003
  end: {
274995
275004
  line: 1,
274996
- column: 5508
275005
+ column: 5541
274997
275006
  }
274998
275007
  }, {
274999
275008
  start: {
275000
275009
  line: 1,
275001
- column: 5512
275010
+ column: 5545
275002
275011
  },
275003
275012
  end: {
275004
275013
  line: 1,
275005
- column: 5549
275014
+ column: 5582
275006
275015
  }
275007
275016
  }],
275008
275017
  line: 1
@@ -275011,31 +275020,31 @@ var cov_4n0g9kegj = function () {
275011
275020
  loc: {
275012
275021
  start: {
275013
275022
  line: 1,
275014
- column: 5562
275023
+ column: 5595
275015
275024
  },
275016
275025
  end: {
275017
275026
  line: 1,
275018
- column: 5667
275027
+ column: 5700
275019
275028
  }
275020
275029
  },
275021
275030
  type: "cond-expr",
275022
275031
  locations: [{
275023
275032
  start: {
275024
275033
  line: 1,
275025
- column: 5587
275034
+ column: 5620
275026
275035
  },
275027
275036
  end: {
275028
275037
  line: 1,
275029
- column: 5631
275038
+ column: 5664
275030
275039
  }
275031
275040
  }, {
275032
275041
  start: {
275033
275042
  line: 1,
275034
- column: 5632
275043
+ column: 5665
275035
275044
  },
275036
275045
  end: {
275037
275046
  line: 1,
275038
- column: 5667
275047
+ column: 5700
275039
275048
  }
275040
275049
  }],
275041
275050
  line: 1
@@ -275044,31 +275053,31 @@ var cov_4n0g9kegj = function () {
275044
275053
  loc: {
275045
275054
  start: {
275046
275055
  line: 1,
275047
- column: 5685
275056
+ column: 5718
275048
275057
  },
275049
275058
  end: {
275050
275059
  line: 1,
275051
- column: 6613
275060
+ column: 6646
275052
275061
  }
275053
275062
  },
275054
275063
  type: "cond-expr",
275055
275064
  locations: [{
275056
275065
  start: {
275057
275066
  line: 1,
275058
- column: 5714
275067
+ column: 5747
275059
275068
  },
275060
275069
  end: {
275061
275070
  line: 1,
275062
- column: 5850
275071
+ column: 5883
275063
275072
  }
275064
275073
  }, {
275065
275074
  start: {
275066
275075
  line: 1,
275067
- column: 5851
275076
+ column: 5884
275068
275077
  },
275069
275078
  end: {
275070
275079
  line: 1,
275071
- column: 6613
275080
+ column: 6646
275072
275081
  }
275073
275082
  }],
275074
275083
  line: 1
@@ -275077,31 +275086,31 @@ var cov_4n0g9kegj = function () {
275077
275086
  loc: {
275078
275087
  start: {
275079
275088
  line: 1,
275080
- column: 5851
275089
+ column: 5884
275081
275090
  },
275082
275091
  end: {
275083
275092
  line: 1,
275084
- column: 6613
275093
+ column: 6646
275085
275094
  }
275086
275095
  },
275087
275096
  type: "cond-expr",
275088
275097
  locations: [{
275089
275098
  start: {
275090
275099
  line: 1,
275091
- column: 5894
275100
+ column: 5927
275092
275101
  },
275093
275102
  end: {
275094
275103
  line: 1,
275095
- column: 6092
275104
+ column: 6125
275096
275105
  }
275097
275106
  }, {
275098
275107
  start: {
275099
275108
  line: 1,
275100
- column: 6093
275109
+ column: 6126
275101
275110
  },
275102
275111
  end: {
275103
275112
  line: 1,
275104
- column: 6613
275113
+ column: 6646
275105
275114
  }
275106
275115
  }],
275107
275116
  line: 1
@@ -275110,31 +275119,31 @@ var cov_4n0g9kegj = function () {
275110
275119
  loc: {
275111
275120
  start: {
275112
275121
  line: 1,
275113
- column: 6093
275122
+ column: 6126
275114
275123
  },
275115
275124
  end: {
275116
275125
  line: 1,
275117
- column: 6613
275126
+ column: 6646
275118
275127
  }
275119
275128
  },
275120
275129
  type: "cond-expr",
275121
275130
  locations: [{
275122
275131
  start: {
275123
275132
  line: 1,
275124
- column: 6124
275133
+ column: 6157
275125
275134
  },
275126
275135
  end: {
275127
275136
  line: 1,
275128
- column: 6287
275137
+ column: 6320
275129
275138
  }
275130
275139
  }, {
275131
275140
  start: {
275132
275141
  line: 1,
275133
- column: 6288
275142
+ column: 6321
275134
275143
  },
275135
275144
  end: {
275136
275145
  line: 1,
275137
- column: 6613
275146
+ column: 6646
275138
275147
  }
275139
275148
  }],
275140
275149
  line: 1
@@ -275143,31 +275152,31 @@ var cov_4n0g9kegj = function () {
275143
275152
  loc: {
275144
275153
  start: {
275145
275154
  line: 1,
275146
- column: 6288
275155
+ column: 6321
275147
275156
  },
275148
275157
  end: {
275149
275158
  line: 1,
275150
- column: 6613
275159
+ column: 6646
275151
275160
  }
275152
275161
  },
275153
275162
  type: "cond-expr",
275154
275163
  locations: [{
275155
275164
  start: {
275156
275165
  line: 1,
275157
- column: 6318
275166
+ column: 6351
275158
275167
  },
275159
275168
  end: {
275160
275169
  line: 1,
275161
- column: 6445
275170
+ column: 6478
275162
275171
  }
275163
275172
  }, {
275164
275173
  start: {
275165
275174
  line: 1,
275166
- column: 6446
275175
+ column: 6479
275167
275176
  },
275168
275177
  end: {
275169
275178
  line: 1,
275170
- column: 6613
275179
+ column: 6646
275171
275180
  }
275172
275181
  }],
275173
275182
  line: 1
@@ -275176,31 +275185,31 @@ var cov_4n0g9kegj = function () {
275176
275185
  loc: {
275177
275186
  start: {
275178
275187
  line: 1,
275179
- column: 6446
275188
+ column: 6479
275180
275189
  },
275181
275190
  end: {
275182
275191
  line: 1,
275183
- column: 6613
275192
+ column: 6646
275184
275193
  }
275185
275194
  },
275186
275195
  type: "cond-expr",
275187
275196
  locations: [{
275188
275197
  start: {
275189
275198
  line: 1,
275190
- column: 6496
275199
+ column: 6529
275191
275200
  },
275192
275201
  end: {
275193
275202
  line: 1,
275194
- column: 6604
275203
+ column: 6637
275195
275204
  }
275196
275205
  }, {
275197
275206
  start: {
275198
275207
  line: 1,
275199
- column: 6605
275208
+ column: 6638
275200
275209
  },
275201
275210
  end: {
275202
275211
  line: 1,
275203
- column: 6613
275212
+ column: 6646
275204
275213
  }
275205
275214
  }],
275206
275215
  line: 1
@@ -275256,7 +275265,7 @@ var cov_4n0g9kegj = function () {
275256
275265
  "12": [0, 0],
275257
275266
  "13": [0, 0],
275258
275267
  "14": [0, 0],
275259
- "15": [0, 0],
275268
+ "15": [0, 0, 0],
275260
275269
  "16": [0, 0],
275261
275270
  "17": [0, 0],
275262
275271
  "18": [0, 0],
@@ -275275,7 +275284,7 @@ var cov_4n0g9kegj = function () {
275275
275284
  "31": [0, 0]
275276
275285
  },
275277
275286
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
275278
- hash: "c0fafb6720b82af84106c54081ff6e025e6eb50b"
275287
+ hash: "9241f7cbbf80e481e68a6e9c38f57fc9d916c6a4"
275279
275288
  };
275280
275289
  var coverage = global[gcv] || (global[gcv] = {});
275281
275290
  if (coverage[path] && coverage[path].hash === hash) {
@@ -275284,7 +275293,7 @@ var cov_4n0g9kegj = function () {
275284
275293
  return coverage[path] = coverageData;
275285
275294
  }();
275286
275295
  cov_4n0g9kegj.s[0]++;
275287
- var ResultsGalleryvue_type_template_id_62a557f9_render = function render() {
275296
+ var ResultsGalleryvue_type_template_id_6168a310_render = function render() {
275288
275297
  cov_4n0g9kegj.f[0]++;
275289
275298
  var _vm = (cov_4n0g9kegj.s[1]++, this),
275290
275299
  _c = (cov_4n0g9kegj.s[2]++, _vm._self._c);
@@ -275491,7 +275500,7 @@ var ResultsGalleryvue_type_template_id_62a557f9_render = function render() {
275491
275500
  "height": "2",
275492
275501
  "color": "primary"
275493
275502
  }
275494
- })) : (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', {
275503
+ })) : (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', {
275495
275504
  directives: [{
275496
275505
  name: "highlightjs",
275497
275506
  rawName: "v-highlightjs",
@@ -275598,9 +275607,9 @@ var ResultsGalleryvue_type_template_id_62a557f9_render = function render() {
275598
275607
  }
275599
275608
  }, [_vm._v(_vm._s(_vm.result.value))])])) : (cov_4n0g9kegj.b[31][1]++, _vm._e())))))))))], 1)], 1)], 1)) : (cov_4n0g9kegj.b[0][1]++, _vm._e());
275600
275609
  };
275601
- var ResultsGalleryvue_type_template_id_62a557f9_staticRenderFns = (cov_4n0g9kegj.s[16]++, []);
275610
+ var ResultsGalleryvue_type_template_id_6168a310_staticRenderFns = (cov_4n0g9kegj.s[16]++, []);
275602
275611
 
275603
- ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=template&id=62a557f9&
275612
+ ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=template&id=6168a310&
275604
275613
 
275605
275614
  ;// CONCATENATED MODULE: ./node_modules/ansi_up/ansi_up.js
275606
275615
 
@@ -276041,7 +276050,7 @@ var detect_csv_default = /*#__PURE__*/__webpack_require__.n(detect_csv);
276041
276050
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/analyses/ResultsGallery.vue?vue&type=script&lang=js&
276042
276051
  var ResultsGalleryvue_type_script_lang_js_cov_4n0g9kegj = function () {
276043
276052
  var path = "/Users/arangooj/Developer/isabl_web/src/components/analyses/ResultsGallery.vue";
276044
- var hash = "939c0a5ccdecb14565ad19dbcaedbabbaedf8e85";
276053
+ var hash = "5f6192ac1c2eded1b2750dcda54cc0e776087070";
276045
276054
  var global = new Function("return this")();
276046
276055
  var gcv = "__coverage__";
276047
276056
  var coverageData = {
@@ -279704,10 +279713,10 @@ var ResultsGalleryvue_type_script_lang_js_cov_4n0g9kegj = function () {
279704
279713
  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",
279705
279714
  file: "ResultsGallery.vue",
279706
279715
  sourceRoot: "src/components/analyses",
279707
- 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"]
279716
+ 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"]
279708
279717
  },
279709
279718
  _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
279710
- hash: "939c0a5ccdecb14565ad19dbcaedbabbaedf8e85"
279719
+ hash: "5f6192ac1c2eded1b2750dcda54cc0e776087070"
279711
279720
  };
279712
279721
  var coverage = global[gcv] || (global[gcv] = {});
279713
279722
  if (coverage[path] && coverage[path].hash === hash) {
@@ -280262,9 +280271,9 @@ ansiUp.use_classes = true;
280262
280271
  });
280263
280272
  ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=script&lang=js&
280264
280273
  /* harmony default export */ var analyses_ResultsGalleryvue_type_script_lang_js_ = (ResultsGalleryvue_type_script_lang_js_);
280265
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-64.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.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&
280266
- var ResultsGalleryvue_type_style_index_0_id_62a557f9_prod_lang_scss_ = __webpack_require__(31215);
280267
- ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=style&index=0&id=62a557f9&prod&lang=scss&
280274
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-64.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.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&
280275
+ var ResultsGalleryvue_type_style_index_0_id_6168a310_prod_lang_scss_ = __webpack_require__(26342);
280276
+ ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue?vue&type=style&index=0&id=6168a310&prod&lang=scss&
280268
280277
 
280269
280278
  ;// CONCATENATED MODULE: ./src/components/analyses/ResultsGallery.vue
280270
280279
 
@@ -280277,8 +280286,8 @@ var ResultsGalleryvue_type_style_index_0_id_62a557f9_prod_lang_scss_ = __webpack
280277
280286
 
280278
280287
  var ResultsGallery_component = normalizeComponent(
280279
280288
  analyses_ResultsGalleryvue_type_script_lang_js_,
280280
- ResultsGalleryvue_type_template_id_62a557f9_render,
280281
- ResultsGalleryvue_type_template_id_62a557f9_staticRenderFns,
280289
+ ResultsGalleryvue_type_template_id_6168a310_render,
280290
+ ResultsGalleryvue_type_template_id_6168a310_staticRenderFns,
280282
280291
  false,
280283
280292
  null,
280284
280293
  null,