@papaemmelab/isabl-web 0.3.45-beta.0 → 0.3.45-beta.1
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.
- package/dist/isabl-web.common.js +587 -545
- package/dist/isabl-web.umd.js +587 -545
- package/dist/isabl-web.umd.min.js +3 -3
- package/package.json +1 -1
package/dist/isabl-web.umd.js
CHANGED
|
@@ -14689,7 +14689,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".matrix-legend[data-v-4c88fa7c]{paddin
|
|
|
14689
14689
|
|
|
14690
14690
|
/***/ }),
|
|
14691
14691
|
|
|
14692
|
-
/***/
|
|
14692
|
+
/***/ 58066:
|
|
14693
14693
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
14694
14694
|
|
|
14695
14695
|
"use strict";
|
|
@@ -14703,7 +14703,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
14703
14703
|
|
|
14704
14704
|
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()));
|
|
14705
14705
|
// Module
|
|
14706
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".project-matrix[data-v-
|
|
14706
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".project-matrix[data-v-2742f691]{height:100%;min-height:400px}.loading-container[data-v-2742f691],.project-matrix[data-v-2742f691]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.loading-container[data-v-2742f691]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:300px}.filter-spacer[data-v-2742f691]{height:16px;background:#fff}.matrix-scroll-container[data-v-2742f691]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;max-height:calc(80vh - 180px)}.no-matches-message[data-v-2742f691]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:24px;color:#666;font-size:13px}.matrix-table[data-v-2742f691]{border-collapse:separate;border-spacing:0;table-layout:fixed}.header-row[data-v-2742f691]{display:grid;grid-template-columns:200px repeat(var(--col-count),50px);position:sticky;top:0;z-index:10;background:#fff;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.corner-cell[data-v-2742f691]{position:sticky;left:0;z-index:11;border-right:2px solid #5b5dff;width:200px;-webkit-box-sizing:border-box;box-sizing:border-box}.corner-cell[data-v-2742f691],.header-cell[data-v-2742f691]{background:#fff;border-bottom:2px solid #5b5dff;height:130px}.header-cell[data-v-2742f691]{position:relative;width:50px;overflow:visible;cursor:pointer}.header-cell:hover .header-text[data-v-2742f691]{background:#fff6db;border-radius:2px}.header-cell.column-highlighted .header-text[data-v-2742f691]{background:#fff0d9;border-radius:2px;font-weight:700;color:#000}.header-text[data-v-2742f691]{position:absolute;bottom:8px;left:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:bottom left;transform-origin:bottom left;white-space:nowrap;font-size:11px;font-weight:500;color:#333;z-index:1}td.row-header[data-v-2742f691]{position:sticky;left:0;z-index:1;background:#fff;border-right:2px solid #5b5dff;padding:0 8px;width:200px;min-width:200px;max-width:200px;height:24px;border-bottom:1px solid #e0e0e0;cursor:pointer;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.row-header.row-highlighted[data-v-2742f691]{background:#ffe8c5!important}.row-header.row-highlighted .system-id[data-v-2742f691]{font-weight:700;color:#000}.system-id[data-v-2742f691]{font-size:11px;font-family:monospace;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-header[data-v-2742f691]:hover{background:#fff0d9}.row-header:hover .system-id[data-v-2742f691]{font-weight:600}td.matrix-cell[data-v-2742f691]{width:50px;min-width:50px;max-width:50px;height:24px;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;cursor:default;background:#fafafa;padding:0;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.matrix-cell.has-analyses[data-v-2742f691]{cursor:pointer;background:#fff}.matrix-cell.cell-selected[data-v-2742f691],.matrix-cell.has-analyses[data-v-2742f691]:hover{border-right-color:#5b5dff;border-bottom-color:#5b5dff;background:#f0f0ff}.matrix-cell.cell-highlighted[data-v-2742f691]{background:#ffe8c5}.cell-stripes[data-v-2742f691]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:1px;height:100%;width:100%;padding:2px 4px}.stripe[data-v-2742f691]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:3px;min-width:2px;max-width:5px;border-radius:1px}.cell-count-badge[data-v-2742f691]{width:100%;color:#fff;font-weight:600;text-shadow:0 0 2px rgba(0,0,0,.3)}.cell-count-badge[data-v-2742f691],.empty-cell[data-v-2742f691]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;font-size:10px}.empty-cell[data-v-2742f691]{color:#ccc}.native-tooltip[data-v-2742f691]{position:fixed;-webkit-transform:translateX(-50%) translateY(-100%);transform:translateX(-50%) translateY(-100%);z-index:9999;background:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.2);box-shadow:0 2px 8px rgba(0,0,0,.2);min-width:280px;max-width:350px;max-height:300px;overflow-y:auto}.native-tooltip[data-v-2742f691] .tooltip-header{padding:8px 12px;background:#f5f5f5;font-weight:500;font-size:13px;border-bottom:1px solid #e0e0e0}.native-tooltip[data-v-2742f691] .tooltip-list{padding:4px 0}.native-tooltip[data-v-2742f691] .tooltip-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:6px 12px;cursor:pointer;font-size:12px}.native-tooltip[data-v-2742f691] .tooltip-item:hover{background:#e3f2fd}.native-tooltip[data-v-2742f691] .tooltip-item .status-dot{width:8px;height:8px;border-radius:50%;margin-right:8px;-ms-flex-negative:0;flex-shrink:0}.native-tooltip[data-v-2742f691] .tooltip-item .analysis-pk{color:#1976d2;font-weight:500}.native-tooltip[data-v-2742f691] .tooltip-item .sep{margin:0 6px;color:#999}.native-tooltip[data-v-2742f691] .tooltip-item .version{color:#666}.native-tooltip[data-v-2742f691] .tooltip-item .assembly{color:#999}.native-tooltip[data-v-2742f691] .tooltip-item .status-chip{margin-left:auto;padding:2px 6px;border-radius:3px;color:#fff;font-size:10px;font-weight:500}.native-tooltip[data-v-2742f691] .experiment-group-header{padding:6px 12px 4px;font-size:11px;font-weight:600;color:#1976d2;background:#f8f9fa;border-top:1px solid #e0e0e0;font-family:monospace}.native-tooltip[data-v-2742f691] .experiment-group-header:first-child{border-top:none}", ""]);
|
|
14707
14707
|
// Exports
|
|
14708
14708
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
14709
14709
|
|
|
@@ -97326,19 +97326,19 @@ var update = add("f6fdb1b6", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
97326
97326
|
|
|
97327
97327
|
/***/ }),
|
|
97328
97328
|
|
|
97329
|
-
/***/
|
|
97329
|
+
/***/ 99570:
|
|
97330
97330
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
97331
97331
|
|
|
97332
97332
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
97333
97333
|
|
|
97334
97334
|
// load the styles
|
|
97335
|
-
var content = __webpack_require__(
|
|
97335
|
+
var content = __webpack_require__(58066);
|
|
97336
97336
|
if(content.__esModule) content = content.default;
|
|
97337
97337
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
97338
97338
|
if(content.locals) module.exports = content.locals;
|
|
97339
97339
|
// add the styles to the DOM
|
|
97340
97340
|
var add = (__webpack_require__(54402)/* ["default"] */ .Z)
|
|
97341
|
-
var update = add("
|
|
97341
|
+
var update = add("310bbf82", content, true, {"sourceMap":false,"shadowMode":false});
|
|
97342
97342
|
|
|
97343
97343
|
/***/ }),
|
|
97344
97344
|
|
|
@@ -329939,7 +329939,7 @@ var ProjectMatrixModalvue_type_template_id_6865373b_scoped_true_staticRenderFns
|
|
|
329939
329939
|
|
|
329940
329940
|
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrixModal.vue?vue&type=template&id=6865373b&scoped=true&
|
|
329941
329941
|
|
|
329942
|
-
;// 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/projects/ProjectMatrix.vue?vue&type=template&id=
|
|
329942
|
+
;// 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/projects/ProjectMatrix.vue?vue&type=template&id=2742f691&scoped=true&
|
|
329943
329943
|
var cov_geimehe8j = function () {
|
|
329944
329944
|
var path = "/Users/havasove/Desktop/repos/isabl_matrix/isabl_web/src/components/projects/ProjectMatrix.vue";
|
|
329945
329945
|
var hash = "6d5e6f72d2678492dbab470e36f9338523984f43";
|
|
@@ -330754,7 +330754,7 @@ var cov_geimehe8j = function () {
|
|
|
330754
330754
|
return coverage[path] = coverageData;
|
|
330755
330755
|
}();
|
|
330756
330756
|
cov_geimehe8j.s[0]++;
|
|
330757
|
-
var
|
|
330757
|
+
var ProjectMatrixvue_type_template_id_2742f691_scoped_true_render = function render() {
|
|
330758
330758
|
cov_geimehe8j.f[0]++;
|
|
330759
330759
|
var _vm = (cov_geimehe8j.s[1]++, this),
|
|
330760
330760
|
_c = (cov_geimehe8j.s[2]++, _vm._self._c);
|
|
@@ -330946,9 +330946,9 @@ var ProjectMatrixvue_type_template_id_68d9db25_scoped_true_render = function ren
|
|
|
330946
330946
|
staticClass: "tooltip-content"
|
|
330947
330947
|
})])])))], 2);
|
|
330948
330948
|
};
|
|
330949
|
-
var
|
|
330949
|
+
var ProjectMatrixvue_type_template_id_2742f691_scoped_true_staticRenderFns = (cov_geimehe8j.s[12]++, []);
|
|
330950
330950
|
|
|
330951
|
-
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrix.vue?vue&type=template&id=
|
|
330951
|
+
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrix.vue?vue&type=template&id=2742f691&scoped=true&
|
|
330952
330952
|
|
|
330953
330953
|
;// CONCATENATED MODULE: ./src/utils/matrixHelpers.js
|
|
330954
330954
|
var cov_17wz1apxpu = function () {
|
|
@@ -341930,7 +341930,7 @@ var MatrixLegend_component = normalizeComponent(
|
|
|
341930
341930
|
function ProjectMatrixvue_type_script_lang_js_typeof(obj) { "@babel/helpers - typeof"; return ProjectMatrixvue_type_script_lang_js_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, ProjectMatrixvue_type_script_lang_js_typeof(obj); }
|
|
341931
341931
|
var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
341932
341932
|
var path = "/Users/havasove/Desktop/repos/isabl_matrix/isabl_web/src/components/projects/ProjectMatrix.vue";
|
|
341933
|
-
var hash = "
|
|
341933
|
+
var hash = "4d6068187e3b09b0395493ca183ae0ed262ae00e";
|
|
341934
341934
|
var global = new Function("return this")();
|
|
341935
341935
|
var gcv = "__coverage__";
|
|
341936
341936
|
var coverageData = {
|
|
@@ -342759,94 +342759,104 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
342759
342759
|
"82": {
|
|
342760
342760
|
start: {
|
|
342761
342761
|
line: 324,
|
|
342762
|
-
column:
|
|
342762
|
+
column: 6
|
|
342763
342763
|
},
|
|
342764
342764
|
end: {
|
|
342765
342765
|
line: 324,
|
|
342766
|
-
column:
|
|
342766
|
+
column: 58
|
|
342767
342767
|
}
|
|
342768
342768
|
},
|
|
342769
342769
|
"83": {
|
|
342770
342770
|
start: {
|
|
342771
342771
|
line: 325,
|
|
342772
|
-
column:
|
|
342772
|
+
column: 23
|
|
342773
342773
|
},
|
|
342774
342774
|
end: {
|
|
342775
342775
|
line: 325,
|
|
342776
|
-
column:
|
|
342776
|
+
column: 64
|
|
342777
342777
|
}
|
|
342778
342778
|
},
|
|
342779
342779
|
"84": {
|
|
342780
342780
|
start: {
|
|
342781
|
-
line:
|
|
342782
|
-
column:
|
|
342781
|
+
line: 326,
|
|
342782
|
+
column: 6
|
|
342783
342783
|
},
|
|
342784
342784
|
end: {
|
|
342785
|
-
line:
|
|
342786
|
-
column:
|
|
342785
|
+
line: 326,
|
|
342786
|
+
column: 47
|
|
342787
342787
|
}
|
|
342788
342788
|
},
|
|
342789
342789
|
"85": {
|
|
342790
342790
|
start: {
|
|
342791
|
-
line:
|
|
342791
|
+
line: 327,
|
|
342792
342792
|
column: 6
|
|
342793
342793
|
},
|
|
342794
342794
|
end: {
|
|
342795
|
-
line:
|
|
342796
|
-
column:
|
|
342795
|
+
line: 327,
|
|
342796
|
+
column: 39
|
|
342797
342797
|
}
|
|
342798
342798
|
},
|
|
342799
342799
|
"86": {
|
|
342800
342800
|
start: {
|
|
342801
|
-
line:
|
|
342802
|
-
column:
|
|
342801
|
+
line: 327,
|
|
342802
|
+
column: 33
|
|
342803
342803
|
},
|
|
342804
342804
|
end: {
|
|
342805
|
-
line:
|
|
342806
|
-
column:
|
|
342805
|
+
line: 327,
|
|
342806
|
+
column: 39
|
|
342807
342807
|
}
|
|
342808
342808
|
},
|
|
342809
342809
|
"87": {
|
|
342810
342810
|
start: {
|
|
342811
|
-
line:
|
|
342812
|
-
column:
|
|
342811
|
+
line: 330,
|
|
342812
|
+
column: 6
|
|
342813
342813
|
},
|
|
342814
342814
|
end: {
|
|
342815
|
-
line:
|
|
342816
|
-
column:
|
|
342815
|
+
line: 330,
|
|
342816
|
+
column: 38
|
|
342817
342817
|
}
|
|
342818
342818
|
},
|
|
342819
342819
|
"88": {
|
|
342820
342820
|
start: {
|
|
342821
342821
|
line: 332,
|
|
342822
|
-
column:
|
|
342822
|
+
column: 19
|
|
342823
342823
|
},
|
|
342824
342824
|
end: {
|
|
342825
342825
|
line: 332,
|
|
342826
|
-
column:
|
|
342826
|
+
column: 62
|
|
342827
342827
|
}
|
|
342828
342828
|
},
|
|
342829
342829
|
"89": {
|
|
342830
342830
|
start: {
|
|
342831
|
-
line:
|
|
342832
|
-
column:
|
|
342831
|
+
line: 333,
|
|
342832
|
+
column: 22
|
|
342833
342833
|
},
|
|
342834
342834
|
end: {
|
|
342835
|
-
line:
|
|
342836
|
-
column:
|
|
342835
|
+
line: 333,
|
|
342836
|
+
column: 40
|
|
342837
342837
|
}
|
|
342838
342838
|
},
|
|
342839
342839
|
"90": {
|
|
342840
342840
|
start: {
|
|
342841
342841
|
line: 334,
|
|
342842
|
-
column:
|
|
342842
|
+
column: 22
|
|
342843
342843
|
},
|
|
342844
342844
|
end: {
|
|
342845
342845
|
line: 334,
|
|
342846
|
-
column:
|
|
342846
|
+
column: 47
|
|
342847
342847
|
}
|
|
342848
342848
|
},
|
|
342849
342849
|
"91": {
|
|
342850
|
+
start: {
|
|
342851
|
+
line: 336,
|
|
342852
|
+
column: 6
|
|
342853
|
+
},
|
|
342854
|
+
end: {
|
|
342855
|
+
line: 336,
|
|
342856
|
+
column: 71
|
|
342857
|
+
}
|
|
342858
|
+
},
|
|
342859
|
+
"92": {
|
|
342850
342860
|
start: {
|
|
342851
342861
|
line: 337,
|
|
342852
342862
|
column: 6
|
|
@@ -342856,693 +342866,713 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
342856
342866
|
column: 38
|
|
342857
342867
|
}
|
|
342858
342868
|
},
|
|
342859
|
-
"
|
|
342869
|
+
"93": {
|
|
342870
|
+
start: {
|
|
342871
|
+
line: 337,
|
|
342872
|
+
column: 32
|
|
342873
|
+
},
|
|
342874
|
+
end: {
|
|
342875
|
+
line: 337,
|
|
342876
|
+
column: 38
|
|
342877
|
+
}
|
|
342878
|
+
},
|
|
342879
|
+
"94": {
|
|
342860
342880
|
start: {
|
|
342861
342881
|
line: 340,
|
|
342862
|
-
column:
|
|
342882
|
+
column: 6
|
|
342863
342883
|
},
|
|
342864
342884
|
end: {
|
|
342865
342885
|
line: 340,
|
|
342886
|
+
column: 38
|
|
342887
|
+
}
|
|
342888
|
+
},
|
|
342889
|
+
"95": {
|
|
342890
|
+
start: {
|
|
342891
|
+
line: 343,
|
|
342892
|
+
column: 22
|
|
342893
|
+
},
|
|
342894
|
+
end: {
|
|
342895
|
+
line: 343,
|
|
342866
342896
|
column: 65
|
|
342867
342897
|
}
|
|
342868
342898
|
},
|
|
342869
|
-
"
|
|
342899
|
+
"96": {
|
|
342870
342900
|
start: {
|
|
342871
|
-
line:
|
|
342901
|
+
line: 344,
|
|
342872
342902
|
column: 17
|
|
342873
342903
|
},
|
|
342874
342904
|
end: {
|
|
342875
|
-
line:
|
|
342905
|
+
line: 344,
|
|
342876
342906
|
column: 129
|
|
342877
342907
|
}
|
|
342878
342908
|
},
|
|
342879
|
-
"
|
|
342909
|
+
"97": {
|
|
342880
342910
|
start: {
|
|
342881
|
-
line:
|
|
342911
|
+
line: 345,
|
|
342882
342912
|
column: 6
|
|
342883
342913
|
},
|
|
342884
342914
|
end: {
|
|
342885
|
-
line:
|
|
342915
|
+
line: 345,
|
|
342886
342916
|
column: 42
|
|
342887
342917
|
}
|
|
342888
342918
|
},
|
|
342889
|
-
"
|
|
342919
|
+
"98": {
|
|
342890
342920
|
start: {
|
|
342891
|
-
line:
|
|
342921
|
+
line: 347,
|
|
342892
342922
|
column: 6
|
|
342893
342923
|
},
|
|
342894
342924
|
end: {
|
|
342895
|
-
line:
|
|
342925
|
+
line: 386,
|
|
342896
342926
|
column: 7
|
|
342897
342927
|
}
|
|
342898
342928
|
},
|
|
342899
|
-
"
|
|
342929
|
+
"99": {
|
|
342900
342930
|
start: {
|
|
342901
|
-
line:
|
|
342931
|
+
line: 349,
|
|
342902
342932
|
column: 29
|
|
342903
342933
|
},
|
|
342904
342934
|
end: {
|
|
342905
|
-
line:
|
|
342935
|
+
line: 349,
|
|
342906
342936
|
column: 31
|
|
342907
342937
|
}
|
|
342908
342938
|
},
|
|
342909
|
-
"
|
|
342939
|
+
"100": {
|
|
342910
342940
|
start: {
|
|
342911
|
-
line:
|
|
342941
|
+
line: 350,
|
|
342912
342942
|
column: 8
|
|
342913
342943
|
},
|
|
342914
342944
|
end: {
|
|
342915
|
-
line:
|
|
342945
|
+
line: 356,
|
|
342916
342946
|
column: 10
|
|
342917
342947
|
}
|
|
342918
342948
|
},
|
|
342919
|
-
"
|
|
342949
|
+
"101": {
|
|
342920
342950
|
start: {
|
|
342921
|
-
line:
|
|
342951
|
+
line: 351,
|
|
342922
342952
|
column: 24
|
|
342923
342953
|
},
|
|
342924
342954
|
end: {
|
|
342925
|
-
line:
|
|
342955
|
+
line: 351,
|
|
342926
342956
|
column: 57
|
|
342927
342957
|
}
|
|
342928
342958
|
},
|
|
342929
|
-
"
|
|
342959
|
+
"102": {
|
|
342930
342960
|
start: {
|
|
342931
|
-
line:
|
|
342961
|
+
line: 352,
|
|
342932
342962
|
column: 10
|
|
342933
342963
|
},
|
|
342934
342964
|
end: {
|
|
342935
|
-
line:
|
|
342965
|
+
line: 354,
|
|
342936
342966
|
column: 11
|
|
342937
342967
|
}
|
|
342938
342968
|
},
|
|
342939
|
-
"
|
|
342969
|
+
"103": {
|
|
342940
342970
|
start: {
|
|
342941
|
-
line:
|
|
342971
|
+
line: 353,
|
|
342942
342972
|
column: 12
|
|
342943
342973
|
},
|
|
342944
342974
|
end: {
|
|
342945
|
-
line:
|
|
342975
|
+
line: 353,
|
|
342946
342976
|
column: 36
|
|
342947
342977
|
}
|
|
342948
342978
|
},
|
|
342949
|
-
"
|
|
342979
|
+
"104": {
|
|
342950
342980
|
start: {
|
|
342951
|
-
line:
|
|
342981
|
+
line: 355,
|
|
342952
342982
|
column: 10
|
|
342953
342983
|
},
|
|
342954
342984
|
end: {
|
|
342955
|
-
line:
|
|
342985
|
+
line: 355,
|
|
342956
342986
|
column: 37
|
|
342957
342987
|
}
|
|
342958
342988
|
},
|
|
342959
|
-
"
|
|
342989
|
+
"105": {
|
|
342960
342990
|
start: {
|
|
342961
|
-
line:
|
|
342991
|
+
line: 359,
|
|
342962
342992
|
column: 8
|
|
342963
342993
|
},
|
|
342964
342994
|
end: {
|
|
342965
|
-
line:
|
|
342995
|
+
line: 372,
|
|
342966
342996
|
column: 10
|
|
342967
342997
|
}
|
|
342968
342998
|
},
|
|
342969
|
-
"
|
|
342999
|
+
"106": {
|
|
342970
343000
|
start: {
|
|
342971
|
-
line:
|
|
343001
|
+
line: 360,
|
|
342972
343002
|
column: 10
|
|
342973
343003
|
},
|
|
342974
343004
|
end: {
|
|
342975
|
-
line:
|
|
343005
|
+
line: 360,
|
|
342976
343006
|
column: 71
|
|
342977
343007
|
}
|
|
342978
343008
|
},
|
|
342979
|
-
"
|
|
343009
|
+
"107": {
|
|
342980
343010
|
start: {
|
|
342981
|
-
line:
|
|
343011
|
+
line: 361,
|
|
342982
343012
|
column: 10
|
|
342983
343013
|
},
|
|
342984
343014
|
end: {
|
|
342985
|
-
line:
|
|
343015
|
+
line: 371,
|
|
342986
343016
|
column: 12
|
|
342987
343017
|
}
|
|
342988
343018
|
},
|
|
342989
|
-
"
|
|
343019
|
+
"108": {
|
|
342990
343020
|
start: {
|
|
342991
|
-
line:
|
|
343021
|
+
line: 362,
|
|
342992
343022
|
column: 26
|
|
342993
343023
|
},
|
|
342994
343024
|
end: {
|
|
342995
|
-
line:
|
|
343025
|
+
line: 362,
|
|
342996
343026
|
column: 55
|
|
342997
343027
|
}
|
|
342998
343028
|
},
|
|
342999
|
-
"
|
|
343029
|
+
"109": {
|
|
343000
343030
|
start: {
|
|
343001
|
-
line:
|
|
343031
|
+
line: 363,
|
|
343002
343032
|
column: 12
|
|
343003
343033
|
},
|
|
343004
343034
|
end: {
|
|
343005
|
-
line:
|
|
343035
|
+
line: 363,
|
|
343006
343036
|
column: 66
|
|
343007
343037
|
}
|
|
343008
343038
|
},
|
|
343009
|
-
"
|
|
343039
|
+
"110": {
|
|
343010
343040
|
start: {
|
|
343011
|
-
line:
|
|
343041
|
+
line: 364,
|
|
343012
343042
|
column: 12
|
|
343013
343043
|
},
|
|
343014
343044
|
end: {
|
|
343015
|
-
line:
|
|
343045
|
+
line: 364,
|
|
343016
343046
|
column: 82
|
|
343017
343047
|
}
|
|
343018
343048
|
},
|
|
343019
|
-
"
|
|
343049
|
+
"111": {
|
|
343020
343050
|
start: {
|
|
343021
|
-
line:
|
|
343051
|
+
line: 365,
|
|
343022
343052
|
column: 12
|
|
343023
343053
|
},
|
|
343024
343054
|
end: {
|
|
343025
|
-
line:
|
|
343055
|
+
line: 365,
|
|
343026
343056
|
column: 62
|
|
343027
343057
|
}
|
|
343028
343058
|
},
|
|
343029
|
-
"
|
|
343059
|
+
"112": {
|
|
343030
343060
|
start: {
|
|
343031
|
-
line:
|
|
343061
|
+
line: 366,
|
|
343032
343062
|
column: 12
|
|
343033
343063
|
},
|
|
343034
343064
|
end: {
|
|
343035
|
-
line:
|
|
343065
|
+
line: 366,
|
|
343036
343066
|
column: 48
|
|
343037
343067
|
}
|
|
343038
343068
|
},
|
|
343039
|
-
"
|
|
343069
|
+
"113": {
|
|
343040
343070
|
start: {
|
|
343041
|
-
line:
|
|
343071
|
+
line: 367,
|
|
343042
343072
|
column: 12
|
|
343043
343073
|
},
|
|
343044
343074
|
end: {
|
|
343045
|
-
line:
|
|
343075
|
+
line: 367,
|
|
343046
343076
|
column: 73
|
|
343047
343077
|
}
|
|
343048
343078
|
},
|
|
343049
|
-
"
|
|
343079
|
+
"114": {
|
|
343050
343080
|
start: {
|
|
343051
|
-
line:
|
|
343081
|
+
line: 368,
|
|
343052
343082
|
column: 12
|
|
343053
343083
|
},
|
|
343054
343084
|
end: {
|
|
343055
|
-
line:
|
|
343085
|
+
line: 368,
|
|
343056
343086
|
column: 84
|
|
343057
343087
|
}
|
|
343058
343088
|
},
|
|
343059
|
-
"
|
|
343089
|
+
"115": {
|
|
343060
343090
|
start: {
|
|
343061
|
-
line:
|
|
343091
|
+
line: 368,
|
|
343062
343092
|
column: 28
|
|
343063
343093
|
},
|
|
343064
343094
|
end: {
|
|
343065
|
-
line:
|
|
343095
|
+
line: 368,
|
|
343066
343096
|
column: 84
|
|
343067
343097
|
}
|
|
343068
343098
|
},
|
|
343069
|
-
"
|
|
343099
|
+
"116": {
|
|
343070
343100
|
start: {
|
|
343071
|
-
line:
|
|
343101
|
+
line: 369,
|
|
343072
343102
|
column: 12
|
|
343073
343103
|
},
|
|
343074
343104
|
end: {
|
|
343075
|
-
line:
|
|
343105
|
+
line: 369,
|
|
343076
343106
|
column: 94
|
|
343077
343107
|
}
|
|
343078
343108
|
},
|
|
343079
|
-
"
|
|
343109
|
+
"117": {
|
|
343080
343110
|
start: {
|
|
343081
|
-
line:
|
|
343111
|
+
line: 370,
|
|
343082
343112
|
column: 12
|
|
343083
343113
|
},
|
|
343084
343114
|
end: {
|
|
343085
|
-
line:
|
|
343115
|
+
line: 370,
|
|
343086
343116
|
column: 28
|
|
343087
343117
|
}
|
|
343088
343118
|
},
|
|
343089
|
-
"
|
|
343119
|
+
"118": {
|
|
343090
343120
|
start: {
|
|
343091
|
-
line:
|
|
343121
|
+
line: 375,
|
|
343092
343122
|
column: 8
|
|
343093
343123
|
},
|
|
343094
343124
|
end: {
|
|
343095
|
-
line:
|
|
343125
|
+
line: 385,
|
|
343096
343126
|
column: 10
|
|
343097
343127
|
}
|
|
343098
343128
|
},
|
|
343099
|
-
"
|
|
343129
|
+
"119": {
|
|
343100
343130
|
start: {
|
|
343101
|
-
line:
|
|
343131
|
+
line: 376,
|
|
343102
343132
|
column: 24
|
|
343103
343133
|
},
|
|
343104
343134
|
end: {
|
|
343105
|
-
line:
|
|
343135
|
+
line: 376,
|
|
343106
343136
|
column: 53
|
|
343107
343137
|
}
|
|
343108
343138
|
},
|
|
343109
|
-
"
|
|
343139
|
+
"120": {
|
|
343110
343140
|
start: {
|
|
343111
|
-
line:
|
|
343141
|
+
line: 377,
|
|
343112
343142
|
column: 10
|
|
343113
343143
|
},
|
|
343114
343144
|
end: {
|
|
343115
|
-
line:
|
|
343145
|
+
line: 377,
|
|
343116
343146
|
column: 64
|
|
343117
343147
|
}
|
|
343118
343148
|
},
|
|
343119
|
-
"
|
|
343149
|
+
"121": {
|
|
343120
343150
|
start: {
|
|
343121
|
-
line:
|
|
343151
|
+
line: 378,
|
|
343122
343152
|
column: 10
|
|
343123
343153
|
},
|
|
343124
343154
|
end: {
|
|
343125
|
-
line:
|
|
343155
|
+
line: 378,
|
|
343126
343156
|
column: 80
|
|
343127
343157
|
}
|
|
343128
343158
|
},
|
|
343129
|
-
"
|
|
343159
|
+
"122": {
|
|
343130
343160
|
start: {
|
|
343131
|
-
line:
|
|
343161
|
+
line: 379,
|
|
343132
343162
|
column: 10
|
|
343133
343163
|
},
|
|
343134
343164
|
end: {
|
|
343135
|
-
line:
|
|
343165
|
+
line: 379,
|
|
343136
343166
|
column: 60
|
|
343137
343167
|
}
|
|
343138
343168
|
},
|
|
343139
|
-
"
|
|
343169
|
+
"123": {
|
|
343140
343170
|
start: {
|
|
343141
|
-
line:
|
|
343171
|
+
line: 380,
|
|
343142
343172
|
column: 10
|
|
343143
343173
|
},
|
|
343144
343174
|
end: {
|
|
343145
|
-
line:
|
|
343175
|
+
line: 380,
|
|
343146
343176
|
column: 46
|
|
343147
343177
|
}
|
|
343148
343178
|
},
|
|
343149
|
-
"
|
|
343179
|
+
"124": {
|
|
343150
343180
|
start: {
|
|
343151
|
-
line:
|
|
343181
|
+
line: 381,
|
|
343152
343182
|
column: 10
|
|
343153
343183
|
},
|
|
343154
343184
|
end: {
|
|
343155
|
-
line:
|
|
343185
|
+
line: 381,
|
|
343156
343186
|
column: 71
|
|
343157
343187
|
}
|
|
343158
343188
|
},
|
|
343159
|
-
"
|
|
343189
|
+
"125": {
|
|
343160
343190
|
start: {
|
|
343161
|
-
line:
|
|
343191
|
+
line: 382,
|
|
343162
343192
|
column: 10
|
|
343163
343193
|
},
|
|
343164
343194
|
end: {
|
|
343165
|
-
line:
|
|
343195
|
+
line: 382,
|
|
343166
343196
|
column: 82
|
|
343167
343197
|
}
|
|
343168
343198
|
},
|
|
343169
|
-
"
|
|
343199
|
+
"126": {
|
|
343170
343200
|
start: {
|
|
343171
|
-
line:
|
|
343201
|
+
line: 382,
|
|
343172
343202
|
column: 26
|
|
343173
343203
|
},
|
|
343174
343204
|
end: {
|
|
343175
|
-
line:
|
|
343205
|
+
line: 382,
|
|
343176
343206
|
column: 82
|
|
343177
343207
|
}
|
|
343178
343208
|
},
|
|
343179
|
-
"
|
|
343209
|
+
"127": {
|
|
343180
343210
|
start: {
|
|
343181
|
-
line:
|
|
343211
|
+
line: 383,
|
|
343182
343212
|
column: 10
|
|
343183
343213
|
},
|
|
343184
343214
|
end: {
|
|
343185
|
-
line:
|
|
343215
|
+
line: 383,
|
|
343186
343216
|
column: 92
|
|
343187
343217
|
}
|
|
343188
343218
|
},
|
|
343189
|
-
"
|
|
343219
|
+
"128": {
|
|
343190
343220
|
start: {
|
|
343191
|
-
line:
|
|
343221
|
+
line: 384,
|
|
343192
343222
|
column: 10
|
|
343193
343223
|
},
|
|
343194
343224
|
end: {
|
|
343195
|
-
line:
|
|
343225
|
+
line: 384,
|
|
343196
343226
|
column: 26
|
|
343197
343227
|
}
|
|
343198
343228
|
},
|
|
343199
|
-
"
|
|
343229
|
+
"129": {
|
|
343200
343230
|
start: {
|
|
343201
|
-
line:
|
|
343231
|
+
line: 388,
|
|
343202
343232
|
column: 6
|
|
343203
343233
|
},
|
|
343204
343234
|
end: {
|
|
343205
|
-
line:
|
|
343235
|
+
line: 388,
|
|
343206
343236
|
column: 22
|
|
343207
343237
|
}
|
|
343208
343238
|
},
|
|
343209
|
-
"
|
|
343239
|
+
"130": {
|
|
343210
343240
|
start: {
|
|
343211
|
-
line:
|
|
343241
|
+
line: 389,
|
|
343212
343242
|
column: 6
|
|
343213
343243
|
},
|
|
343214
343244
|
end: {
|
|
343215
|
-
line:
|
|
343245
|
+
line: 389,
|
|
343216
343246
|
column: 30
|
|
343217
343247
|
}
|
|
343218
343248
|
},
|
|
343219
|
-
"
|
|
343249
|
+
"131": {
|
|
343220
343250
|
start: {
|
|
343221
|
-
line:
|
|
343251
|
+
line: 392,
|
|
343222
343252
|
column: 6
|
|
343223
343253
|
},
|
|
343224
343254
|
end: {
|
|
343225
|
-
line:
|
|
343255
|
+
line: 398,
|
|
343226
343256
|
column: 8
|
|
343227
343257
|
}
|
|
343228
343258
|
},
|
|
343229
|
-
"
|
|
343259
|
+
"132": {
|
|
343230
343260
|
start: {
|
|
343231
|
-
line:
|
|
343261
|
+
line: 393,
|
|
343232
343262
|
column: 8
|
|
343233
343263
|
},
|
|
343234
343264
|
end: {
|
|
343235
|
-
line:
|
|
343265
|
+
line: 397,
|
|
343236
343266
|
column: 9
|
|
343237
343267
|
}
|
|
343238
343268
|
},
|
|
343239
|
-
"
|
|
343269
|
+
"133": {
|
|
343240
343270
|
start: {
|
|
343241
|
-
line:
|
|
343271
|
+
line: 394,
|
|
343242
343272
|
column: 21
|
|
343243
343273
|
},
|
|
343244
343274
|
end: {
|
|
343245
|
-
line:
|
|
343275
|
+
line: 394,
|
|
343246
343276
|
column: 46
|
|
343247
343277
|
}
|
|
343248
343278
|
},
|
|
343249
|
-
"
|
|
343279
|
+
"134": {
|
|
343250
343280
|
start: {
|
|
343251
|
-
line:
|
|
343281
|
+
line: 395,
|
|
343252
343282
|
column: 10
|
|
343253
343283
|
},
|
|
343254
343284
|
end: {
|
|
343255
|
-
line:
|
|
343285
|
+
line: 395,
|
|
343256
343286
|
column: 34
|
|
343257
343287
|
}
|
|
343258
343288
|
},
|
|
343259
|
-
"
|
|
343289
|
+
"135": {
|
|
343260
343290
|
start: {
|
|
343261
|
-
line:
|
|
343291
|
+
line: 396,
|
|
343262
343292
|
column: 10
|
|
343263
343293
|
},
|
|
343264
343294
|
end: {
|
|
343265
|
-
line:
|
|
343295
|
+
line: 396,
|
|
343266
343296
|
column: 37
|
|
343267
343297
|
}
|
|
343268
343298
|
},
|
|
343269
|
-
"
|
|
343299
|
+
"136": {
|
|
343270
343300
|
start: {
|
|
343271
|
-
line:
|
|
343301
|
+
line: 401,
|
|
343272
343302
|
column: 6
|
|
343273
343303
|
},
|
|
343274
343304
|
end: {
|
|
343275
|
-
line:
|
|
343305
|
+
line: 401,
|
|
343276
343306
|
column: 37
|
|
343277
343307
|
}
|
|
343278
343308
|
},
|
|
343279
|
-
"
|
|
343309
|
+
"137": {
|
|
343280
343310
|
start: {
|
|
343281
|
-
line:
|
|
343311
|
+
line: 402,
|
|
343282
343312
|
column: 6
|
|
343283
343313
|
},
|
|
343284
343314
|
end: {
|
|
343285
|
-
line:
|
|
343315
|
+
line: 402,
|
|
343286
343316
|
column: 60
|
|
343287
343317
|
}
|
|
343288
343318
|
},
|
|
343289
|
-
"
|
|
343319
|
+
"138": {
|
|
343290
343320
|
start: {
|
|
343291
|
-
line:
|
|
343321
|
+
line: 403,
|
|
343292
343322
|
column: 6
|
|
343293
343323
|
},
|
|
343294
343324
|
end: {
|
|
343295
|
-
line:
|
|
343325
|
+
line: 403,
|
|
343296
343326
|
column: 45
|
|
343297
343327
|
}
|
|
343298
343328
|
},
|
|
343299
|
-
"
|
|
343329
|
+
"139": {
|
|
343300
343330
|
start: {
|
|
343301
|
-
line:
|
|
343331
|
+
line: 407,
|
|
343302
343332
|
column: 22
|
|
343303
343333
|
},
|
|
343304
343334
|
end: {
|
|
343305
|
-
line:
|
|
343335
|
+
line: 407,
|
|
343306
343336
|
column: 40
|
|
343307
343337
|
}
|
|
343308
343338
|
},
|
|
343309
|
-
"
|
|
343339
|
+
"140": {
|
|
343310
343340
|
start: {
|
|
343311
|
-
line:
|
|
343341
|
+
line: 408,
|
|
343312
343342
|
column: 6
|
|
343313
343343
|
},
|
|
343314
343344
|
end: {
|
|
343315
|
-
line:
|
|
343345
|
+
line: 410,
|
|
343316
343346
|
column: 7
|
|
343317
343347
|
}
|
|
343318
343348
|
},
|
|
343319
|
-
"
|
|
343349
|
+
"141": {
|
|
343320
343350
|
start: {
|
|
343321
|
-
line:
|
|
343351
|
+
line: 409,
|
|
343322
343352
|
column: 8
|
|
343323
343353
|
},
|
|
343324
343354
|
end: {
|
|
343325
|
-
line:
|
|
343355
|
+
line: 409,
|
|
343326
343356
|
column: 38
|
|
343327
343357
|
}
|
|
343328
343358
|
},
|
|
343329
|
-
"
|
|
343359
|
+
"142": {
|
|
343330
343360
|
start: {
|
|
343331
|
-
line:
|
|
343361
|
+
line: 417,
|
|
343332
343362
|
column: 27
|
|
343333
343363
|
},
|
|
343334
343364
|
end: {
|
|
343335
|
-
line:
|
|
343365
|
+
line: 417,
|
|
343336
343366
|
column: 29
|
|
343337
343367
|
}
|
|
343338
343368
|
},
|
|
343339
|
-
"
|
|
343369
|
+
"143": {
|
|
343340
343370
|
start: {
|
|
343341
|
-
line:
|
|
343371
|
+
line: 418,
|
|
343342
343372
|
column: 6
|
|
343343
343373
|
},
|
|
343344
343374
|
end: {
|
|
343345
|
-
line:
|
|
343375
|
+
line: 420,
|
|
343346
343376
|
column: 8
|
|
343347
343377
|
}
|
|
343348
343378
|
},
|
|
343349
|
-
"
|
|
343379
|
+
"144": {
|
|
343350
343380
|
start: {
|
|
343351
|
-
line:
|
|
343381
|
+
line: 419,
|
|
343352
343382
|
column: 8
|
|
343353
343383
|
},
|
|
343354
343384
|
end: {
|
|
343355
|
-
line:
|
|
343385
|
+
line: 419,
|
|
343356
343386
|
column: 66
|
|
343357
343387
|
}
|
|
343358
343388
|
},
|
|
343359
|
-
"
|
|
343389
|
+
"145": {
|
|
343360
343390
|
start: {
|
|
343361
|
-
line:
|
|
343391
|
+
line: 423,
|
|
343362
343392
|
column: 21
|
|
343363
343393
|
},
|
|
343364
343394
|
end: {
|
|
343365
|
-
line:
|
|
343395
|
+
line: 423,
|
|
343366
343396
|
column: 22
|
|
343367
343397
|
}
|
|
343368
343398
|
},
|
|
343369
|
-
"
|
|
343399
|
+
"146": {
|
|
343370
343400
|
start: {
|
|
343371
|
-
line:
|
|
343401
|
+
line: 424,
|
|
343372
343402
|
column: 30
|
|
343373
343403
|
},
|
|
343374
343404
|
end: {
|
|
343375
|
-
line:
|
|
343405
|
+
line: 424,
|
|
343376
343406
|
column: 41
|
|
343377
343407
|
}
|
|
343378
343408
|
},
|
|
343379
|
-
"
|
|
343409
|
+
"147": {
|
|
343380
343410
|
start: {
|
|
343381
|
-
line:
|
|
343411
|
+
line: 425,
|
|
343382
343412
|
column: 6
|
|
343383
343413
|
},
|
|
343384
343414
|
end: {
|
|
343385
|
-
line:
|
|
343415
|
+
line: 430,
|
|
343386
343416
|
column: 8
|
|
343387
343417
|
}
|
|
343388
343418
|
},
|
|
343389
|
-
"
|
|
343419
|
+
"148": {
|
|
343390
343420
|
start: {
|
|
343391
|
-
line:
|
|
343421
|
+
line: 426,
|
|
343392
343422
|
column: 8
|
|
343393
343423
|
},
|
|
343394
343424
|
end: {
|
|
343395
|
-
line:
|
|
343425
|
+
line: 429,
|
|
343396
343426
|
column: 9
|
|
343397
343427
|
}
|
|
343398
343428
|
},
|
|
343399
|
-
"
|
|
343429
|
+
"149": {
|
|
343400
343430
|
start: {
|
|
343401
|
-
line:
|
|
343431
|
+
line: 427,
|
|
343402
343432
|
column: 10
|
|
343403
343433
|
},
|
|
343404
343434
|
end: {
|
|
343405
|
-
line:
|
|
343435
|
+
line: 427,
|
|
343406
343436
|
column: 26
|
|
343407
343437
|
}
|
|
343408
343438
|
},
|
|
343409
|
-
"
|
|
343439
|
+
"150": {
|
|
343410
343440
|
start: {
|
|
343411
|
-
line:
|
|
343441
|
+
line: 428,
|
|
343412
343442
|
column: 10
|
|
343413
343443
|
},
|
|
343414
343444
|
end: {
|
|
343415
|
-
line:
|
|
343445
|
+
line: 428,
|
|
343416
343446
|
column: 36
|
|
343417
343447
|
}
|
|
343418
343448
|
},
|
|
343419
|
-
"
|
|
343449
|
+
"151": {
|
|
343420
343450
|
start: {
|
|
343421
|
-
line:
|
|
343451
|
+
line: 432,
|
|
343422
343452
|
column: 6
|
|
343423
343453
|
},
|
|
343424
343454
|
end: {
|
|
343425
|
-
line:
|
|
343455
|
+
line: 432,
|
|
343426
343456
|
column: 46
|
|
343427
343457
|
}
|
|
343428
343458
|
},
|
|
343429
|
-
"
|
|
343459
|
+
"152": {
|
|
343430
343460
|
start: {
|
|
343431
|
-
line:
|
|
343461
|
+
line: 436,
|
|
343432
343462
|
column: 6
|
|
343433
343463
|
},
|
|
343434
343464
|
end: {
|
|
343435
|
-
line:
|
|
343465
|
+
line: 436,
|
|
343436
343466
|
column: 31
|
|
343437
343467
|
}
|
|
343438
343468
|
},
|
|
343439
|
-
"
|
|
343469
|
+
"153": {
|
|
343440
343470
|
start: {
|
|
343441
|
-
line:
|
|
343471
|
+
line: 440,
|
|
343442
343472
|
column: 6
|
|
343443
343473
|
},
|
|
343444
343474
|
end: {
|
|
343445
|
-
line:
|
|
343475
|
+
line: 440,
|
|
343446
343476
|
column: 32
|
|
343447
343477
|
}
|
|
343448
343478
|
},
|
|
343449
|
-
"
|
|
343479
|
+
"154": {
|
|
343450
343480
|
start: {
|
|
343451
|
-
line:
|
|
343481
|
+
line: 441,
|
|
343452
343482
|
column: 6
|
|
343453
343483
|
},
|
|
343454
343484
|
end: {
|
|
343455
|
-
line:
|
|
343485
|
+
line: 441,
|
|
343456
343486
|
column: 30
|
|
343457
343487
|
}
|
|
343458
343488
|
},
|
|
343459
|
-
"
|
|
343489
|
+
"155": {
|
|
343460
343490
|
start: {
|
|
343461
|
-
line:
|
|
343491
|
+
line: 445,
|
|
343462
343492
|
column: 22
|
|
343463
343493
|
},
|
|
343464
343494
|
end: {
|
|
343465
|
-
line:
|
|
343495
|
+
line: 445,
|
|
343466
343496
|
column: 40
|
|
343467
343497
|
}
|
|
343468
343498
|
},
|
|
343469
|
-
"
|
|
343499
|
+
"156": {
|
|
343470
343500
|
start: {
|
|
343471
|
-
line:
|
|
343501
|
+
line: 448,
|
|
343472
343502
|
column: 6
|
|
343473
343503
|
},
|
|
343474
343504
|
end: {
|
|
343475
|
-
line:
|
|
343505
|
+
line: 448,
|
|
343476
343506
|
column: 59
|
|
343477
343507
|
}
|
|
343478
343508
|
},
|
|
343479
|
-
"
|
|
343509
|
+
"157": {
|
|
343480
343510
|
start: {
|
|
343481
|
-
line:
|
|
343511
|
+
line: 448,
|
|
343482
343512
|
column: 53
|
|
343483
343513
|
},
|
|
343484
343514
|
end: {
|
|
343485
|
-
line:
|
|
343515
|
+
line: 448,
|
|
343486
343516
|
column: 59
|
|
343487
343517
|
}
|
|
343488
343518
|
},
|
|
343489
|
-
"
|
|
343519
|
+
"158": {
|
|
343490
343520
|
start: {
|
|
343491
|
-
line:
|
|
343521
|
+
line: 451,
|
|
343492
343522
|
column: 6
|
|
343493
343523
|
},
|
|
343494
343524
|
end: {
|
|
343495
|
-
line:
|
|
343525
|
+
line: 451,
|
|
343496
343526
|
column: 67
|
|
343497
343527
|
}
|
|
343498
343528
|
},
|
|
343499
|
-
"
|
|
343529
|
+
"159": {
|
|
343500
343530
|
start: {
|
|
343501
|
-
line:
|
|
343531
|
+
line: 451,
|
|
343502
343532
|
column: 61
|
|
343503
343533
|
},
|
|
343504
343534
|
end: {
|
|
343505
|
-
line:
|
|
343535
|
+
line: 451,
|
|
343506
343536
|
column: 67
|
|
343507
343537
|
}
|
|
343508
343538
|
},
|
|
343509
|
-
"
|
|
343539
|
+
"160": {
|
|
343510
343540
|
start: {
|
|
343511
|
-
line:
|
|
343541
|
+
line: 454,
|
|
343512
343542
|
column: 6
|
|
343513
343543
|
},
|
|
343514
343544
|
end: {
|
|
343515
|
-
line:
|
|
343545
|
+
line: 454,
|
|
343516
343546
|
column: 30
|
|
343517
343547
|
}
|
|
343518
343548
|
},
|
|
343519
|
-
"
|
|
343549
|
+
"161": {
|
|
343520
343550
|
start: {
|
|
343521
|
-
line:
|
|
343551
|
+
line: 458,
|
|
343522
343552
|
column: 30
|
|
343523
343553
|
},
|
|
343524
343554
|
end: {
|
|
343525
|
-
line:
|
|
343555
|
+
line: 458,
|
|
343526
343556
|
column: 56
|
|
343527
343557
|
}
|
|
343528
343558
|
},
|
|
343529
|
-
"
|
|
343559
|
+
"162": {
|
|
343530
343560
|
start: {
|
|
343531
|
-
line:
|
|
343561
|
+
line: 459,
|
|
343532
343562
|
column: 6
|
|
343533
343563
|
},
|
|
343534
343564
|
end: {
|
|
343535
|
-
line:
|
|
343565
|
+
line: 461,
|
|
343536
343566
|
column: 7
|
|
343537
343567
|
}
|
|
343538
343568
|
},
|
|
343539
|
-
"
|
|
343569
|
+
"163": {
|
|
343540
343570
|
start: {
|
|
343541
|
-
line:
|
|
343571
|
+
line: 460,
|
|
343542
343572
|
column: 8
|
|
343543
343573
|
},
|
|
343544
343574
|
end: {
|
|
343545
|
-
line:
|
|
343575
|
+
line: 460,
|
|
343546
343576
|
column: 32
|
|
343547
343577
|
}
|
|
343548
343578
|
}
|
|
@@ -344430,7 +344460,7 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
344430
344460
|
column: 37
|
|
344431
344461
|
},
|
|
344432
344462
|
end: {
|
|
344433
|
-
line:
|
|
344463
|
+
line: 404,
|
|
344434
344464
|
column: 5
|
|
344435
344465
|
}
|
|
344436
344466
|
},
|
|
@@ -344440,313 +344470,313 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
344440
344470
|
name: "(anonymous_37)",
|
|
344441
344471
|
decl: {
|
|
344442
344472
|
start: {
|
|
344443
|
-
line:
|
|
344473
|
+
line: 350,
|
|
344444
344474
|
column: 25
|
|
344445
344475
|
},
|
|
344446
344476
|
end: {
|
|
344447
|
-
line:
|
|
344477
|
+
line: 350,
|
|
344448
344478
|
column: 26
|
|
344449
344479
|
}
|
|
344450
344480
|
},
|
|
344451
344481
|
loc: {
|
|
344452
344482
|
start: {
|
|
344453
|
-
line:
|
|
344483
|
+
line: 350,
|
|
344454
344484
|
column: 30
|
|
344455
344485
|
},
|
|
344456
344486
|
end: {
|
|
344457
|
-
line:
|
|
344487
|
+
line: 356,
|
|
344458
344488
|
column: 9
|
|
344459
344489
|
}
|
|
344460
344490
|
},
|
|
344461
|
-
line:
|
|
344491
|
+
line: 350
|
|
344462
344492
|
},
|
|
344463
344493
|
"38": {
|
|
344464
344494
|
name: "(anonymous_38)",
|
|
344465
344495
|
decl: {
|
|
344466
344496
|
start: {
|
|
344467
|
-
line:
|
|
344497
|
+
line: 359,
|
|
344468
344498
|
column: 45
|
|
344469
344499
|
},
|
|
344470
344500
|
end: {
|
|
344471
|
-
line:
|
|
344501
|
+
line: 359,
|
|
344472
344502
|
column: 46
|
|
344473
344503
|
}
|
|
344474
344504
|
},
|
|
344475
344505
|
loc: {
|
|
344476
344506
|
start: {
|
|
344477
|
-
line:
|
|
344507
|
+
line: 359,
|
|
344478
344508
|
column: 71
|
|
344479
344509
|
},
|
|
344480
344510
|
end: {
|
|
344481
|
-
line:
|
|
344511
|
+
line: 372,
|
|
344482
344512
|
column: 9
|
|
344483
344513
|
}
|
|
344484
344514
|
},
|
|
344485
|
-
line:
|
|
344515
|
+
line: 359
|
|
344486
344516
|
},
|
|
344487
344517
|
"39": {
|
|
344488
344518
|
name: "(anonymous_39)",
|
|
344489
344519
|
decl: {
|
|
344490
344520
|
start: {
|
|
344491
|
-
line:
|
|
344521
|
+
line: 361,
|
|
344492
344522
|
column: 30
|
|
344493
344523
|
},
|
|
344494
344524
|
end: {
|
|
344495
|
-
line:
|
|
344525
|
+
line: 361,
|
|
344496
344526
|
column: 31
|
|
344497
344527
|
}
|
|
344498
344528
|
},
|
|
344499
344529
|
loc: {
|
|
344500
344530
|
start: {
|
|
344501
|
-
line:
|
|
344531
|
+
line: 361,
|
|
344502
344532
|
column: 35
|
|
344503
344533
|
},
|
|
344504
344534
|
end: {
|
|
344505
|
-
line:
|
|
344535
|
+
line: 371,
|
|
344506
344536
|
column: 11
|
|
344507
344537
|
}
|
|
344508
344538
|
},
|
|
344509
|
-
line:
|
|
344539
|
+
line: 361
|
|
344510
344540
|
},
|
|
344511
344541
|
"40": {
|
|
344512
344542
|
name: "(anonymous_40)",
|
|
344513
344543
|
decl: {
|
|
344514
344544
|
start: {
|
|
344515
|
-
line:
|
|
344545
|
+
line: 375,
|
|
344516
344546
|
column: 25
|
|
344517
344547
|
},
|
|
344518
344548
|
end: {
|
|
344519
|
-
line:
|
|
344549
|
+
line: 375,
|
|
344520
344550
|
column: 26
|
|
344521
344551
|
}
|
|
344522
344552
|
},
|
|
344523
344553
|
loc: {
|
|
344524
344554
|
start: {
|
|
344525
|
-
line:
|
|
344555
|
+
line: 375,
|
|
344526
344556
|
column: 30
|
|
344527
344557
|
},
|
|
344528
344558
|
end: {
|
|
344529
|
-
line:
|
|
344559
|
+
line: 385,
|
|
344530
344560
|
column: 9
|
|
344531
344561
|
}
|
|
344532
344562
|
},
|
|
344533
|
-
line:
|
|
344563
|
+
line: 375
|
|
344534
344564
|
},
|
|
344535
344565
|
"41": {
|
|
344536
344566
|
name: "(anonymous_41)",
|
|
344537
344567
|
decl: {
|
|
344538
344568
|
start: {
|
|
344539
|
-
line:
|
|
344569
|
+
line: 392,
|
|
344540
344570
|
column: 56
|
|
344541
344571
|
},
|
|
344542
344572
|
end: {
|
|
344543
|
-
line:
|
|
344573
|
+
line: 392,
|
|
344544
344574
|
column: 57
|
|
344545
344575
|
}
|
|
344546
344576
|
},
|
|
344547
344577
|
loc: {
|
|
344548
344578
|
start: {
|
|
344549
|
-
line:
|
|
344579
|
+
line: 392,
|
|
344550
344580
|
column: 64
|
|
344551
344581
|
},
|
|
344552
344582
|
end: {
|
|
344553
|
-
line:
|
|
344583
|
+
line: 398,
|
|
344554
344584
|
column: 7
|
|
344555
344585
|
}
|
|
344556
344586
|
},
|
|
344557
|
-
line:
|
|
344587
|
+
line: 392
|
|
344558
344588
|
},
|
|
344559
344589
|
"42": {
|
|
344560
344590
|
name: "(anonymous_42)",
|
|
344561
344591
|
decl: {
|
|
344562
344592
|
start: {
|
|
344563
|
-
line:
|
|
344593
|
+
line: 393,
|
|
344564
344594
|
column: 23
|
|
344565
344595
|
},
|
|
344566
344596
|
end: {
|
|
344567
|
-
line:
|
|
344597
|
+
line: 393,
|
|
344568
344598
|
column: 24
|
|
344569
344599
|
}
|
|
344570
344600
|
},
|
|
344571
344601
|
loc: {
|
|
344572
344602
|
start: {
|
|
344573
|
-
line:
|
|
344603
|
+
line: 393,
|
|
344574
344604
|
column: 29
|
|
344575
344605
|
},
|
|
344576
344606
|
end: {
|
|
344577
|
-
line:
|
|
344607
|
+
line: 397,
|
|
344578
344608
|
column: 9
|
|
344579
344609
|
}
|
|
344580
344610
|
},
|
|
344581
|
-
line:
|
|
344611
|
+
line: 393
|
|
344582
344612
|
},
|
|
344583
344613
|
"43": {
|
|
344584
344614
|
name: "(anonymous_43)",
|
|
344585
344615
|
decl: {
|
|
344586
344616
|
start: {
|
|
344587
|
-
line:
|
|
344617
|
+
line: 406,
|
|
344588
344618
|
column: 4
|
|
344589
344619
|
},
|
|
344590
344620
|
end: {
|
|
344591
|
-
line:
|
|
344621
|
+
line: 406,
|
|
344592
344622
|
column: 5
|
|
344593
344623
|
}
|
|
344594
344624
|
},
|
|
344595
344625
|
loc: {
|
|
344596
344626
|
start: {
|
|
344597
|
-
line:
|
|
344627
|
+
line: 406,
|
|
344598
344628
|
column: 24
|
|
344599
344629
|
},
|
|
344600
344630
|
end: {
|
|
344601
|
-
line:
|
|
344631
|
+
line: 411,
|
|
344602
344632
|
column: 5
|
|
344603
344633
|
}
|
|
344604
344634
|
},
|
|
344605
|
-
line:
|
|
344635
|
+
line: 406
|
|
344606
344636
|
},
|
|
344607
344637
|
"44": {
|
|
344608
344638
|
name: "(anonymous_44)",
|
|
344609
344639
|
decl: {
|
|
344610
344640
|
start: {
|
|
344611
|
-
line:
|
|
344641
|
+
line: 415,
|
|
344612
344642
|
column: 4
|
|
344613
344643
|
},
|
|
344614
344644
|
end: {
|
|
344615
|
-
line:
|
|
344645
|
+
line: 415,
|
|
344616
344646
|
column: 5
|
|
344617
344647
|
}
|
|
344618
344648
|
},
|
|
344619
344649
|
loc: {
|
|
344620
344650
|
start: {
|
|
344621
|
-
line:
|
|
344651
|
+
line: 415,
|
|
344622
344652
|
column: 34
|
|
344623
344653
|
},
|
|
344624
344654
|
end: {
|
|
344625
|
-
line:
|
|
344655
|
+
line: 433,
|
|
344626
344656
|
column: 5
|
|
344627
344657
|
}
|
|
344628
344658
|
},
|
|
344629
|
-
line:
|
|
344659
|
+
line: 415
|
|
344630
344660
|
},
|
|
344631
344661
|
"45": {
|
|
344632
344662
|
name: "(anonymous_45)",
|
|
344633
344663
|
decl: {
|
|
344634
344664
|
start: {
|
|
344635
|
-
line:
|
|
344665
|
+
line: 418,
|
|
344636
344666
|
column: 23
|
|
344637
344667
|
},
|
|
344638
344668
|
end: {
|
|
344639
|
-
line:
|
|
344669
|
+
line: 418,
|
|
344640
344670
|
column: 24
|
|
344641
344671
|
}
|
|
344642
344672
|
},
|
|
344643
344673
|
loc: {
|
|
344644
344674
|
start: {
|
|
344645
|
-
line:
|
|
344675
|
+
line: 418,
|
|
344646
344676
|
column: 28
|
|
344647
344677
|
},
|
|
344648
344678
|
end: {
|
|
344649
|
-
line:
|
|
344679
|
+
line: 420,
|
|
344650
344680
|
column: 7
|
|
344651
344681
|
}
|
|
344652
344682
|
},
|
|
344653
|
-
line:
|
|
344683
|
+
line: 418
|
|
344654
344684
|
},
|
|
344655
344685
|
"46": {
|
|
344656
344686
|
name: "(anonymous_46)",
|
|
344657
344687
|
decl: {
|
|
344658
344688
|
start: {
|
|
344659
|
-
line:
|
|
344689
|
+
line: 425,
|
|
344660
344690
|
column: 43
|
|
344661
344691
|
},
|
|
344662
344692
|
end: {
|
|
344663
|
-
line:
|
|
344693
|
+
line: 425,
|
|
344664
344694
|
column: 44
|
|
344665
344695
|
}
|
|
344666
344696
|
},
|
|
344667
344697
|
loc: {
|
|
344668
344698
|
start: {
|
|
344669
|
-
line:
|
|
344699
|
+
line: 425,
|
|
344670
344700
|
column: 64
|
|
344671
344701
|
},
|
|
344672
344702
|
end: {
|
|
344673
|
-
line:
|
|
344703
|
+
line: 430,
|
|
344674
344704
|
column: 7
|
|
344675
344705
|
}
|
|
344676
344706
|
},
|
|
344677
|
-
line:
|
|
344707
|
+
line: 425
|
|
344678
344708
|
},
|
|
344679
344709
|
"47": {
|
|
344680
344710
|
name: "(anonymous_47)",
|
|
344681
344711
|
decl: {
|
|
344682
344712
|
start: {
|
|
344683
|
-
line:
|
|
344713
|
+
line: 435,
|
|
344684
344714
|
column: 4
|
|
344685
344715
|
},
|
|
344686
344716
|
end: {
|
|
344687
|
-
line:
|
|
344717
|
+
line: 435,
|
|
344688
344718
|
column: 5
|
|
344689
344719
|
}
|
|
344690
344720
|
},
|
|
344691
344721
|
loc: {
|
|
344692
344722
|
start: {
|
|
344693
|
-
line:
|
|
344723
|
+
line: 435,
|
|
344694
344724
|
column: 25
|
|
344695
344725
|
},
|
|
344696
344726
|
end: {
|
|
344697
|
-
line:
|
|
344727
|
+
line: 437,
|
|
344698
344728
|
column: 5
|
|
344699
344729
|
}
|
|
344700
344730
|
},
|
|
344701
|
-
line:
|
|
344731
|
+
line: 435
|
|
344702
344732
|
},
|
|
344703
344733
|
"48": {
|
|
344704
344734
|
name: "(anonymous_48)",
|
|
344705
344735
|
decl: {
|
|
344706
344736
|
start: {
|
|
344707
|
-
line:
|
|
344737
|
+
line: 439,
|
|
344708
344738
|
column: 4
|
|
344709
344739
|
},
|
|
344710
344740
|
end: {
|
|
344711
|
-
line:
|
|
344741
|
+
line: 439,
|
|
344712
344742
|
column: 5
|
|
344713
344743
|
}
|
|
344714
344744
|
},
|
|
344715
344745
|
loc: {
|
|
344716
344746
|
start: {
|
|
344717
|
-
line:
|
|
344747
|
+
line: 439,
|
|
344718
344748
|
column: 25
|
|
344719
344749
|
},
|
|
344720
344750
|
end: {
|
|
344721
|
-
line:
|
|
344751
|
+
line: 442,
|
|
344722
344752
|
column: 5
|
|
344723
344753
|
}
|
|
344724
344754
|
},
|
|
344725
|
-
line:
|
|
344755
|
+
line: 439
|
|
344726
344756
|
},
|
|
344727
344757
|
"49": {
|
|
344728
344758
|
name: "(anonymous_49)",
|
|
344729
344759
|
decl: {
|
|
344730
344760
|
start: {
|
|
344731
|
-
line:
|
|
344761
|
+
line: 444,
|
|
344732
344762
|
column: 4
|
|
344733
344763
|
},
|
|
344734
344764
|
end: {
|
|
344735
|
-
line:
|
|
344765
|
+
line: 444,
|
|
344736
344766
|
column: 5
|
|
344737
344767
|
}
|
|
344738
344768
|
},
|
|
344739
344769
|
loc: {
|
|
344740
344770
|
start: {
|
|
344741
|
-
line:
|
|
344771
|
+
line: 444,
|
|
344742
344772
|
column: 31
|
|
344743
344773
|
},
|
|
344744
344774
|
end: {
|
|
344745
|
-
line:
|
|
344775
|
+
line: 462,
|
|
344746
344776
|
column: 5
|
|
344747
344777
|
}
|
|
344748
344778
|
},
|
|
344749
|
-
line:
|
|
344779
|
+
line: 444
|
|
344750
344780
|
}
|
|
344751
344781
|
},
|
|
344752
344782
|
branchMap: {
|
|
@@ -345572,695 +345602,695 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
345572
345602
|
"24": {
|
|
345573
345603
|
loc: {
|
|
345574
345604
|
start: {
|
|
345575
|
-
line:
|
|
345605
|
+
line: 325,
|
|
345576
345606
|
column: 23
|
|
345577
345607
|
},
|
|
345578
345608
|
end: {
|
|
345579
|
-
line:
|
|
345609
|
+
line: 325,
|
|
345580
345610
|
column: 64
|
|
345581
345611
|
}
|
|
345582
345612
|
},
|
|
345583
345613
|
type: "binary-expr",
|
|
345584
345614
|
locations: [{
|
|
345585
345615
|
start: {
|
|
345586
|
-
line:
|
|
345616
|
+
line: 325,
|
|
345587
345617
|
column: 23
|
|
345588
345618
|
},
|
|
345589
345619
|
end: {
|
|
345590
|
-
line:
|
|
345620
|
+
line: 325,
|
|
345591
345621
|
column: 58
|
|
345592
345622
|
}
|
|
345593
345623
|
}, {
|
|
345594
345624
|
start: {
|
|
345595
|
-
line:
|
|
345625
|
+
line: 325,
|
|
345596
345626
|
column: 62
|
|
345597
345627
|
},
|
|
345598
345628
|
end: {
|
|
345599
|
-
line:
|
|
345629
|
+
line: 325,
|
|
345600
345630
|
column: 64
|
|
345601
345631
|
}
|
|
345602
345632
|
}],
|
|
345603
|
-
line:
|
|
345633
|
+
line: 325
|
|
345604
345634
|
},
|
|
345605
345635
|
"25": {
|
|
345606
345636
|
loc: {
|
|
345607
345637
|
start: {
|
|
345608
|
-
line:
|
|
345638
|
+
line: 327,
|
|
345609
345639
|
column: 6
|
|
345610
345640
|
},
|
|
345611
345641
|
end: {
|
|
345612
|
-
line:
|
|
345642
|
+
line: 327,
|
|
345613
345643
|
column: 39
|
|
345614
345644
|
}
|
|
345615
345645
|
},
|
|
345616
345646
|
type: "if",
|
|
345617
345647
|
locations: [{
|
|
345618
345648
|
start: {
|
|
345619
|
-
line:
|
|
345649
|
+
line: 327,
|
|
345620
345650
|
column: 6
|
|
345621
345651
|
},
|
|
345622
345652
|
end: {
|
|
345623
|
-
line:
|
|
345653
|
+
line: 327,
|
|
345624
345654
|
column: 39
|
|
345625
345655
|
}
|
|
345626
345656
|
}, {
|
|
345627
345657
|
start: {
|
|
345628
|
-
line:
|
|
345658
|
+
line: 327,
|
|
345629
345659
|
column: 6
|
|
345630
345660
|
},
|
|
345631
345661
|
end: {
|
|
345632
|
-
line:
|
|
345662
|
+
line: 327,
|
|
345633
345663
|
column: 39
|
|
345634
345664
|
}
|
|
345635
345665
|
}],
|
|
345636
|
-
line:
|
|
345666
|
+
line: 327
|
|
345637
345667
|
},
|
|
345638
345668
|
"26": {
|
|
345639
345669
|
loc: {
|
|
345640
345670
|
start: {
|
|
345641
|
-
line:
|
|
345671
|
+
line: 337,
|
|
345642
345672
|
column: 6
|
|
345643
345673
|
},
|
|
345644
345674
|
end: {
|
|
345645
|
-
line:
|
|
345675
|
+
line: 337,
|
|
345646
345676
|
column: 38
|
|
345647
345677
|
}
|
|
345648
345678
|
},
|
|
345649
345679
|
type: "if",
|
|
345650
345680
|
locations: [{
|
|
345651
345681
|
start: {
|
|
345652
|
-
line:
|
|
345682
|
+
line: 337,
|
|
345653
345683
|
column: 6
|
|
345654
345684
|
},
|
|
345655
345685
|
end: {
|
|
345656
|
-
line:
|
|
345686
|
+
line: 337,
|
|
345657
345687
|
column: 38
|
|
345658
345688
|
}
|
|
345659
345689
|
}, {
|
|
345660
345690
|
start: {
|
|
345661
|
-
line:
|
|
345691
|
+
line: 337,
|
|
345662
345692
|
column: 6
|
|
345663
345693
|
},
|
|
345664
345694
|
end: {
|
|
345665
|
-
line:
|
|
345695
|
+
line: 337,
|
|
345666
345696
|
column: 38
|
|
345667
345697
|
}
|
|
345668
345698
|
}],
|
|
345669
|
-
line:
|
|
345699
|
+
line: 337
|
|
345670
345700
|
},
|
|
345671
345701
|
"27": {
|
|
345672
345702
|
loc: {
|
|
345673
345703
|
start: {
|
|
345674
|
-
line:
|
|
345704
|
+
line: 337,
|
|
345675
345705
|
column: 10
|
|
345676
345706
|
},
|
|
345677
345707
|
end: {
|
|
345678
|
-
line:
|
|
345708
|
+
line: 337,
|
|
345679
345709
|
column: 30
|
|
345680
345710
|
}
|
|
345681
345711
|
},
|
|
345682
345712
|
type: "binary-expr",
|
|
345683
345713
|
locations: [{
|
|
345684
345714
|
start: {
|
|
345685
|
-
line:
|
|
345715
|
+
line: 337,
|
|
345686
345716
|
column: 10
|
|
345687
345717
|
},
|
|
345688
345718
|
end: {
|
|
345689
|
-
line:
|
|
345719
|
+
line: 337,
|
|
345690
345720
|
column: 18
|
|
345691
345721
|
}
|
|
345692
345722
|
}, {
|
|
345693
345723
|
start: {
|
|
345694
|
-
line:
|
|
345724
|
+
line: 337,
|
|
345695
345725
|
column: 22
|
|
345696
345726
|
},
|
|
345697
345727
|
end: {
|
|
345698
|
-
line:
|
|
345728
|
+
line: 337,
|
|
345699
345729
|
column: 30
|
|
345700
345730
|
}
|
|
345701
345731
|
}],
|
|
345702
|
-
line:
|
|
345732
|
+
line: 337
|
|
345703
345733
|
},
|
|
345704
345734
|
"28": {
|
|
345705
345735
|
loc: {
|
|
345706
345736
|
start: {
|
|
345707
|
-
line:
|
|
345737
|
+
line: 343,
|
|
345708
345738
|
column: 22
|
|
345709
345739
|
},
|
|
345710
345740
|
end: {
|
|
345711
|
-
line:
|
|
345741
|
+
line: 343,
|
|
345712
345742
|
column: 65
|
|
345713
345743
|
}
|
|
345714
345744
|
},
|
|
345715
345745
|
type: "binary-expr",
|
|
345716
345746
|
locations: [{
|
|
345717
345747
|
start: {
|
|
345718
|
-
line:
|
|
345748
|
+
line: 343,
|
|
345719
345749
|
column: 22
|
|
345720
345750
|
},
|
|
345721
345751
|
end: {
|
|
345722
|
-
line:
|
|
345752
|
+
line: 343,
|
|
345723
345753
|
column: 52
|
|
345724
345754
|
}
|
|
345725
345755
|
}, {
|
|
345726
345756
|
start: {
|
|
345727
|
-
line:
|
|
345757
|
+
line: 343,
|
|
345728
345758
|
column: 56
|
|
345729
345759
|
},
|
|
345730
345760
|
end: {
|
|
345731
|
-
line:
|
|
345761
|
+
line: 343,
|
|
345732
345762
|
column: 65
|
|
345733
345763
|
}
|
|
345734
345764
|
}],
|
|
345735
|
-
line:
|
|
345765
|
+
line: 343
|
|
345736
345766
|
},
|
|
345737
345767
|
"29": {
|
|
345738
345768
|
loc: {
|
|
345739
345769
|
start: {
|
|
345740
|
-
line:
|
|
345770
|
+
line: 344,
|
|
345741
345771
|
column: 88
|
|
345742
345772
|
},
|
|
345743
345773
|
end: {
|
|
345744
|
-
line:
|
|
345774
|
+
line: 344,
|
|
345745
345775
|
column: 121
|
|
345746
345776
|
}
|
|
345747
345777
|
},
|
|
345748
345778
|
type: "cond-expr",
|
|
345749
345779
|
locations: [{
|
|
345750
345780
|
start: {
|
|
345751
|
-
line:
|
|
345781
|
+
line: 344,
|
|
345752
345782
|
column: 112
|
|
345753
345783
|
},
|
|
345754
345784
|
end: {
|
|
345755
|
-
line:
|
|
345785
|
+
line: 344,
|
|
345756
345786
|
column: 116
|
|
345757
345787
|
}
|
|
345758
345788
|
}, {
|
|
345759
345789
|
start: {
|
|
345760
|
-
line:
|
|
345790
|
+
line: 344,
|
|
345761
345791
|
column: 119
|
|
345762
345792
|
},
|
|
345763
345793
|
end: {
|
|
345764
|
-
line:
|
|
345794
|
+
line: 344,
|
|
345765
345795
|
column: 121
|
|
345766
345796
|
}
|
|
345767
345797
|
}],
|
|
345768
|
-
line:
|
|
345798
|
+
line: 344
|
|
345769
345799
|
},
|
|
345770
345800
|
"30": {
|
|
345771
345801
|
loc: {
|
|
345772
345802
|
start: {
|
|
345773
|
-
line:
|
|
345803
|
+
line: 347,
|
|
345774
345804
|
column: 6
|
|
345775
345805
|
},
|
|
345776
345806
|
end: {
|
|
345777
|
-
line:
|
|
345807
|
+
line: 386,
|
|
345778
345808
|
column: 7
|
|
345779
345809
|
}
|
|
345780
345810
|
},
|
|
345781
345811
|
type: "if",
|
|
345782
345812
|
locations: [{
|
|
345783
345813
|
start: {
|
|
345784
|
-
line:
|
|
345814
|
+
line: 347,
|
|
345785
345815
|
column: 6
|
|
345786
345816
|
},
|
|
345787
345817
|
end: {
|
|
345788
|
-
line:
|
|
345818
|
+
line: 386,
|
|
345789
345819
|
column: 7
|
|
345790
345820
|
}
|
|
345791
345821
|
}, {
|
|
345792
345822
|
start: {
|
|
345793
|
-
line:
|
|
345823
|
+
line: 347,
|
|
345794
345824
|
column: 6
|
|
345795
345825
|
},
|
|
345796
345826
|
end: {
|
|
345797
|
-
line:
|
|
345827
|
+
line: 386,
|
|
345798
345828
|
column: 7
|
|
345799
345829
|
}
|
|
345800
345830
|
}],
|
|
345801
|
-
line:
|
|
345831
|
+
line: 347
|
|
345802
345832
|
},
|
|
345803
345833
|
"31": {
|
|
345804
345834
|
loc: {
|
|
345805
345835
|
start: {
|
|
345806
|
-
line:
|
|
345836
|
+
line: 351,
|
|
345807
345837
|
column: 24
|
|
345808
345838
|
},
|
|
345809
345839
|
end: {
|
|
345810
|
-
line:
|
|
345840
|
+
line: 351,
|
|
345811
345841
|
column: 57
|
|
345812
345842
|
}
|
|
345813
345843
|
},
|
|
345814
345844
|
type: "binary-expr",
|
|
345815
345845
|
locations: [{
|
|
345816
345846
|
start: {
|
|
345817
|
-
line:
|
|
345847
|
+
line: 351,
|
|
345818
345848
|
column: 24
|
|
345819
345849
|
},
|
|
345820
345850
|
end: {
|
|
345821
|
-
line:
|
|
345851
|
+
line: 351,
|
|
345822
345852
|
column: 44
|
|
345823
345853
|
}
|
|
345824
345854
|
}, {
|
|
345825
345855
|
start: {
|
|
345826
|
-
line:
|
|
345856
|
+
line: 351,
|
|
345827
345857
|
column: 48
|
|
345828
345858
|
},
|
|
345829
345859
|
end: {
|
|
345830
|
-
line:
|
|
345860
|
+
line: 351,
|
|
345831
345861
|
column: 57
|
|
345832
345862
|
}
|
|
345833
345863
|
}],
|
|
345834
|
-
line:
|
|
345864
|
+
line: 351
|
|
345835
345865
|
},
|
|
345836
345866
|
"32": {
|
|
345837
345867
|
loc: {
|
|
345838
345868
|
start: {
|
|
345839
|
-
line:
|
|
345869
|
+
line: 352,
|
|
345840
345870
|
column: 10
|
|
345841
345871
|
},
|
|
345842
345872
|
end: {
|
|
345843
|
-
line:
|
|
345873
|
+
line: 354,
|
|
345844
345874
|
column: 11
|
|
345845
345875
|
}
|
|
345846
345876
|
},
|
|
345847
345877
|
type: "if",
|
|
345848
345878
|
locations: [{
|
|
345849
345879
|
start: {
|
|
345850
|
-
line:
|
|
345880
|
+
line: 352,
|
|
345851
345881
|
column: 10
|
|
345852
345882
|
},
|
|
345853
345883
|
end: {
|
|
345854
|
-
line:
|
|
345884
|
+
line: 354,
|
|
345855
345885
|
column: 11
|
|
345856
345886
|
}
|
|
345857
345887
|
}, {
|
|
345858
345888
|
start: {
|
|
345859
|
-
line:
|
|
345889
|
+
line: 352,
|
|
345860
345890
|
column: 10
|
|
345861
345891
|
},
|
|
345862
345892
|
end: {
|
|
345863
|
-
line:
|
|
345893
|
+
line: 354,
|
|
345864
345894
|
column: 11
|
|
345865
345895
|
}
|
|
345866
345896
|
}],
|
|
345867
|
-
line:
|
|
345897
|
+
line: 352
|
|
345868
345898
|
},
|
|
345869
345899
|
"33": {
|
|
345870
345900
|
loc: {
|
|
345871
345901
|
start: {
|
|
345872
|
-
line:
|
|
345902
|
+
line: 367,
|
|
345873
345903
|
column: 46
|
|
345874
345904
|
},
|
|
345875
345905
|
end: {
|
|
345876
|
-
line:
|
|
345906
|
+
line: 367,
|
|
345877
345907
|
column: 64
|
|
345878
345908
|
}
|
|
345879
345909
|
},
|
|
345880
345910
|
type: "binary-expr",
|
|
345881
345911
|
locations: [{
|
|
345882
345912
|
start: {
|
|
345883
|
-
line:
|
|
345913
|
+
line: 367,
|
|
345884
345914
|
column: 46
|
|
345885
345915
|
},
|
|
345886
345916
|
end: {
|
|
345887
|
-
line:
|
|
345917
|
+
line: 367,
|
|
345888
345918
|
column: 55
|
|
345889
345919
|
}
|
|
345890
345920
|
}, {
|
|
345891
345921
|
start: {
|
|
345892
|
-
line:
|
|
345922
|
+
line: 367,
|
|
345893
345923
|
column: 59
|
|
345894
345924
|
},
|
|
345895
345925
|
end: {
|
|
345896
|
-
line:
|
|
345926
|
+
line: 367,
|
|
345897
345927
|
column: 64
|
|
345898
345928
|
}
|
|
345899
345929
|
}],
|
|
345900
|
-
line:
|
|
345930
|
+
line: 367
|
|
345901
345931
|
},
|
|
345902
345932
|
"34": {
|
|
345903
345933
|
loc: {
|
|
345904
345934
|
start: {
|
|
345905
|
-
line:
|
|
345935
|
+
line: 368,
|
|
345906
345936
|
column: 12
|
|
345907
345937
|
},
|
|
345908
345938
|
end: {
|
|
345909
|
-
line:
|
|
345939
|
+
line: 368,
|
|
345910
345940
|
column: 84
|
|
345911
345941
|
}
|
|
345912
345942
|
},
|
|
345913
345943
|
type: "if",
|
|
345914
345944
|
locations: [{
|
|
345915
345945
|
start: {
|
|
345916
|
-
line:
|
|
345946
|
+
line: 368,
|
|
345917
345947
|
column: 12
|
|
345918
345948
|
},
|
|
345919
345949
|
end: {
|
|
345920
|
-
line:
|
|
345950
|
+
line: 368,
|
|
345921
345951
|
column: 84
|
|
345922
345952
|
}
|
|
345923
345953
|
}, {
|
|
345924
345954
|
start: {
|
|
345925
|
-
line:
|
|
345955
|
+
line: 368,
|
|
345926
345956
|
column: 12
|
|
345927
345957
|
},
|
|
345928
345958
|
end: {
|
|
345929
|
-
line:
|
|
345959
|
+
line: 368,
|
|
345930
345960
|
column: 84
|
|
345931
345961
|
}
|
|
345932
345962
|
}],
|
|
345933
|
-
line:
|
|
345963
|
+
line: 368
|
|
345934
345964
|
},
|
|
345935
345965
|
"35": {
|
|
345936
345966
|
loc: {
|
|
345937
345967
|
start: {
|
|
345938
|
-
line:
|
|
345968
|
+
line: 381,
|
|
345939
345969
|
column: 44
|
|
345940
345970
|
},
|
|
345941
345971
|
end: {
|
|
345942
|
-
line:
|
|
345972
|
+
line: 381,
|
|
345943
345973
|
column: 62
|
|
345944
345974
|
}
|
|
345945
345975
|
},
|
|
345946
345976
|
type: "binary-expr",
|
|
345947
345977
|
locations: [{
|
|
345948
345978
|
start: {
|
|
345949
|
-
line:
|
|
345979
|
+
line: 381,
|
|
345950
345980
|
column: 44
|
|
345951
345981
|
},
|
|
345952
345982
|
end: {
|
|
345953
|
-
line:
|
|
345983
|
+
line: 381,
|
|
345954
345984
|
column: 53
|
|
345955
345985
|
}
|
|
345956
345986
|
}, {
|
|
345957
345987
|
start: {
|
|
345958
|
-
line:
|
|
345988
|
+
line: 381,
|
|
345959
345989
|
column: 57
|
|
345960
345990
|
},
|
|
345961
345991
|
end: {
|
|
345962
|
-
line:
|
|
345992
|
+
line: 381,
|
|
345963
345993
|
column: 62
|
|
345964
345994
|
}
|
|
345965
345995
|
}],
|
|
345966
|
-
line:
|
|
345996
|
+
line: 381
|
|
345967
345997
|
},
|
|
345968
345998
|
"36": {
|
|
345969
345999
|
loc: {
|
|
345970
346000
|
start: {
|
|
345971
|
-
line:
|
|
346001
|
+
line: 382,
|
|
345972
346002
|
column: 10
|
|
345973
346003
|
},
|
|
345974
346004
|
end: {
|
|
345975
|
-
line:
|
|
346005
|
+
line: 382,
|
|
345976
346006
|
column: 82
|
|
345977
346007
|
}
|
|
345978
346008
|
},
|
|
345979
346009
|
type: "if",
|
|
345980
346010
|
locations: [{
|
|
345981
346011
|
start: {
|
|
345982
|
-
line:
|
|
346012
|
+
line: 382,
|
|
345983
346013
|
column: 10
|
|
345984
346014
|
},
|
|
345985
346015
|
end: {
|
|
345986
|
-
line:
|
|
346016
|
+
line: 382,
|
|
345987
346017
|
column: 82
|
|
345988
346018
|
}
|
|
345989
346019
|
}, {
|
|
345990
346020
|
start: {
|
|
345991
|
-
line:
|
|
346021
|
+
line: 382,
|
|
345992
346022
|
column: 10
|
|
345993
346023
|
},
|
|
345994
346024
|
end: {
|
|
345995
|
-
line:
|
|
346025
|
+
line: 382,
|
|
345996
346026
|
column: 82
|
|
345997
346027
|
}
|
|
345998
346028
|
}],
|
|
345999
|
-
line:
|
|
346029
|
+
line: 382
|
|
346000
346030
|
},
|
|
346001
346031
|
"37": {
|
|
346002
346032
|
loc: {
|
|
346003
346033
|
start: {
|
|
346004
|
-
line:
|
|
346034
|
+
line: 408,
|
|
346005
346035
|
column: 6
|
|
346006
346036
|
},
|
|
346007
346037
|
end: {
|
|
346008
|
-
line:
|
|
346038
|
+
line: 410,
|
|
346009
346039
|
column: 7
|
|
346010
346040
|
}
|
|
346011
346041
|
},
|
|
346012
346042
|
type: "if",
|
|
346013
346043
|
locations: [{
|
|
346014
346044
|
start: {
|
|
346015
|
-
line:
|
|
346045
|
+
line: 408,
|
|
346016
346046
|
column: 6
|
|
346017
346047
|
},
|
|
346018
346048
|
end: {
|
|
346019
|
-
line:
|
|
346049
|
+
line: 410,
|
|
346020
346050
|
column: 7
|
|
346021
346051
|
}
|
|
346022
346052
|
}, {
|
|
346023
346053
|
start: {
|
|
346024
|
-
line:
|
|
346054
|
+
line: 408,
|
|
346025
346055
|
column: 6
|
|
346026
346056
|
},
|
|
346027
346057
|
end: {
|
|
346028
|
-
line:
|
|
346058
|
+
line: 410,
|
|
346029
346059
|
column: 7
|
|
346030
346060
|
}
|
|
346031
346061
|
}],
|
|
346032
|
-
line:
|
|
346062
|
+
line: 408
|
|
346033
346063
|
},
|
|
346034
346064
|
"38": {
|
|
346035
346065
|
loc: {
|
|
346036
346066
|
start: {
|
|
346037
|
-
line:
|
|
346067
|
+
line: 419,
|
|
346038
346068
|
column: 34
|
|
346039
346069
|
},
|
|
346040
346070
|
end: {
|
|
346041
|
-
line:
|
|
346071
|
+
line: 419,
|
|
346042
346072
|
column: 61
|
|
346043
346073
|
}
|
|
346044
346074
|
},
|
|
346045
346075
|
type: "binary-expr",
|
|
346046
346076
|
locations: [{
|
|
346047
346077
|
start: {
|
|
346048
|
-
line:
|
|
346078
|
+
line: 419,
|
|
346049
346079
|
column: 34
|
|
346050
346080
|
},
|
|
346051
346081
|
end: {
|
|
346052
|
-
line:
|
|
346082
|
+
line: 419,
|
|
346053
346083
|
column: 56
|
|
346054
346084
|
}
|
|
346055
346085
|
}, {
|
|
346056
346086
|
start: {
|
|
346057
|
-
line:
|
|
346087
|
+
line: 419,
|
|
346058
346088
|
column: 60
|
|
346059
346089
|
},
|
|
346060
346090
|
end: {
|
|
346061
|
-
line:
|
|
346091
|
+
line: 419,
|
|
346062
346092
|
column: 61
|
|
346063
346093
|
}
|
|
346064
346094
|
}],
|
|
346065
|
-
line:
|
|
346095
|
+
line: 419
|
|
346066
346096
|
},
|
|
346067
346097
|
"39": {
|
|
346068
346098
|
loc: {
|
|
346069
346099
|
start: {
|
|
346070
|
-
line:
|
|
346100
|
+
line: 426,
|
|
346071
346101
|
column: 8
|
|
346072
346102
|
},
|
|
346073
346103
|
end: {
|
|
346074
|
-
line:
|
|
346104
|
+
line: 429,
|
|
346075
346105
|
column: 9
|
|
346076
346106
|
}
|
|
346077
346107
|
},
|
|
346078
346108
|
type: "if",
|
|
346079
346109
|
locations: [{
|
|
346080
346110
|
start: {
|
|
346081
|
-
line:
|
|
346111
|
+
line: 426,
|
|
346082
346112
|
column: 8
|
|
346083
346113
|
},
|
|
346084
346114
|
end: {
|
|
346085
|
-
line:
|
|
346115
|
+
line: 429,
|
|
346086
346116
|
column: 9
|
|
346087
346117
|
}
|
|
346088
346118
|
}, {
|
|
346089
346119
|
start: {
|
|
346090
|
-
line:
|
|
346120
|
+
line: 426,
|
|
346091
346121
|
column: 8
|
|
346092
346122
|
},
|
|
346093
346123
|
end: {
|
|
346094
|
-
line:
|
|
346124
|
+
line: 429,
|
|
346095
346125
|
column: 9
|
|
346096
346126
|
}
|
|
346097
346127
|
}],
|
|
346098
|
-
line:
|
|
346128
|
+
line: 426
|
|
346099
346129
|
},
|
|
346100
346130
|
"40": {
|
|
346101
346131
|
loc: {
|
|
346102
346132
|
start: {
|
|
346103
|
-
line:
|
|
346133
|
+
line: 448,
|
|
346104
346134
|
column: 6
|
|
346105
346135
|
},
|
|
346106
346136
|
end: {
|
|
346107
|
-
line:
|
|
346137
|
+
line: 448,
|
|
346108
346138
|
column: 59
|
|
346109
346139
|
}
|
|
346110
346140
|
},
|
|
346111
346141
|
type: "if",
|
|
346112
346142
|
locations: [{
|
|
346113
346143
|
start: {
|
|
346114
|
-
line:
|
|
346144
|
+
line: 448,
|
|
346115
346145
|
column: 6
|
|
346116
346146
|
},
|
|
346117
346147
|
end: {
|
|
346118
|
-
line:
|
|
346148
|
+
line: 448,
|
|
346119
346149
|
column: 59
|
|
346120
346150
|
}
|
|
346121
346151
|
}, {
|
|
346122
346152
|
start: {
|
|
346123
|
-
line:
|
|
346153
|
+
line: 448,
|
|
346124
346154
|
column: 6
|
|
346125
346155
|
},
|
|
346126
346156
|
end: {
|
|
346127
|
-
line:
|
|
346157
|
+
line: 448,
|
|
346128
346158
|
column: 59
|
|
346129
346159
|
}
|
|
346130
346160
|
}],
|
|
346131
|
-
line:
|
|
346161
|
+
line: 448
|
|
346132
346162
|
},
|
|
346133
346163
|
"41": {
|
|
346134
346164
|
loc: {
|
|
346135
346165
|
start: {
|
|
346136
|
-
line:
|
|
346166
|
+
line: 448,
|
|
346137
346167
|
column: 10
|
|
346138
346168
|
},
|
|
346139
346169
|
end: {
|
|
346140
|
-
line:
|
|
346170
|
+
line: 448,
|
|
346141
346171
|
column: 51
|
|
346142
346172
|
}
|
|
346143
346173
|
},
|
|
346144
346174
|
type: "binary-expr",
|
|
346145
346175
|
locations: [{
|
|
346146
346176
|
start: {
|
|
346147
|
-
line:
|
|
346177
|
+
line: 448,
|
|
346148
346178
|
column: 10
|
|
346149
346179
|
},
|
|
346150
346180
|
end: {
|
|
346151
|
-
line:
|
|
346181
|
+
line: 448,
|
|
346152
346182
|
column: 17
|
|
346153
346183
|
}
|
|
346154
346184
|
}, {
|
|
346155
346185
|
start: {
|
|
346156
|
-
line:
|
|
346186
|
+
line: 448,
|
|
346157
346187
|
column: 21
|
|
346158
346188
|
},
|
|
346159
346189
|
end: {
|
|
346160
|
-
line:
|
|
346190
|
+
line: 448,
|
|
346161
346191
|
column: 51
|
|
346162
346192
|
}
|
|
346163
346193
|
}],
|
|
346164
|
-
line:
|
|
346194
|
+
line: 448
|
|
346165
346195
|
},
|
|
346166
346196
|
"42": {
|
|
346167
346197
|
loc: {
|
|
346168
346198
|
start: {
|
|
346169
|
-
line:
|
|
346199
|
+
line: 451,
|
|
346170
346200
|
column: 6
|
|
346171
346201
|
},
|
|
346172
346202
|
end: {
|
|
346173
|
-
line:
|
|
346203
|
+
line: 451,
|
|
346174
346204
|
column: 67
|
|
346175
346205
|
}
|
|
346176
346206
|
},
|
|
346177
346207
|
type: "if",
|
|
346178
346208
|
locations: [{
|
|
346179
346209
|
start: {
|
|
346180
|
-
line:
|
|
346210
|
+
line: 451,
|
|
346181
346211
|
column: 6
|
|
346182
346212
|
},
|
|
346183
346213
|
end: {
|
|
346184
|
-
line:
|
|
346214
|
+
line: 451,
|
|
346185
346215
|
column: 67
|
|
346186
346216
|
}
|
|
346187
346217
|
}, {
|
|
346188
346218
|
start: {
|
|
346189
|
-
line:
|
|
346219
|
+
line: 451,
|
|
346190
346220
|
column: 6
|
|
346191
346221
|
},
|
|
346192
346222
|
end: {
|
|
346193
|
-
line:
|
|
346223
|
+
line: 451,
|
|
346194
346224
|
column: 67
|
|
346195
346225
|
}
|
|
346196
346226
|
}],
|
|
346197
|
-
line:
|
|
346227
|
+
line: 451
|
|
346198
346228
|
},
|
|
346199
346229
|
"43": {
|
|
346200
346230
|
loc: {
|
|
346201
346231
|
start: {
|
|
346202
|
-
line:
|
|
346232
|
+
line: 459,
|
|
346203
346233
|
column: 6
|
|
346204
346234
|
},
|
|
346205
346235
|
end: {
|
|
346206
|
-
line:
|
|
346236
|
+
line: 461,
|
|
346207
346237
|
column: 7
|
|
346208
346238
|
}
|
|
346209
346239
|
},
|
|
346210
346240
|
type: "if",
|
|
346211
346241
|
locations: [{
|
|
346212
346242
|
start: {
|
|
346213
|
-
line:
|
|
346243
|
+
line: 459,
|
|
346214
346244
|
column: 6
|
|
346215
346245
|
},
|
|
346216
346246
|
end: {
|
|
346217
|
-
line:
|
|
346247
|
+
line: 461,
|
|
346218
346248
|
column: 7
|
|
346219
346249
|
}
|
|
346220
346250
|
}, {
|
|
346221
346251
|
start: {
|
|
346222
|
-
line:
|
|
346252
|
+
line: 459,
|
|
346223
346253
|
column: 6
|
|
346224
346254
|
},
|
|
346225
346255
|
end: {
|
|
346226
|
-
line:
|
|
346256
|
+
line: 461,
|
|
346227
346257
|
column: 7
|
|
346228
346258
|
}
|
|
346229
346259
|
}],
|
|
346230
|
-
line:
|
|
346260
|
+
line: 459
|
|
346231
346261
|
},
|
|
346232
346262
|
"44": {
|
|
346233
346263
|
loc: {
|
|
346234
346264
|
start: {
|
|
346235
|
-
line:
|
|
346265
|
+
line: 459,
|
|
346236
346266
|
column: 10
|
|
346237
346267
|
},
|
|
346238
346268
|
end: {
|
|
346239
|
-
line:
|
|
346269
|
+
line: 459,
|
|
346240
346270
|
column: 67
|
|
346241
346271
|
}
|
|
346242
346272
|
},
|
|
346243
346273
|
type: "binary-expr",
|
|
346244
346274
|
locations: [{
|
|
346245
346275
|
start: {
|
|
346246
|
-
line:
|
|
346276
|
+
line: 459,
|
|
346247
346277
|
column: 10
|
|
346248
346278
|
},
|
|
346249
346279
|
end: {
|
|
346250
|
-
line:
|
|
346280
|
+
line: 459,
|
|
346251
346281
|
column: 25
|
|
346252
346282
|
}
|
|
346253
346283
|
}, {
|
|
346254
346284
|
start: {
|
|
346255
|
-
line:
|
|
346285
|
+
line: 459,
|
|
346256
346286
|
column: 29
|
|
346257
346287
|
},
|
|
346258
346288
|
end: {
|
|
346259
|
-
line:
|
|
346289
|
+
line: 459,
|
|
346260
346290
|
column: 67
|
|
346261
346291
|
}
|
|
346262
346292
|
}],
|
|
346263
|
-
line:
|
|
346293
|
+
line: 459
|
|
346264
346294
|
}
|
|
346265
346295
|
},
|
|
346266
346296
|
s: {
|
|
@@ -346424,7 +346454,10 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
346424
346454
|
"157": 0,
|
|
346425
346455
|
"158": 0,
|
|
346426
346456
|
"159": 0,
|
|
346427
|
-
"160": 0
|
|
346457
|
+
"160": 0,
|
|
346458
|
+
"161": 0,
|
|
346459
|
+
"162": 0,
|
|
346460
|
+
"163": 0
|
|
346428
346461
|
},
|
|
346429
346462
|
f: {
|
|
346430
346463
|
"0": 0,
|
|
@@ -346529,13 +346562,13 @@ var ProjectMatrixvue_type_script_lang_js_cov_geimehe8j = function () {
|
|
|
346529
346562
|
version: 3,
|
|
346530
346563
|
sources: ["ProjectMatrix.vue"],
|
|
346531
346564
|
names: [],
|
|
346532
|
-
mappings: ";AAmJA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
|
|
346565
|
+
mappings: ";AAmJA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
|
|
346533
346566
|
file: "ProjectMatrix.vue",
|
|
346534
346567
|
sourceRoot: "src/components/projects",
|
|
346535
|
-
sourcesContent: ["<template>\n <div class=\"project-matrix\">\n <!-- Loading State -->\n <div v-if=\"loading\" class=\"loading-container\">\n <v-progress-circular indeterminate color=\"primary\" size=\"48\" />\n <div class=\"text-body-2 grey--text mt-3\">Loading matrix data...</div>\n </div>\n\n <!-- Error State -->\n <v-alert v-else-if=\"error\" type=\"error\" class=\"ma-4\">\n {{ error }}\n </v-alert>\n\n <!-- Empty State (only when no data at all, not due to filters) -->\n <v-alert v-else-if=\"!loading && matrixData.rows.length === 0\" type=\"info\" class=\"ma-4\">\n No {{ viewMode === 'individual' ? 'individuals' : 'experiments' }} or analyses found for this project.\n </v-alert>\n\n <!-- Matrix Content (always show when we have data) -->\n <template v-else>\n <!-- Filters -->\n <matrix-filters\n :view-mode=\"viewMode\"\n :statuses=\"filters.statuses\"\n :selected-columns=\"filters.selectedColumns\"\n :experiment-search=\"filters.experimentSearch\"\n :assemblies=\"filters.assemblies\"\n :techniques=\"filters.techniques\"\n :identifier-list=\"filters.identifierList\"\n :matched-identifier-count=\"matchedIdentifierCount\"\n :available-statuses=\"availableStatuses\"\n :available-columns=\"matrixData.columns\"\n :available-assemblies=\"availableAssemblies\"\n :available-techniques=\"availableTechniques\"\n :available-rows=\"matrixData.rows\"\n :hide-empty-rows=\"hideEmptyRows\"\n :has-active-filters=\"hasActiveFilters\"\n :has-highlights=\"hasHighlights\"\n :is-refreshing=\"refreshing\"\n @update:viewMode=\"handleViewModeChange\"\n @update:filters=\"updateFilters\"\n @update:hideEmptyRows=\"hideEmptyRows = $event\"\n @update-identifier-list=\"updateIdentifierList\"\n @clear-identifier-list=\"clearIdentifierList\"\n @clear-filters=\"clearFilters\"\n @clear-highlights=\"clearHighlights\"\n @refresh=\"refreshData\"\n />\n\n <!-- Spacer for visual separation -->\n <div class=\"filter-spacer\"></div>\n\n <!-- Matrix Grid -->\n <div\n class=\"matrix-scroll-container\"\n ref=\"scrollContainer\"\n >\n <!-- No matches message (inline, when filters exclude all results) -->\n <div v-if=\"filteredData.rows.length === 0 && hasActiveFilters\" class=\"no-matches-message\">\n <v-icon small color=\"grey\" class=\"mr-1\">mdi-filter-off</v-icon>\n No results match your filters\n </div>\n\n <template v-else>\n <!-- Header Row (CSS Grid for proper overflow of angled text) -->\n <div class=\"header-row\" :style=\"{ '--col-count': filteredData.columns.length }\">\n <div class=\"corner-cell\"></div>\n <div\n v-for=\"col in filteredData.columns\"\n :key=\"`header-${col}`\"\n class=\"header-cell\"\n :class=\"{ 'column-highlighted': highlightedColumnsMap[col] }\"\n @click=\"toggleColumnHighlight(col)\"\n >\n <span class=\"header-text\" :title=\"col\">{{ col }}</span>\n </div>\n </div>\n\n <!-- Data Table (same column widths as header) -->\n <table class=\"matrix-table\">\n <tbody>\n <tr v-for=\"row in filteredData.rows\" :key=\"row\">\n <td\n class=\"row-header\"\n :class=\"{ 'row-highlighted': highlightedRowsMap[row] }\"\n @click=\"toggleRowHighlight(row)\"\n >\n <span class=\"system-id\" :title=\"row\">{{ row }}</span>\n </td>\n <td\n v-for=\"col in filteredData.columns\"\n :key=\"col\"\n class=\"matrix-cell\"\n :class=\"{\n 'has-analyses': filteredData.cells[row]?.[col]?.length > 0,\n 'cell-highlighted': highlightedRowsMap[row] || highlightedColumnsMap[col],\n 'cell-selected': selectedCell && selectedCell.row === row && selectedCell.col === col\n }\"\n :data-row=\"row\"\n :data-col=\"col\"\n @click=\"handleCellClick($event, row, col)\"\n >\n <template v-if=\"filteredData.cells[row]?.[col]?.length\">\n <!-- Show stripes for small counts (\u2264 8) -->\n <div v-if=\"filteredData.cells[row][col].length <= 8\" class=\"cell-stripes\">\n <div\n v-for=\"(analysis, index) in filteredData.cells[row][col]\"\n :key=\"`${analysis.pk}-${analysis.experimentSystemId || ''}-${index}`\"\n class=\"stripe\"\n :style=\"{ backgroundColor: getStatusColor(analysis.status) }\"\n />\n </div>\n <!-- Show count badge for large counts (> 8) -->\n <div v-else class=\"cell-count-badge\" :style=\"{ backgroundColor: getPredominantColor(filteredData.cells[row][col]) }\">\n {{ filteredData.cells[row][col].length }}\n </div>\n </template>\n <span v-else class=\"empty-cell\">-</span>\n </td>\n </tr>\n </tbody>\n </table>\n </template>\n </div>\n\n <!-- Legend -->\n <matrix-legend\n :active-statuses=\"availableStatuses\"\n :view-mode=\"viewMode\"\n :stats=\"matrixStats\"\n />\n\n <!-- Native DOM Tooltip (bypasses Vue reactivity) -->\n <div\n ref=\"tooltip\"\n class=\"native-tooltip\"\n :style=\"{ display: 'none' }\"\n @mouseenter=\"handleTooltipEnter\"\n @mouseleave=\"handleTooltipLeave\"\n >\n <div class=\"tooltip-content\" ref=\"tooltipContent\"></div>\n </div>\n </template>\n </div>\n</template>\n\n<script>\nimport { fetchAllRecords } from '@/utils/api'\nimport {\n buildMatrixData,\n filterMatrixData,\n getStatusColor\n} from '@/utils/matrixHelpers'\nimport MatrixFilters from './MatrixFilters.vue'\nimport MatrixLegend from './MatrixLegend.vue'\n\nexport default {\n name: 'ProjectMatrix',\n components: {\n MatrixFilters,\n MatrixLegend\n },\n props: {\n projectId: {\n type: [String, Number],\n required: true\n }\n },\n data() {\n return {\n loading: false,\n refreshing: false,\n filtering: false,\n error: null,\n experiments: [],\n analyses: [],\n viewMode: 'experiment', // 'experiment' | 'individual'\n lockedProjectId: this.projectId, // Lock to initial project ID to prevent changes while modal is open\n matrixData: {\n rows: [],\n columns: [],\n cells: {},\n appVersions: {},\n viewMode: 'experiment',\n stats: {\n totalRows: 0,\n totalApps: 0,\n totalAnalyses: 0,\n byStatus: {},\n uniqueStatuses: [],\n uniqueAssemblies: [],\n uniqueTechniques: []\n }\n },\n filteredData: {\n rows: [],\n columns: [],\n cells: {},\n appVersions: {}\n },\n filters: {\n statuses: [],\n selectedColumns: [],\n experimentSearch: '',\n assemblies: [],\n techniques: [],\n identifierList: []\n },\n hideEmptyRows: false,\n highlightedRows: new Set(),\n highlightedColumns: new Set(),\n // Tooltip state (for native DOM tooltip)\n isOverTooltip: false,\n // Selected cell state\n selectedCell: null // { row, col }\n }\n },\n computed: {\n availableStatuses() {\n // Use pre-calculated stats from matrixData (avoids expensive iteration)\n return this.matrixData.stats?.uniqueStatuses || []\n },\n availableAssemblies() {\n // Use pre-calculated stats from matrixData\n return this.matrixData.stats?.uniqueAssemblies || []\n },\n availableTechniques() {\n // Use pre-calculated stats from matrixData\n return this.matrixData.stats?.uniqueTechniques || []\n },\n matrixStats() {\n // Use pre-calculated stats from matrixData (avoids expensive iteration on filter changes)\n // Note: Shows total stats, not filtered stats (for performance)\n const stats = this.matrixData.stats || {}\n return {\n totalRows: stats.totalRows || 0,\n totalApps: stats.totalApps || 0,\n totalAnalyses: stats.totalAnalyses || 0\n }\n },\n hasActiveFilters() {\n const columnsFiltered = this.filters.selectedColumns.length > 0 &&\n this.filters.selectedColumns.length < this.matrixData.columns.length\n return (\n this.filters.statuses.length > 0 ||\n columnsFiltered ||\n this.filters.experimentSearch ||\n this.filters.assemblies.length > 0 ||\n this.filters.techniques.length > 0 ||\n this.filters.identifierList.length > 0\n )\n },\n // Memoized highlight maps for O(1) lookup\n highlightedRowsMap() {\n const map = {}\n this.highlightedRows.forEach(r => { map[r] = true })\n return map\n },\n highlightedColumnsMap() {\n const map = {}\n this.highlightedColumns.forEach(c => { map[c] = true })\n return map\n },\n hasHighlights() {\n return this.highlightedRows.size > 0 || this.highlightedColumns.size > 0\n },\n // Count how many identifiers from the list actually exist in the data\n matchedIdentifierCount() {\n if (this.filters.identifierList.length === 0) return 0\n\n // Build case-insensitive set of all row IDs in the matrix\n const rowSet = new Set(\n this.matrixData.rows.map(row => row.toLowerCase())\n )\n\n // Count how many identifiers from the list exist in the data\n return this.filters.identifierList.filter(id =>\n rowSet.has(id.toLowerCase())\n ).length\n }\n },\n watch: {\n projectId: {\n immediate: true,\n handler(newId, oldId) {\n // Only fetch data on initial load (when oldId is undefined)\n // Ignore subsequent changes to keep matrix locked to original project\n if (oldId === undefined) {\n this.fetchData()\n }\n }\n },\n filters: {\n deep: true,\n handler() {\n this.applyFilters()\n }\n },\n hideEmptyRows() {\n this.applyFilters()\n },\n matrixData() {\n this.applyFilters()\n },\n 'filteredData.rows'() {\n // Reset scroll when data changes\n if (this.$refs.scrollContainer) {\n this.$refs.scrollContainer.scrollTop = 0\n }\n }\n },\n mounted() {\n // Close tooltip when clicking outside\n document.addEventListener('click', this.handleDocumentClick)\n },\n beforeDestroy() {\n document.removeEventListener('click', this.handleDocumentClick)\n },\n methods: {\n async fetchData(isRefresh = false) {\n // Set appropriate loading state\n if (isRefresh) {\n this.refreshing = true\n } else {\n this.loading = true\n }\n this.error = null\n\n // Store current filters before fetch (for refresh)\n const currentFilters = isRefresh ? { ...this.filters } : null\n\n try {\n // Fetch all experiments and analyses (with pagination)\n // Use lockedProjectId to prevent refetching if prop changes while modal is open\n const [experimentsRes, analysesRes] = await Promise.all([\n fetchAllRecords('experiments', {\n projects__pk: this.lockedProjectId,\n 'fields!': 'results,analytics,raw_data,bam_files'\n }),\n fetchAllRecords('analyses', {\n targets__projects__pk: this.lockedProjectId,\n 'fields!': 'targets,references,analytics,results'\n })\n ])\n\n this.experiments = experimentsRes.results || []\n this.analyses = analysesRes.results || []\n\n // Build matrix data and freeze it to prevent Vue reactivity overhead\n this.rebuildMatrixData()\n\n // Initialize selected columns to all columns (show all by default on initial load)\n // On refresh, restore previous filters\n if (isRefresh && currentFilters) {\n // Restore filters but ensure selectedColumns are still valid\n this.filters = {\n ...currentFilters,\n // Keep only columns that still exist after refresh\n selectedColumns: currentFilters.selectedColumns.filter(col =>\n this.matrixData.columns.includes(col)\n )\n }\n // If all selected columns were removed, default to all\n if (this.filters.selectedColumns.length === 0) {\n this.filters.selectedColumns = [...this.matrixData.columns]\n }\n } else {\n this.filters.selectedColumns = [...this.matrixData.columns]\n }\n } catch (err) {\n this.error = `Failed to load data: ${err.message}`\n console.error('Error loading matrix data:', err)\n } finally {\n if (isRefresh) {\n this.refreshing = false\n } else {\n this.loading = false\n }\n }\n },\n\n async refreshData() {\n await this.fetchData(true)\n },\n\n async applyFilters() {\n // Use requestAnimationFrame to yield to browser and prevent UI blocking\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n // Filter matrix data (already frozen internally)\n // Include hideEmptyRows from component state\n this.filteredData = filterMatrixData(this.matrixData, {\n ...this.filters,\n hideEmptyRows: this.hideEmptyRows\n })\n },\n\n updateFilters(newFilters) {\n this.filters = { ...newFilters }\n },\n\n updateIdentifierList(identifiers) {\n this.filters.identifierList = identifiers\n },\n\n clearIdentifierList() {\n this.filters.identifierList = []\n },\n\n handleViewModeChange(newMode) {\n this.viewMode = newMode\n // Clear highlights and selection when switching views\n this.highlightedRows = new Set()\n this.highlightedColumns = new Set()\n this.selectedCell = null\n this.hideTooltipNative()\n // Rebuild matrix data with new view mode\n this.rebuildMatrixData()\n },\n\n rebuildMatrixData() {\n // buildMatrixData already freezes everything internally for performance\n this.matrixData = buildMatrixData(this.experiments, this.analyses, this.viewMode)\n // The watcher on matrixData will automatically call applyFilters()\n },\n\n handleOpenAnalysis(analysisId) {\n this.hideTooltipNative()\n this.$emit('open-analysis', analysisId)\n },\n\n toggleRowHighlight(row) {\n const newSet = new Set(this.highlightedRows)\n if (newSet.has(row)) {\n newSet.delete(row)\n } else {\n newSet.add(row)\n }\n this.highlightedRows = newSet\n },\n\n toggleColumnHighlight(col) {\n const newSet = new Set(this.highlightedColumns)\n if (newSet.has(col)) {\n newSet.delete(col)\n } else {\n newSet.add(col)\n }\n this.highlightedColumns = newSet\n },\n\n clearHighlights() {\n this.highlightedRows = new Set()\n this.highlightedColumns = new Set()\n },\n\n clearFilters() {\n this.filters = {\n statuses: [],\n selectedColumns: [],\n experimentSearch: '',\n assemblies: [],\n techniques: [],\n identifierList: []\n }\n },\n\n // Cell click handler - uses native DOM to avoid Vue re-renders\n handleCellClick(event, row, col) {\n const analyses = this.filteredData.cells[row]?.[col] || []\n if (analyses.length === 0) return\n\n // Set selected cell\n this.selectedCell = { row, col }\n\n const rect = event.currentTarget.getBoundingClientRect()\n const tooltip = this.$refs.tooltip\n const content = this.$refs.tooltipContent\n\n if (!tooltip || !content) return\n\n // Store analyses for later use\n this._currentAnalyses = analyses\n\n // Build tooltip HTML directly (no Vue reactivity)\n const appName = analyses[0]?.application?.name || 'Unknown'\n let html = `<div class=\"tooltip-header\">${appName} - ${analyses.length} analysis${analyses.length !== 1 ? 'es' : ''}</div>`\n html += '<div class=\"tooltip-list\">'\n\n if (this.viewMode === 'individual') {\n // Group analyses by experiment for individual view\n const byExperiment = {}\n analyses.forEach(a => {\n const expId = a.experimentSystemId || 'Unknown'\n if (!byExperiment[expId]) {\n byExperiment[expId] = []\n }\n byExperiment[expId].push(a)\n })\n\n // Render grouped by experiment\n Object.entries(byExperiment).forEach(([expId, expAnalyses]) => {\n html += `<div class=\"experiment-group-header\">${expId}</div>`\n expAnalyses.forEach(a => {\n const color = this.getStatusColor(a.status)\n html += `<div class=\"tooltip-item\" data-pk=\"${a.pk}\">`\n html += `<span class=\"status-dot\" style=\"background:${color}\"></span>`\n html += `<span class=\"analysis-pk\">${a.pk}</span>`\n html += `<span class=\"sep\">|</span>`\n html += `<span class=\"version\">v${a.version || 'N/A'}</span>`\n if (a.assembly) html += `<span class=\"assembly\"> \xB7 ${a.assembly}</span>`\n html += `<span class=\"status-chip\" style=\"background:${color}\">${a.status}</span>`\n html += '</div>'\n })\n })\n } else {\n // Flat list for experiment view\n analyses.forEach(a => {\n const color = this.getStatusColor(a.status)\n html += `<div class=\"tooltip-item\" data-pk=\"${a.pk}\">`\n html += `<span class=\"status-dot\" style=\"background:${color}\"></span>`\n html += `<span class=\"analysis-pk\">${a.pk}</span>`\n html += `<span class=\"sep\">|</span>`\n html += `<span class=\"version\">v${a.version || 'N/A'}</span>`\n if (a.assembly) html += `<span class=\"assembly\"> \xB7 ${a.assembly}</span>`\n html += `<span class=\"status-chip\" style=\"background:${color}\">${a.status}</span>`\n html += '</div>'\n })\n }\n\n html += '</div>'\n content.innerHTML = html\n\n // Add click handlers to items\n content.querySelectorAll('.tooltip-item').forEach(item => {\n item.onclick = () => {\n const pk = parseInt(item.dataset.pk)\n this.hideTooltipNative()\n this.handleOpenAnalysis(pk)\n }\n })\n\n // Position and show tooltip\n tooltip.style.display = 'block'\n tooltip.style.left = `${rect.left + rect.width / 2}px`\n tooltip.style.top = `${rect.top - 8}px`\n },\n\n hideTooltipNative() {\n const tooltip = this.$refs.tooltip\n if (tooltip) {\n tooltip.style.display = 'none'\n }\n },\n\n getStatusColor,\n\n getPredominantColor(analyses) {\n // Count occurrences of each status\n const statusCounts = {}\n analyses.forEach(a => {\n statusCounts[a.status] = (statusCounts[a.status] || 0) + 1\n })\n\n // Find the most common status\n let maxCount = 0\n let predominantStatus = 'SUCCEEDED' // default\n Object.entries(statusCounts).forEach(([status, count]) => {\n if (count > maxCount) {\n maxCount = count\n predominantStatus = status\n }\n })\n\n return getStatusColor(predominantStatus)\n },\n\n handleTooltipEnter() {\n this.isOverTooltip = true\n },\n\n handleTooltipLeave() {\n this.isOverTooltip = false\n this.hideTooltipNative()\n },\n\n handleDocumentClick(event) {\n const tooltip = this.$refs.tooltip\n\n // Check if click was inside tooltip\n if (tooltip && tooltip.contains(event.target)) return\n\n // Check if click was on a matrix cell (this opens tooltip, don't close it)\n if (event.target.closest('.matrix-cell.has-analyses')) return\n\n // Hide tooltip if visible\n this.hideTooltipNative()\n\n // Only clear selection if clicking inside the matrix scroll container\n // (not when clicking tabs, filters, etc.)\n const scrollContainer = this.$refs.scrollContainer\n if (scrollContainer && scrollContainer.contains(event.target)) {\n this.selectedCell = null\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.project-matrix {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 400px;\n}\n\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n}\n\n.filter-spacer {\n height: 16px;\n background: white;\n}\n\n.matrix-scroll-container {\n flex: 1;\n overflow: auto;\n max-height: calc(80vh - 180px);\n}\n\n.no-matches-message {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n color: #666;\n font-size: 13px;\n}\n\n.matrix-table {\n border-collapse: separate;\n border-spacing: 0;\n table-layout: fixed;\n}\n\n/* Header row - CSS Grid for proper text overflow */\n.header-row {\n display: grid;\n grid-template-columns: 200px repeat(var(--col-count), 50px);\n position: sticky;\n top: 0;\n z-index: 10;\n background: white;\n min-width: fit-content;\n}\n\n/* Corner cell - top-left */\n.corner-cell {\n position: sticky;\n left: 0;\n z-index: 11;\n background: white;\n border-bottom: 2px solid #5b5dff;\n border-right: 2px solid #5b5dff;\n height: 130px;\n width: 200px;\n box-sizing: border-box;\n}\n\n/* Column headers - angled text */\n.header-cell {\n position: relative;\n height: 130px;\n width: 50px;\n border-bottom: 2px solid #5b5dff;\n background: white;\n overflow: visible;\n cursor: pointer;\n}\n\n.header-cell:hover .header-text {\n background: #FFF6DB;\n border-radius: 2px;\n}\n\n.header-cell.column-highlighted .header-text {\n background: #FFF0D9;\n border-radius: 2px;\n font-weight: 700;\n color: #000;\n}\n\n.header-text {\n position: absolute;\n bottom: 8px;\n left: 50%;\n transform: rotate(-45deg);\n transform-origin: bottom left;\n white-space: nowrap;\n font-size: 11px;\n font-weight: 500;\n color: #333;\n z-index: 1;\n}\n\n/* Row headers - width must match corner-cell (200px) */\ntd.row-header {\n position: sticky;\n left: 0;\n z-index: 1;\n background: white;\n border-right: 2px solid #5b5dff;\n padding: 0 8px;\n width: 200px;\n min-width: 200px;\n max-width: 200px;\n height: 24px;\n border-bottom: 1px solid #e0e0e0;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n}\n\n.row-header.row-highlighted {\n background: #FFE8C5 !important;\n}\n\n.row-header.row-highlighted .system-id {\n font-weight: 700;\n color: #000;\n}\n\n.system-id {\n font-size: 11px;\n font-family: monospace;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Hover highlight for row header */\n.row-header:hover {\n background: #FFF0D9;\n}\n\n.row-header:hover .system-id {\n font-weight: 600;\n}\n\n/* Table cell styles - width must match header-cell (50px) */\ntd.matrix-cell {\n width: 50px;\n min-width: 50px;\n max-width: 50px;\n height: 24px;\n border-right: 1px solid #e0e0e0;\n border-bottom: 1px solid #e0e0e0;\n cursor: default;\n background: #fafafa;\n padding: 0;\n vertical-align: middle;\n box-sizing: border-box;\n}\n\n.matrix-cell.has-analyses {\n cursor: pointer;\n background: white;\n}\n\n.matrix-cell.has-analyses:hover,\n.matrix-cell.cell-selected {\n border-right-color: #5b5dff;\n border-bottom-color: #5b5dff;\n background: #f0f0ff;\n}\n\n.matrix-cell.cell-highlighted {\n background: #FFE8C5;\n}\n\n.cell-stripes {\n display: flex;\n align-items: stretch;\n justify-content: center;\n gap: 1px;\n height: 100%;\n width: 100%;\n padding: 2px 4px;\n}\n\n.stripe {\n flex: 0 0 auto;\n width: 3px;\n min-width: 2px;\n max-width: 5px;\n border-radius: 1px;\n}\n\n.cell-count-badge {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n color: white;\n font-size: 10px;\n font-weight: 600;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);\n}\n\n.empty-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ccc;\n font-size: 10px;\n height: 100%;\n}\n\n/* Native tooltip styles - use ::v-deep for dynamically generated content */\n.native-tooltip {\n position: fixed;\n transform: translateX(-50%) translateY(-100%);\n z-index: 1000;\n background: white;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0,0,0,0.2);\n min-width: 280px;\n max-width: 350px;\n max-height: 300px;\n overflow-y: auto;\n}\n\n.native-tooltip ::v-deep .tooltip-header {\n padding: 8px 12px;\n background: #f5f5f5;\n font-weight: 500;\n font-size: 13px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.native-tooltip ::v-deep .tooltip-list {\n padding: 4px 0;\n}\n\n.native-tooltip ::v-deep .tooltip-item {\n display: flex;\n align-items: center;\n padding: 6px 12px;\n cursor: pointer;\n font-size: 12px;\n}\n\n.native-tooltip ::v-deep .tooltip-item:hover {\n background: #e3f2fd;\n}\n\n.native-tooltip ::v-deep .tooltip-item .status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n margin-right: 8px;\n flex-shrink: 0;\n}\n\n.native-tooltip ::v-deep .tooltip-item .analysis-pk {\n color: #1976d2;\n font-weight: 500;\n}\n\n.native-tooltip ::v-deep .tooltip-item .sep {\n margin: 0 6px;\n color: #999;\n}\n\n.native-tooltip ::v-deep .tooltip-item .version {\n color: #666;\n}\n\n.native-tooltip ::v-deep .tooltip-item .assembly {\n color: #999;\n}\n\n.native-tooltip ::v-deep .tooltip-item .status-chip {\n margin-left: auto;\n padding: 2px 6px;\n border-radius: 3px;\n color: white;\n font-size: 10px;\n font-weight: 500;\n}\n\n.native-tooltip ::v-deep .experiment-group-header {\n padding: 6px 12px 4px;\n font-size: 11px;\n font-weight: 600;\n color: #1976d2;\n background: #f8f9fa;\n border-top: 1px solid #e0e0e0;\n font-family: monospace;\n}\n\n.native-tooltip ::v-deep .experiment-group-header:first-child {\n border-top: none;\n}\n</style>\n"]
|
|
346568
|
+
sourcesContent: ["<template>\n <div class=\"project-matrix\">\n <!-- Loading State -->\n <div v-if=\"loading\" class=\"loading-container\">\n <v-progress-circular indeterminate color=\"primary\" size=\"48\" />\n <div class=\"text-body-2 grey--text mt-3\">Loading matrix data...</div>\n </div>\n\n <!-- Error State -->\n <v-alert v-else-if=\"error\" type=\"error\" class=\"ma-4\">\n {{ error }}\n </v-alert>\n\n <!-- Empty State (only when no data at all, not due to filters) -->\n <v-alert v-else-if=\"!loading && matrixData.rows.length === 0\" type=\"info\" class=\"ma-4\">\n No {{ viewMode === 'individual' ? 'individuals' : 'experiments' }} or analyses found for this project.\n </v-alert>\n\n <!-- Matrix Content (always show when we have data) -->\n <template v-else>\n <!-- Filters -->\n <matrix-filters\n :view-mode=\"viewMode\"\n :statuses=\"filters.statuses\"\n :selected-columns=\"filters.selectedColumns\"\n :experiment-search=\"filters.experimentSearch\"\n :assemblies=\"filters.assemblies\"\n :techniques=\"filters.techniques\"\n :identifier-list=\"filters.identifierList\"\n :matched-identifier-count=\"matchedIdentifierCount\"\n :available-statuses=\"availableStatuses\"\n :available-columns=\"matrixData.columns\"\n :available-assemblies=\"availableAssemblies\"\n :available-techniques=\"availableTechniques\"\n :available-rows=\"matrixData.rows\"\n :hide-empty-rows=\"hideEmptyRows\"\n :has-active-filters=\"hasActiveFilters\"\n :has-highlights=\"hasHighlights\"\n :is-refreshing=\"refreshing\"\n @update:viewMode=\"handleViewModeChange\"\n @update:filters=\"updateFilters\"\n @update:hideEmptyRows=\"hideEmptyRows = $event\"\n @update-identifier-list=\"updateIdentifierList\"\n @clear-identifier-list=\"clearIdentifierList\"\n @clear-filters=\"clearFilters\"\n @clear-highlights=\"clearHighlights\"\n @refresh=\"refreshData\"\n />\n\n <!-- Spacer for visual separation -->\n <div class=\"filter-spacer\"></div>\n\n <!-- Matrix Grid -->\n <div\n class=\"matrix-scroll-container\"\n ref=\"scrollContainer\"\n >\n <!-- No matches message (inline, when filters exclude all results) -->\n <div v-if=\"filteredData.rows.length === 0 && hasActiveFilters\" class=\"no-matches-message\">\n <v-icon small color=\"grey\" class=\"mr-1\">mdi-filter-off</v-icon>\n No results match your filters\n </div>\n\n <template v-else>\n <!-- Header Row (CSS Grid for proper overflow of angled text) -->\n <div class=\"header-row\" :style=\"{ '--col-count': filteredData.columns.length }\">\n <div class=\"corner-cell\"></div>\n <div\n v-for=\"col in filteredData.columns\"\n :key=\"`header-${col}`\"\n class=\"header-cell\"\n :class=\"{ 'column-highlighted': highlightedColumnsMap[col] }\"\n @click=\"toggleColumnHighlight(col)\"\n >\n <span class=\"header-text\" :title=\"col\">{{ col }}</span>\n </div>\n </div>\n\n <!-- Data Table (same column widths as header) -->\n <table class=\"matrix-table\">\n <tbody>\n <tr v-for=\"row in filteredData.rows\" :key=\"row\">\n <td\n class=\"row-header\"\n :class=\"{ 'row-highlighted': highlightedRowsMap[row] }\"\n @click=\"toggleRowHighlight(row)\"\n >\n <span class=\"system-id\" :title=\"row\">{{ row }}</span>\n </td>\n <td\n v-for=\"col in filteredData.columns\"\n :key=\"col\"\n class=\"matrix-cell\"\n :class=\"{\n 'has-analyses': filteredData.cells[row]?.[col]?.length > 0,\n 'cell-highlighted': highlightedRowsMap[row] || highlightedColumnsMap[col],\n 'cell-selected': selectedCell && selectedCell.row === row && selectedCell.col === col\n }\"\n :data-row=\"row\"\n :data-col=\"col\"\n @click=\"handleCellClick($event, row, col)\"\n >\n <template v-if=\"filteredData.cells[row]?.[col]?.length\">\n <!-- Show stripes for small counts (\u2264 8) -->\n <div v-if=\"filteredData.cells[row][col].length <= 8\" class=\"cell-stripes\">\n <div\n v-for=\"(analysis, index) in filteredData.cells[row][col]\"\n :key=\"`${analysis.pk}-${analysis.experimentSystemId || ''}-${index}`\"\n class=\"stripe\"\n :style=\"{ backgroundColor: getStatusColor(analysis.status) }\"\n />\n </div>\n <!-- Show count badge for large counts (> 8) -->\n <div v-else class=\"cell-count-badge\" :style=\"{ backgroundColor: getPredominantColor(filteredData.cells[row][col]) }\">\n {{ filteredData.cells[row][col].length }}\n </div>\n </template>\n <span v-else class=\"empty-cell\">-</span>\n </td>\n </tr>\n </tbody>\n </table>\n </template>\n </div>\n\n <!-- Legend -->\n <matrix-legend\n :active-statuses=\"availableStatuses\"\n :view-mode=\"viewMode\"\n :stats=\"matrixStats\"\n />\n\n <!-- Native DOM Tooltip (bypasses Vue reactivity) -->\n <div\n ref=\"tooltip\"\n class=\"native-tooltip\"\n :style=\"{ display: 'none' }\"\n @mouseenter=\"handleTooltipEnter\"\n @mouseleave=\"handleTooltipLeave\"\n >\n <div class=\"tooltip-content\" ref=\"tooltipContent\"></div>\n </div>\n </template>\n </div>\n</template>\n\n<script>\nimport { fetchAllRecords } from '@/utils/api'\nimport {\n buildMatrixData,\n filterMatrixData,\n getStatusColor\n} from '@/utils/matrixHelpers'\nimport MatrixFilters from './MatrixFilters.vue'\nimport MatrixLegend from './MatrixLegend.vue'\n\nexport default {\n name: 'ProjectMatrix',\n components: {\n MatrixFilters,\n MatrixLegend\n },\n props: {\n projectId: {\n type: [String, Number],\n required: true\n }\n },\n data() {\n return {\n loading: false,\n refreshing: false,\n filtering: false,\n error: null,\n experiments: [],\n analyses: [],\n viewMode: 'experiment', // 'experiment' | 'individual'\n lockedProjectId: this.projectId, // Lock to initial project ID to prevent changes while modal is open\n matrixData: {\n rows: [],\n columns: [],\n cells: {},\n appVersions: {},\n viewMode: 'experiment',\n stats: {\n totalRows: 0,\n totalApps: 0,\n totalAnalyses: 0,\n byStatus: {},\n uniqueStatuses: [],\n uniqueAssemblies: [],\n uniqueTechniques: []\n }\n },\n filteredData: {\n rows: [],\n columns: [],\n cells: {},\n appVersions: {}\n },\n filters: {\n statuses: [],\n selectedColumns: [],\n experimentSearch: '',\n assemblies: [],\n techniques: [],\n identifierList: []\n },\n hideEmptyRows: false,\n highlightedRows: new Set(),\n highlightedColumns: new Set(),\n // Tooltip state (for native DOM tooltip)\n isOverTooltip: false,\n // Selected cell state\n selectedCell: null // { row, col }\n }\n },\n computed: {\n availableStatuses() {\n // Use pre-calculated stats from matrixData (avoids expensive iteration)\n return this.matrixData.stats?.uniqueStatuses || []\n },\n availableAssemblies() {\n // Use pre-calculated stats from matrixData\n return this.matrixData.stats?.uniqueAssemblies || []\n },\n availableTechniques() {\n // Use pre-calculated stats from matrixData\n return this.matrixData.stats?.uniqueTechniques || []\n },\n matrixStats() {\n // Use pre-calculated stats from matrixData (avoids expensive iteration on filter changes)\n // Note: Shows total stats, not filtered stats (for performance)\n const stats = this.matrixData.stats || {}\n return {\n totalRows: stats.totalRows || 0,\n totalApps: stats.totalApps || 0,\n totalAnalyses: stats.totalAnalyses || 0\n }\n },\n hasActiveFilters() {\n const columnsFiltered = this.filters.selectedColumns.length > 0 &&\n this.filters.selectedColumns.length < this.matrixData.columns.length\n return (\n this.filters.statuses.length > 0 ||\n columnsFiltered ||\n this.filters.experimentSearch ||\n this.filters.assemblies.length > 0 ||\n this.filters.techniques.length > 0 ||\n this.filters.identifierList.length > 0\n )\n },\n // Memoized highlight maps for O(1) lookup\n highlightedRowsMap() {\n const map = {}\n this.highlightedRows.forEach(r => { map[r] = true })\n return map\n },\n highlightedColumnsMap() {\n const map = {}\n this.highlightedColumns.forEach(c => { map[c] = true })\n return map\n },\n hasHighlights() {\n return this.highlightedRows.size > 0 || this.highlightedColumns.size > 0\n },\n // Count how many identifiers from the list actually exist in the data\n matchedIdentifierCount() {\n if (this.filters.identifierList.length === 0) return 0\n\n // Build case-insensitive set of all row IDs in the matrix\n const rowSet = new Set(\n this.matrixData.rows.map(row => row.toLowerCase())\n )\n\n // Count how many identifiers from the list exist in the data\n return this.filters.identifierList.filter(id =>\n rowSet.has(id.toLowerCase())\n ).length\n }\n },\n watch: {\n projectId: {\n immediate: true,\n handler(newId, oldId) {\n // Only fetch data on initial load (when oldId is undefined)\n // Ignore subsequent changes to keep matrix locked to original project\n if (oldId === undefined) {\n this.fetchData()\n }\n }\n },\n filters: {\n deep: true,\n handler() {\n this.applyFilters()\n }\n },\n hideEmptyRows() {\n this.applyFilters()\n },\n matrixData() {\n this.applyFilters()\n },\n 'filteredData.rows'() {\n // Reset scroll when data changes\n if (this.$refs.scrollContainer) {\n this.$refs.scrollContainer.scrollTop = 0\n }\n }\n },\n mounted() {\n // Close tooltip when clicking outside\n document.addEventListener('click', this.handleDocumentClick)\n },\n beforeDestroy() {\n document.removeEventListener('click', this.handleDocumentClick)\n },\n methods: {\n async fetchData(isRefresh = false) {\n // Set appropriate loading state\n if (isRefresh) {\n this.refreshing = true\n } else {\n this.loading = true\n }\n this.error = null\n\n // Store current filters before fetch (for refresh)\n const currentFilters = isRefresh ? { ...this.filters } : null\n\n try {\n // Fetch all experiments and analyses (with pagination)\n // Use lockedProjectId to prevent refetching if prop changes while modal is open\n const [experimentsRes, analysesRes] = await Promise.all([\n fetchAllRecords('experiments', {\n projects__pk: this.lockedProjectId,\n 'fields!': 'results,analytics,raw_data,bam_files'\n }),\n fetchAllRecords('analyses', {\n targets__projects__pk: this.lockedProjectId,\n 'fields!': 'targets,references,analytics,results'\n })\n ])\n\n this.experiments = experimentsRes.results || []\n this.analyses = analysesRes.results || []\n\n // Build matrix data and freeze it to prevent Vue reactivity overhead\n this.rebuildMatrixData()\n\n // Initialize selected columns to all columns (show all by default on initial load)\n // On refresh, restore previous filters\n if (isRefresh && currentFilters) {\n // Restore filters but ensure selectedColumns are still valid\n this.filters = {\n ...currentFilters,\n // Keep only columns that still exist after refresh\n selectedColumns: currentFilters.selectedColumns.filter(col =>\n this.matrixData.columns.includes(col)\n )\n }\n // If all selected columns were removed, default to all\n if (this.filters.selectedColumns.length === 0) {\n this.filters.selectedColumns = [...this.matrixData.columns]\n }\n } else {\n this.filters.selectedColumns = [...this.matrixData.columns]\n }\n } catch (err) {\n this.error = `Failed to load data: ${err.message}`\n console.error('Error loading matrix data:', err)\n } finally {\n if (isRefresh) {\n this.refreshing = false\n } else {\n this.loading = false\n }\n }\n },\n\n async refreshData() {\n await this.fetchData(true)\n },\n\n async applyFilters() {\n // Use requestAnimationFrame to yield to browser and prevent UI blocking\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n // Filter matrix data (already frozen internally)\n // Include hideEmptyRows from component state\n this.filteredData = filterMatrixData(this.matrixData, {\n ...this.filters,\n hideEmptyRows: this.hideEmptyRows\n })\n },\n\n updateFilters(newFilters) {\n this.filters = { ...newFilters }\n },\n\n updateIdentifierList(identifiers) {\n this.filters.identifierList = identifiers\n },\n\n clearIdentifierList() {\n this.filters.identifierList = []\n },\n\n handleViewModeChange(newMode) {\n this.viewMode = newMode\n // Clear highlights and selection when switching views\n this.highlightedRows = new Set()\n this.highlightedColumns = new Set()\n this.selectedCell = null\n this.hideTooltipNative()\n // Rebuild matrix data with new view mode\n this.rebuildMatrixData()\n },\n\n rebuildMatrixData() {\n // buildMatrixData already freezes everything internally for performance\n this.matrixData = buildMatrixData(this.experiments, this.analyses, this.viewMode)\n // The watcher on matrixData will automatically call applyFilters()\n },\n\n handleOpenAnalysis(analysisId) {\n this.hideTooltipNative()\n this.$emit('open-analysis', analysisId)\n },\n\n toggleRowHighlight(row) {\n const newSet = new Set(this.highlightedRows)\n if (newSet.has(row)) {\n newSet.delete(row)\n } else {\n newSet.add(row)\n }\n this.highlightedRows = newSet\n },\n\n toggleColumnHighlight(col) {\n const newSet = new Set(this.highlightedColumns)\n if (newSet.has(col)) {\n newSet.delete(col)\n } else {\n newSet.add(col)\n }\n this.highlightedColumns = newSet\n },\n\n clearHighlights() {\n this.highlightedRows = new Set()\n this.highlightedColumns = new Set()\n },\n\n clearFilters() {\n this.filters = {\n statuses: [],\n selectedColumns: [],\n experimentSearch: '',\n assemblies: [],\n techniques: [],\n identifierList: []\n }\n },\n\n // Cell click handler - uses native DOM to avoid Vue re-renders\n handleCellClick(event, row, col) {\n console.log('handleCellClick called:', { row, col })\n const analyses = this.filteredData.cells[row]?.[col] || []\n console.log('analyses:', analyses.length)\n if (analyses.length === 0) return\n\n // Set selected cell\n this.selectedCell = { row, col }\n\n const rect = event.currentTarget.getBoundingClientRect()\n const tooltip = this.$refs.tooltip\n const content = this.$refs.tooltipContent\n\n console.log('tooltip ref:', !!tooltip, 'content ref:', !!content)\n if (!tooltip || !content) return\n\n // Store analyses for later use\n this._currentAnalyses = analyses\n\n // Build tooltip HTML directly (no Vue reactivity)\n const appName = analyses[0]?.application?.name || 'Unknown'\n let html = `<div class=\"tooltip-header\">${appName} - ${analyses.length} analysis${analyses.length !== 1 ? 'es' : ''}</div>`\n html += '<div class=\"tooltip-list\">'\n\n if (this.viewMode === 'individual') {\n // Group analyses by experiment for individual view\n const byExperiment = {}\n analyses.forEach(a => {\n const expId = a.experimentSystemId || 'Unknown'\n if (!byExperiment[expId]) {\n byExperiment[expId] = []\n }\n byExperiment[expId].push(a)\n })\n\n // Render grouped by experiment\n Object.entries(byExperiment).forEach(([expId, expAnalyses]) => {\n html += `<div class=\"experiment-group-header\">${expId}</div>`\n expAnalyses.forEach(a => {\n const color = this.getStatusColor(a.status)\n html += `<div class=\"tooltip-item\" data-pk=\"${a.pk}\">`\n html += `<span class=\"status-dot\" style=\"background:${color}\"></span>`\n html += `<span class=\"analysis-pk\">${a.pk}</span>`\n html += `<span class=\"sep\">|</span>`\n html += `<span class=\"version\">v${a.version || 'N/A'}</span>`\n if (a.assembly) html += `<span class=\"assembly\"> \xB7 ${a.assembly}</span>`\n html += `<span class=\"status-chip\" style=\"background:${color}\">${a.status}</span>`\n html += '</div>'\n })\n })\n } else {\n // Flat list for experiment view\n analyses.forEach(a => {\n const color = this.getStatusColor(a.status)\n html += `<div class=\"tooltip-item\" data-pk=\"${a.pk}\">`\n html += `<span class=\"status-dot\" style=\"background:${color}\"></span>`\n html += `<span class=\"analysis-pk\">${a.pk}</span>`\n html += `<span class=\"sep\">|</span>`\n html += `<span class=\"version\">v${a.version || 'N/A'}</span>`\n if (a.assembly) html += `<span class=\"assembly\"> \xB7 ${a.assembly}</span>`\n html += `<span class=\"status-chip\" style=\"background:${color}\">${a.status}</span>`\n html += '</div>'\n })\n }\n\n html += '</div>'\n content.innerHTML = html\n\n // Add click handlers to items\n content.querySelectorAll('.tooltip-item').forEach(item => {\n item.onclick = () => {\n const pk = parseInt(item.dataset.pk)\n this.hideTooltipNative()\n this.handleOpenAnalysis(pk)\n }\n })\n\n // Position and show tooltip\n tooltip.style.display = 'block'\n tooltip.style.left = `${rect.left + rect.width / 2}px`\n tooltip.style.top = `${rect.top - 8}px`\n },\n\n hideTooltipNative() {\n const tooltip = this.$refs.tooltip\n if (tooltip) {\n tooltip.style.display = 'none'\n }\n },\n\n getStatusColor,\n\n getPredominantColor(analyses) {\n // Count occurrences of each status\n const statusCounts = {}\n analyses.forEach(a => {\n statusCounts[a.status] = (statusCounts[a.status] || 0) + 1\n })\n\n // Find the most common status\n let maxCount = 0\n let predominantStatus = 'SUCCEEDED' // default\n Object.entries(statusCounts).forEach(([status, count]) => {\n if (count > maxCount) {\n maxCount = count\n predominantStatus = status\n }\n })\n\n return getStatusColor(predominantStatus)\n },\n\n handleTooltipEnter() {\n this.isOverTooltip = true\n },\n\n handleTooltipLeave() {\n this.isOverTooltip = false\n this.hideTooltipNative()\n },\n\n handleDocumentClick(event) {\n const tooltip = this.$refs.tooltip\n\n // Check if click was inside tooltip\n if (tooltip && tooltip.contains(event.target)) return\n\n // Check if click was on a matrix cell (this opens tooltip, don't close it)\n if (event.target.closest('.matrix-cell.has-analyses')) return\n\n // Hide tooltip if visible\n this.hideTooltipNative()\n\n // Only clear selection if clicking inside the matrix scroll container\n // (not when clicking tabs, filters, etc.)\n const scrollContainer = this.$refs.scrollContainer\n if (scrollContainer && scrollContainer.contains(event.target)) {\n this.selectedCell = null\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.project-matrix {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 400px;\n}\n\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n}\n\n.filter-spacer {\n height: 16px;\n background: white;\n}\n\n.matrix-scroll-container {\n flex: 1;\n overflow: auto;\n max-height: calc(80vh - 180px);\n}\n\n.no-matches-message {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n color: #666;\n font-size: 13px;\n}\n\n.matrix-table {\n border-collapse: separate;\n border-spacing: 0;\n table-layout: fixed;\n}\n\n/* Header row - CSS Grid for proper text overflow */\n.header-row {\n display: grid;\n grid-template-columns: 200px repeat(var(--col-count), 50px);\n position: sticky;\n top: 0;\n z-index: 10;\n background: white;\n min-width: fit-content;\n}\n\n/* Corner cell - top-left */\n.corner-cell {\n position: sticky;\n left: 0;\n z-index: 11;\n background: white;\n border-bottom: 2px solid #5b5dff;\n border-right: 2px solid #5b5dff;\n height: 130px;\n width: 200px;\n box-sizing: border-box;\n}\n\n/* Column headers - angled text */\n.header-cell {\n position: relative;\n height: 130px;\n width: 50px;\n border-bottom: 2px solid #5b5dff;\n background: white;\n overflow: visible;\n cursor: pointer;\n}\n\n.header-cell:hover .header-text {\n background: #FFF6DB;\n border-radius: 2px;\n}\n\n.header-cell.column-highlighted .header-text {\n background: #FFF0D9;\n border-radius: 2px;\n font-weight: 700;\n color: #000;\n}\n\n.header-text {\n position: absolute;\n bottom: 8px;\n left: 50%;\n transform: rotate(-45deg);\n transform-origin: bottom left;\n white-space: nowrap;\n font-size: 11px;\n font-weight: 500;\n color: #333;\n z-index: 1;\n}\n\n/* Row headers - width must match corner-cell (200px) */\ntd.row-header {\n position: sticky;\n left: 0;\n z-index: 1;\n background: white;\n border-right: 2px solid #5b5dff;\n padding: 0 8px;\n width: 200px;\n min-width: 200px;\n max-width: 200px;\n height: 24px;\n border-bottom: 1px solid #e0e0e0;\n cursor: pointer;\n vertical-align: middle;\n box-sizing: border-box;\n}\n\n.row-header.row-highlighted {\n background: #FFE8C5 !important;\n}\n\n.row-header.row-highlighted .system-id {\n font-weight: 700;\n color: #000;\n}\n\n.system-id {\n font-size: 11px;\n font-family: monospace;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Hover highlight for row header */\n.row-header:hover {\n background: #FFF0D9;\n}\n\n.row-header:hover .system-id {\n font-weight: 600;\n}\n\n/* Table cell styles - width must match header-cell (50px) */\ntd.matrix-cell {\n width: 50px;\n min-width: 50px;\n max-width: 50px;\n height: 24px;\n border-right: 1px solid #e0e0e0;\n border-bottom: 1px solid #e0e0e0;\n cursor: default;\n background: #fafafa;\n padding: 0;\n vertical-align: middle;\n box-sizing: border-box;\n}\n\n.matrix-cell.has-analyses {\n cursor: pointer;\n background: white;\n}\n\n.matrix-cell.has-analyses:hover,\n.matrix-cell.cell-selected {\n border-right-color: #5b5dff;\n border-bottom-color: #5b5dff;\n background: #f0f0ff;\n}\n\n.matrix-cell.cell-highlighted {\n background: #FFE8C5;\n}\n\n.cell-stripes {\n display: flex;\n align-items: stretch;\n justify-content: center;\n gap: 1px;\n height: 100%;\n width: 100%;\n padding: 2px 4px;\n}\n\n.stripe {\n flex: 0 0 auto;\n width: 3px;\n min-width: 2px;\n max-width: 5px;\n border-radius: 1px;\n}\n\n.cell-count-badge {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n color: white;\n font-size: 10px;\n font-weight: 600;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);\n}\n\n.empty-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ccc;\n font-size: 10px;\n height: 100%;\n}\n\n/* Native tooltip styles - use ::v-deep for dynamically generated content */\n.native-tooltip {\n position: fixed;\n transform: translateX(-50%) translateY(-100%);\n z-index: 9999;\n background: white;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0,0,0,0.2);\n min-width: 280px;\n max-width: 350px;\n max-height: 300px;\n overflow-y: auto;\n}\n\n.native-tooltip ::v-deep .tooltip-header {\n padding: 8px 12px;\n background: #f5f5f5;\n font-weight: 500;\n font-size: 13px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.native-tooltip ::v-deep .tooltip-list {\n padding: 4px 0;\n}\n\n.native-tooltip ::v-deep .tooltip-item {\n display: flex;\n align-items: center;\n padding: 6px 12px;\n cursor: pointer;\n font-size: 12px;\n}\n\n.native-tooltip ::v-deep .tooltip-item:hover {\n background: #e3f2fd;\n}\n\n.native-tooltip ::v-deep .tooltip-item .status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n margin-right: 8px;\n flex-shrink: 0;\n}\n\n.native-tooltip ::v-deep .tooltip-item .analysis-pk {\n color: #1976d2;\n font-weight: 500;\n}\n\n.native-tooltip ::v-deep .tooltip-item .sep {\n margin: 0 6px;\n color: #999;\n}\n\n.native-tooltip ::v-deep .tooltip-item .version {\n color: #666;\n}\n\n.native-tooltip ::v-deep .tooltip-item .assembly {\n color: #999;\n}\n\n.native-tooltip ::v-deep .tooltip-item .status-chip {\n margin-left: auto;\n padding: 2px 6px;\n border-radius: 3px;\n color: white;\n font-size: 10px;\n font-weight: 500;\n}\n\n.native-tooltip ::v-deep .experiment-group-header {\n padding: 6px 12px 4px;\n font-size: 11px;\n font-weight: 600;\n color: #1976d2;\n background: #f8f9fa;\n border-top: 1px solid #e0e0e0;\n font-family: monospace;\n}\n\n.native-tooltip ::v-deep .experiment-group-header:first-child {\n border-top: none;\n}\n</style>\n"]
|
|
346536
346569
|
},
|
|
346537
346570
|
_coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184",
|
|
346538
|
-
hash: "
|
|
346571
|
+
hash: "4d6068187e3b09b0395493ca183ae0ed262ae00e"
|
|
346539
346572
|
};
|
|
346540
346573
|
var coverage = global[gcv] || (global[gcv] = {});
|
|
346541
346574
|
if (coverage[path] && coverage[path].hash === hash) {
|
|
@@ -347046,167 +347079,176 @@ function ProjectMatrixvue_type_script_lang_js_asyncToGenerator(fn) { return func
|
|
|
347046
347079
|
_analyses$,
|
|
347047
347080
|
_this4 = this;
|
|
347048
347081
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[36]++;
|
|
347049
|
-
|
|
347050
|
-
|
|
347082
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[82]++;
|
|
347083
|
+
console.log('handleCellClick called:', {
|
|
347084
|
+
row: row,
|
|
347085
|
+
col: col
|
|
347086
|
+
});
|
|
347087
|
+
var analyses = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[83]++, (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[24][0]++, (_this$filteredData$ce = this.filteredData.cells[row]) === null || _this$filteredData$ce === void 0 ? void 0 : _this$filteredData$ce[col]) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[24][1]++, []));
|
|
347088
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[84]++;
|
|
347089
|
+
console.log('analyses:', analyses.length);
|
|
347090
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[85]++;
|
|
347051
347091
|
if (analyses.length === 0) {
|
|
347052
347092
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[25][0]++;
|
|
347053
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347093
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[86]++;
|
|
347054
347094
|
return;
|
|
347055
347095
|
} else {
|
|
347056
347096
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[25][1]++;
|
|
347057
347097
|
}
|
|
347058
347098
|
|
|
347059
347099
|
// Set selected cell
|
|
347060
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347100
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[87]++;
|
|
347061
347101
|
this.selectedCell = {
|
|
347062
347102
|
row: row,
|
|
347063
347103
|
col: col
|
|
347064
347104
|
};
|
|
347065
|
-
var rect = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347066
|
-
var tooltip = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347067
|
-
var content = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347068
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347105
|
+
var rect = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[88]++, event.currentTarget.getBoundingClientRect());
|
|
347106
|
+
var tooltip = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[89]++, this.$refs.tooltip);
|
|
347107
|
+
var content = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[90]++, this.$refs.tooltipContent);
|
|
347108
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[91]++;
|
|
347109
|
+
console.log('tooltip ref:', !!tooltip, 'content ref:', !!content);
|
|
347110
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[92]++;
|
|
347069
347111
|
if ((ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[27][0]++, !tooltip) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[27][1]++, !content)) {
|
|
347070
347112
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[26][0]++;
|
|
347071
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347113
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[93]++;
|
|
347072
347114
|
return;
|
|
347073
347115
|
} else {
|
|
347074
347116
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[26][1]++;
|
|
347075
347117
|
}
|
|
347076
347118
|
|
|
347077
347119
|
// Store analyses for later use
|
|
347078
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347120
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[94]++;
|
|
347079
347121
|
this._currentAnalyses = analyses;
|
|
347080
347122
|
|
|
347081
347123
|
// Build tooltip HTML directly (no Vue reactivity)
|
|
347082
|
-
var appName = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347083
|
-
var html = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347084
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347124
|
+
var appName = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[95]++, (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[28][0]++, (_analyses$ = analyses[0]) === null || _analyses$ === void 0 || (_analyses$ = _analyses$.application) === null || _analyses$ === void 0 ? void 0 : _analyses$.name) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[28][1]++, 'Unknown'));
|
|
347125
|
+
var html = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[96]++, "<div class=\"tooltip-header\">".concat(appName, " - ").concat(analyses.length, " analysis").concat(analyses.length !== 1 ? (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[29][0]++, 'es') : (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[29][1]++, ''), "</div>"));
|
|
347126
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[97]++;
|
|
347085
347127
|
html += '<div class="tooltip-list">';
|
|
347086
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347128
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[98]++;
|
|
347087
347129
|
if (this.viewMode === 'individual') {
|
|
347088
347130
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[30][0]++;
|
|
347089
347131
|
// Group analyses by experiment for individual view
|
|
347090
|
-
var byExperiment = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347091
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347132
|
+
var byExperiment = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[99]++, {});
|
|
347133
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[100]++;
|
|
347092
347134
|
analyses.forEach(function (a) {
|
|
347093
347135
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[37]++;
|
|
347094
|
-
var expId = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347095
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347136
|
+
var expId = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[101]++, (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[31][0]++, a.experimentSystemId) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[31][1]++, 'Unknown'));
|
|
347137
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[102]++;
|
|
347096
347138
|
if (!byExperiment[expId]) {
|
|
347097
347139
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[32][0]++;
|
|
347098
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347140
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[103]++;
|
|
347099
347141
|
byExperiment[expId] = [];
|
|
347100
347142
|
} else {
|
|
347101
347143
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[32][1]++;
|
|
347102
347144
|
}
|
|
347103
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347145
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[104]++;
|
|
347104
347146
|
byExperiment[expId].push(a);
|
|
347105
347147
|
});
|
|
347106
347148
|
|
|
347107
347149
|
// Render grouped by experiment
|
|
347108
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347150
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[105]++;
|
|
347109
347151
|
Object.entries(byExperiment).forEach(function (_ref3) {
|
|
347110
347152
|
var _ref4 = ProjectMatrixvue_type_script_lang_js_slicedToArray(_ref3, 2),
|
|
347111
347153
|
expId = _ref4[0],
|
|
347112
347154
|
expAnalyses = _ref4[1];
|
|
347113
347155
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[38]++;
|
|
347114
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347156
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[106]++;
|
|
347115
347157
|
html += "<div class=\"experiment-group-header\">".concat(expId, "</div>");
|
|
347116
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347158
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[107]++;
|
|
347117
347159
|
expAnalyses.forEach(function (a) {
|
|
347118
347160
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[39]++;
|
|
347119
|
-
var color = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347120
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347161
|
+
var color = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[108]++, _this4.getStatusColor(a.status));
|
|
347162
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[109]++;
|
|
347121
347163
|
html += "<div class=\"tooltip-item\" data-pk=\"".concat(a.pk, "\">");
|
|
347122
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347164
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[110]++;
|
|
347123
347165
|
html += "<span class=\"status-dot\" style=\"background:".concat(color, "\"></span>");
|
|
347124
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347166
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[111]++;
|
|
347125
347167
|
html += "<span class=\"analysis-pk\">".concat(a.pk, "</span>");
|
|
347126
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347168
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[112]++;
|
|
347127
347169
|
html += "<span class=\"sep\">|</span>";
|
|
347128
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347170
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[113]++;
|
|
347129
347171
|
html += "<span class=\"version\">v".concat((ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[33][0]++, a.version) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[33][1]++, 'N/A'), "</span>");
|
|
347130
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347172
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[114]++;
|
|
347131
347173
|
if (a.assembly) {
|
|
347132
347174
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[34][0]++;
|
|
347133
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347175
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[115]++;
|
|
347134
347176
|
html += "<span class=\"assembly\"> \xB7 ".concat(a.assembly, "</span>");
|
|
347135
347177
|
} else {
|
|
347136
347178
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[34][1]++;
|
|
347137
347179
|
}
|
|
347138
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347180
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[116]++;
|
|
347139
347181
|
html += "<span class=\"status-chip\" style=\"background:".concat(color, "\">").concat(a.status, "</span>");
|
|
347140
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347182
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[117]++;
|
|
347141
347183
|
html += '</div>';
|
|
347142
347184
|
});
|
|
347143
347185
|
});
|
|
347144
347186
|
} else {
|
|
347145
347187
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[30][1]++;
|
|
347146
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347188
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[118]++;
|
|
347147
347189
|
// Flat list for experiment view
|
|
347148
347190
|
analyses.forEach(function (a) {
|
|
347149
347191
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[40]++;
|
|
347150
|
-
var color = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347151
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347192
|
+
var color = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[119]++, _this4.getStatusColor(a.status));
|
|
347193
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[120]++;
|
|
347152
347194
|
html += "<div class=\"tooltip-item\" data-pk=\"".concat(a.pk, "\">");
|
|
347153
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347195
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[121]++;
|
|
347154
347196
|
html += "<span class=\"status-dot\" style=\"background:".concat(color, "\"></span>");
|
|
347155
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347197
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[122]++;
|
|
347156
347198
|
html += "<span class=\"analysis-pk\">".concat(a.pk, "</span>");
|
|
347157
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347199
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[123]++;
|
|
347158
347200
|
html += "<span class=\"sep\">|</span>";
|
|
347159
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347201
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[124]++;
|
|
347160
347202
|
html += "<span class=\"version\">v".concat((ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[35][0]++, a.version) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[35][1]++, 'N/A'), "</span>");
|
|
347161
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347203
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[125]++;
|
|
347162
347204
|
if (a.assembly) {
|
|
347163
347205
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[36][0]++;
|
|
347164
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347206
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[126]++;
|
|
347165
347207
|
html += "<span class=\"assembly\"> \xB7 ".concat(a.assembly, "</span>");
|
|
347166
347208
|
} else {
|
|
347167
347209
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[36][1]++;
|
|
347168
347210
|
}
|
|
347169
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347211
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[127]++;
|
|
347170
347212
|
html += "<span class=\"status-chip\" style=\"background:".concat(color, "\">").concat(a.status, "</span>");
|
|
347171
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347213
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[128]++;
|
|
347172
347214
|
html += '</div>';
|
|
347173
347215
|
});
|
|
347174
347216
|
}
|
|
347175
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347217
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[129]++;
|
|
347176
347218
|
html += '</div>';
|
|
347177
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347219
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[130]++;
|
|
347178
347220
|
content.innerHTML = html;
|
|
347179
347221
|
|
|
347180
347222
|
// Add click handlers to items
|
|
347181
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347223
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[131]++;
|
|
347182
347224
|
content.querySelectorAll('.tooltip-item').forEach(function (item) {
|
|
347183
347225
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[41]++;
|
|
347184
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347226
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[132]++;
|
|
347185
347227
|
item.onclick = function () {
|
|
347186
347228
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[42]++;
|
|
347187
|
-
var pk = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347188
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347229
|
+
var pk = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[133]++, parseInt(item.dataset.pk));
|
|
347230
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[134]++;
|
|
347189
347231
|
_this4.hideTooltipNative();
|
|
347190
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347232
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[135]++;
|
|
347191
347233
|
_this4.handleOpenAnalysis(pk);
|
|
347192
347234
|
};
|
|
347193
347235
|
});
|
|
347194
347236
|
|
|
347195
347237
|
// Position and show tooltip
|
|
347196
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347238
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[136]++;
|
|
347197
347239
|
tooltip.style.display = 'block';
|
|
347198
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347240
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[137]++;
|
|
347199
347241
|
tooltip.style.left = "".concat(rect.left + rect.width / 2, "px");
|
|
347200
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347242
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[138]++;
|
|
347201
347243
|
tooltip.style.top = "".concat(rect.top - 8, "px");
|
|
347202
347244
|
},
|
|
347203
347245
|
hideTooltipNative: function hideTooltipNative() {
|
|
347204
347246
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[43]++;
|
|
347205
|
-
var tooltip = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347206
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347247
|
+
var tooltip = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[139]++, this.$refs.tooltip);
|
|
347248
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[140]++;
|
|
347207
347249
|
if (tooltip) {
|
|
347208
347250
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[37][0]++;
|
|
347209
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347251
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[141]++;
|
|
347210
347252
|
tooltip.style.display = 'none';
|
|
347211
347253
|
} else {
|
|
347212
347254
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[37][1]++;
|
|
@@ -347216,84 +347258,84 @@ function ProjectMatrixvue_type_script_lang_js_asyncToGenerator(fn) { return func
|
|
|
347216
347258
|
getPredominantColor: function getPredominantColor(analyses) {
|
|
347217
347259
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[44]++;
|
|
347218
347260
|
// Count occurrences of each status
|
|
347219
|
-
var statusCounts = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347220
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347261
|
+
var statusCounts = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[142]++, {});
|
|
347262
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[143]++;
|
|
347221
347263
|
analyses.forEach(function (a) {
|
|
347222
347264
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[45]++;
|
|
347223
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347265
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[144]++;
|
|
347224
347266
|
statusCounts[a.status] = ((ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[38][0]++, statusCounts[a.status]) || (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[38][1]++, 0)) + 1;
|
|
347225
347267
|
});
|
|
347226
347268
|
|
|
347227
347269
|
// Find the most common status
|
|
347228
|
-
var maxCount = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347229
|
-
var predominantStatus = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347230
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347270
|
+
var maxCount = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[145]++, 0);
|
|
347271
|
+
var predominantStatus = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[146]++, 'SUCCEEDED'); // default
|
|
347272
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[147]++;
|
|
347231
347273
|
Object.entries(statusCounts).forEach(function (_ref5) {
|
|
347232
347274
|
var _ref6 = ProjectMatrixvue_type_script_lang_js_slicedToArray(_ref5, 2),
|
|
347233
347275
|
status = _ref6[0],
|
|
347234
347276
|
count = _ref6[1];
|
|
347235
347277
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[46]++;
|
|
347236
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347278
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[148]++;
|
|
347237
347279
|
if (count > maxCount) {
|
|
347238
347280
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[39][0]++;
|
|
347239
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347281
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[149]++;
|
|
347240
347282
|
maxCount = count;
|
|
347241
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347283
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[150]++;
|
|
347242
347284
|
predominantStatus = status;
|
|
347243
347285
|
} else {
|
|
347244
347286
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[39][1]++;
|
|
347245
347287
|
}
|
|
347246
347288
|
});
|
|
347247
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347289
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[151]++;
|
|
347248
347290
|
return getStatusColor(predominantStatus);
|
|
347249
347291
|
},
|
|
347250
347292
|
handleTooltipEnter: function handleTooltipEnter() {
|
|
347251
347293
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[47]++;
|
|
347252
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347294
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[152]++;
|
|
347253
347295
|
this.isOverTooltip = true;
|
|
347254
347296
|
},
|
|
347255
347297
|
handleTooltipLeave: function handleTooltipLeave() {
|
|
347256
347298
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[48]++;
|
|
347257
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347299
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[153]++;
|
|
347258
347300
|
this.isOverTooltip = false;
|
|
347259
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347301
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[154]++;
|
|
347260
347302
|
this.hideTooltipNative();
|
|
347261
347303
|
},
|
|
347262
347304
|
handleDocumentClick: function handleDocumentClick(event) {
|
|
347263
347305
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.f[49]++;
|
|
347264
|
-
var tooltip = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347306
|
+
var tooltip = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[155]++, this.$refs.tooltip);
|
|
347265
347307
|
|
|
347266
347308
|
// Check if click was inside tooltip
|
|
347267
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347309
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[156]++;
|
|
347268
347310
|
if ((ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[41][0]++, tooltip) && (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[41][1]++, tooltip.contains(event.target))) {
|
|
347269
347311
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[40][0]++;
|
|
347270
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347312
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[157]++;
|
|
347271
347313
|
return;
|
|
347272
347314
|
} else {
|
|
347273
347315
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[40][1]++;
|
|
347274
347316
|
}
|
|
347275
347317
|
|
|
347276
347318
|
// Check if click was on a matrix cell (this opens tooltip, don't close it)
|
|
347277
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347319
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[158]++;
|
|
347278
347320
|
if (event.target.closest('.matrix-cell.has-analyses')) {
|
|
347279
347321
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[42][0]++;
|
|
347280
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347322
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[159]++;
|
|
347281
347323
|
return;
|
|
347282
347324
|
} else {
|
|
347283
347325
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[42][1]++;
|
|
347284
347326
|
}
|
|
347285
347327
|
|
|
347286
347328
|
// Hide tooltip if visible
|
|
347287
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347329
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[160]++;
|
|
347288
347330
|
this.hideTooltipNative();
|
|
347289
347331
|
|
|
347290
347332
|
// Only clear selection if clicking inside the matrix scroll container
|
|
347291
347333
|
// (not when clicking tabs, filters, etc.)
|
|
347292
|
-
var scrollContainer = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347293
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347334
|
+
var scrollContainer = (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[161]++, this.$refs.scrollContainer);
|
|
347335
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[162]++;
|
|
347294
347336
|
if ((ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[44][0]++, scrollContainer) && (ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[44][1]++, scrollContainer.contains(event.target))) {
|
|
347295
347337
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[43][0]++;
|
|
347296
|
-
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[
|
|
347338
|
+
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.s[163]++;
|
|
347297
347339
|
this.selectedCell = null;
|
|
347298
347340
|
} else {
|
|
347299
347341
|
ProjectMatrixvue_type_script_lang_js_cov_geimehe8j.b[43][1]++;
|
|
@@ -347303,9 +347345,9 @@ function ProjectMatrixvue_type_script_lang_js_asyncToGenerator(fn) { return func
|
|
|
347303
347345
|
});
|
|
347304
347346
|
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrix.vue?vue&type=script&lang=js&
|
|
347305
347347
|
/* harmony default export */ var projects_ProjectMatrixvue_type_script_lang_js_ = (ProjectMatrixvue_type_script_lang_js_);
|
|
347306
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/projects/ProjectMatrix.vue?vue&type=style&index=0&id=
|
|
347307
|
-
var
|
|
347308
|
-
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrix.vue?vue&type=style&index=0&id=
|
|
347348
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/projects/ProjectMatrix.vue?vue&type=style&index=0&id=2742f691&prod&scoped=true&lang=css&
|
|
347349
|
+
var ProjectMatrixvue_type_style_index_0_id_2742f691_prod_scoped_true_lang_css_ = __webpack_require__(99570);
|
|
347350
|
+
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrix.vue?vue&type=style&index=0&id=2742f691&prod&scoped=true&lang=css&
|
|
347309
347351
|
|
|
347310
347352
|
;// CONCATENATED MODULE: ./src/components/projects/ProjectMatrix.vue
|
|
347311
347353
|
|
|
@@ -347318,11 +347360,11 @@ var ProjectMatrixvue_type_style_index_0_id_68d9db25_prod_scoped_true_lang_css_ =
|
|
|
347318
347360
|
|
|
347319
347361
|
var ProjectMatrix_component = normalizeComponent(
|
|
347320
347362
|
projects_ProjectMatrixvue_type_script_lang_js_,
|
|
347321
|
-
|
|
347322
|
-
|
|
347363
|
+
ProjectMatrixvue_type_template_id_2742f691_scoped_true_render,
|
|
347364
|
+
ProjectMatrixvue_type_template_id_2742f691_scoped_true_staticRenderFns,
|
|
347323
347365
|
false,
|
|
347324
347366
|
null,
|
|
347325
|
-
"
|
|
347367
|
+
"2742f691",
|
|
347326
347368
|
null
|
|
347327
347369
|
|
|
347328
347370
|
)
|