From 406901f35154dd602a86ef5b1f8252ca48fe71ec Mon Sep 17 00:00:00 2001 From: jarusified Date: Mon, 21 Jun 2021 11:22:08 -0700 Subject: [PATCH 1/8] Move settings to the general folder --- app/src/components/CCT.vue | 8 +- app/src/components/SuperGraph.vue | 9 +-- app/src/components/SuperGraphEnsemble.vue | 8 +- .../{ => general}/settings/header.vue | 0 .../settings/index.vue} | 78 +++---------------- .../{ => general}/settings/select.vue | 0 app/src/components/summary/config.vue | 11 +-- app/src/main.js | 3 - app/src/store.js | 22 +++++- server/provider_base.py | 21 ++++- 10 files changed, 62 insertions(+), 98 deletions(-) rename app/src/components/{ => general}/settings/header.vue (100%) rename app/src/components/{settings/visualEncoding.vue => general/settings/index.vue} (73%) rename app/src/components/{ => general}/settings/select.vue (100%) diff --git a/app/src/components/CCT.vue b/app/src/components/CCT.vue index c0de1dcf7..e94a7485b 100644 --- a/app/src/components/CCT.vue +++ b/app/src/components/CCT.vue @@ -27,7 +27,7 @@ - + @@ -60,7 +60,7 @@ import Color from "lib/color/"; import * as utils from "lib/utils"; // Settings components -import VisualEncoding from "./settings/visualEncoding"; +import Settings from "./general/settings/"; import EventHandler from "lib/routing/EventHandler"; export default { @@ -69,7 +69,7 @@ export default { Splitpanes, NodeLink, Toolbar, - VisualEncoding + Settings }, data: () => ({ @@ -158,7 +158,7 @@ export default { setComponentMap() { return [ this.$refs.CCT1, - this.$refs.VisualEncoding + this.$refs.Settings ]; }, diff --git a/app/src/components/SuperGraph.vue b/app/src/components/SuperGraph.vue index 40eabd9a5..2c29bee33 100644 --- a/app/src/components/SuperGraph.vue +++ b/app/src/components/SuperGraph.vue @@ -27,7 +27,7 @@ - + @@ -67,8 +67,7 @@ import SingleHistogram from "./singleHistogram/index_sh"; import CallsiteInformation from "./callsiteInformation/index_ci"; import Sankey from "./sankey/index_sg"; import Toolbar from "./general/toolbar"; - -import VisualEncoding from "./settings/visualEncoding"; +import Settings from "./general/settings/"; export default { name: "SuperGraph", @@ -81,7 +80,7 @@ export default { SingleScatterplot, SingleHistogram, CallsiteInformation, - VisualEncoding, + Settings, }, data: () => ({ @@ -140,7 +139,7 @@ export default { this.$refs.SingleScatterplot, this.$refs.Sankey, this.$refs.CallsiteInformation, - this.$refs.VisualEncoding, + this.$refs.Settings, ]; }, diff --git a/app/src/components/SuperGraphEnsemble.vue b/app/src/components/SuperGraphEnsemble.vue index 022628819..66330d49d 100644 --- a/app/src/components/SuperGraphEnsemble.vue +++ b/app/src/components/SuperGraphEnsemble.vue @@ -27,7 +27,7 @@ - + @@ -71,7 +71,7 @@ import EnsembleScatterplot from "./ensembleScatterplot/index_es"; import ParameterProjection from "./parameterProjection/index_pp"; import Sankey from "./sankey/index_sg"; import Toolbar from "./general/toolbar"; -import VisualEncoding from "./settings/visualEncoding"; +import Settings from "./general/settings"; export default { name: "EnsembleSuperGraph", @@ -86,7 +86,7 @@ export default { ModuleHierarchy, ParameterProjection, CallsiteCorrespondence, - VisualEncoding, + Settings, }, // Not used currently. @@ -172,7 +172,7 @@ export default { this.$refs.CallsiteCorrespondence, this.$refs.ParameterProjection, this.$refs.ModuleHierarchy, - this.$refs.VisualEncoding + this.$refs.Settings ]; }, diff --git a/app/src/components/settings/header.vue b/app/src/components/general/settings/header.vue similarity index 100% rename from app/src/components/settings/header.vue rename to app/src/components/general/settings/header.vue diff --git a/app/src/components/settings/visualEncoding.vue b/app/src/components/general/settings/index.vue similarity index 73% rename from app/src/components/settings/visualEncoding.vue rename to app/src/components/general/settings/index.vue index 73d71c6a7..3b9024917 100644 --- a/app/src/components/settings/visualEncoding.vue +++ b/app/src/components/general/settings/index.vue @@ -66,29 +66,6 @@ - - @@ -195,7 +172,7 @@ import Color from "lib/color/index"; import {mapActions, mapGetters} from "vuex"; export default { - name: "VisualEncoding", + name: "Settings", data: () => ({ colorPoints: [3, 4, 5, 6, 7, 8, 9], @@ -203,52 +180,12 @@ export default { runtimeColorMap: new Color().getAllColors(), distributionColorMap: new Color().getAllColors(), sortByModes: ["min", "mean", "max", "imb", "var", "kert", "skew"], - scales: ["Log", "Linear"], - selectedScale: "Linear", - selectedDistributionColorMap: "Blues", compareModes: ["MEAN_DIFF", "RANK_DIFF"], selectedCompareMode: "MEAN_DIFF", props: ["name", "rank", "dataset"], - selectedProp: "dataset", - dimensions: ["max_inclusive_time", "max_exclusive_time", "rank_count"], - selectedPC1: "max_inclusive_time", - selectedPC2: "max_exclusive_time", - selectedNumOfClusters: 3, - targetColorMap: { - Green: "#4EAF4A", - Blue: "#4681B4", - Brown: "#AF9B90", - Red: "#A90400", - }, targetColors: ["Green", "Blue", "Brown"], - selectedTargetColor: "Green", }), - watch: { - selectedTargetColor(val) { - this.$store.selectedTargetColor = val; - this.reset(); - }, - - async selectedCompareDataset(val) { - this.summaryChip = "Diff SuperGraph"; - this.$store.selectedCompareDataset = val; - this.$store.comparisonMode = true; - this.$store.encoding = this.selectedCompareMode; - const data = await APIService.POSTRequest("compare", { - targetDataset: this.$store.selectedTargetDataset, - compareDataset: this.$store.selectedCompareDataset, - selectedMetric: this.$store.selectedMetric, - }); - this.$refs.SuperGraph.activateCompareMode(data); - }, - - selectedNumOfClusters(val) { - this.$store.selectedNumOfClusters = val; - EventHandler.$emit("update-number-of-clusters"); - }, - }, - computed: { ...mapGetters({ selectedMetric: "getSelectedMetric", @@ -258,7 +195,9 @@ export default { selectedRunBinCount: "getRunBinCount", selectedRankBinCount: "getRankBinCount", selectedRuntimeSortBy: "getRuntimeSortBy", - // selectedIQRFactor: "getIQRFactor" + selectedTargetColor: "getTargetColor", + selectedIQRFactor: "getIQRFactor", + selectedCompareRun: "getCompareRun", }), }, @@ -271,7 +210,10 @@ export default { "updateTargetColor", "updateRankBinCount", "updateRunBinCount", - "updateRuntimeSortBy" + "updateRuntimeSortBy", + "updateTargetColor", + "updateCompareRun", + ]), init() { diff --git a/app/src/components/settings/select.vue b/app/src/components/general/settings/select.vue similarity index 100% rename from app/src/components/settings/select.vue rename to app/src/components/general/settings/select.vue diff --git a/app/src/components/summary/config.vue b/app/src/components/summary/config.vue index 29094fb37..fc2282b1a 100644 --- a/app/src/components/summary/config.vue +++ b/app/src/components/summary/config.vue @@ -5,7 +5,7 @@ * SPDX-License-Identifier: MIT */ @@ -64,10 +59,6 @@ export default { this.$store.dispatch("fetchConfig"); }, - mounted() { - document.title = "CallFlow - " + this.data.experiment; - }, - computed: { ...mapGetters({ data: "getConfig", runs: "getRuns"}), }, diff --git a/app/src/main.js b/app/src/main.js index 3f26d55c2..54c62a017 100644 --- a/app/src/main.js +++ b/app/src/main.js @@ -23,11 +23,8 @@ import SuperGraph from "./components/SuperGraph"; import EnsembleSuperGraph from "./components/SuperGraphEnsemble"; import vuetify from "./lib/plugins/vuetify"; -// Vue.use(Vuex); -// const store = new Vuex.Store(); import store from "./store"; - const router = new Router({ routes: [ { diff --git a/app/src/store.js b/app/src/store.js index 2c2998e7e..4edfe4627 100644 --- a/app/src/store.js +++ b/app/src/store.js @@ -1,5 +1,5 @@ import Vue from "vue"; -import Vuex, { Store } from "vuex"; +import Vuex from "vuex"; import * as utils from "lib/utils"; import APIService from "lib/routing/APIService"; @@ -178,6 +178,7 @@ export default new Vuex.Store({ state.hierarchy = payload; } }, + actions: { async fetchConfig({ commit }) { const config = await APIService.GETRequest("config"); @@ -279,6 +280,16 @@ export default new Vuex.Store({ commit("setHierarchy", hierarchy); }, + async fetchComparison({ commit, state }, payload) { + const comp = await APIService.POSTRequest("compare", { + targetDataset: state.selectedTargetRun, + compareDataset: state.selectedCompareRun, + selectedMetric: state.selectedMetric, + }); + console.log("[Data] ESG Comparison: ", comp); + commit("setDSG", comp); + }, + updateSelectedMetric({ state, dispatch }, payload) { state.selectedMetric = payload; dispatch("reset"); @@ -318,6 +329,11 @@ export default new Vuex.Store({ } }, + updateCompareRun({ state, dispatch}, payload) { + state.commit("setCompareRun", payload); + state.commit("setSelectedMode", "DSG"); + }, + reset({state}) { if (state.selectedMode == "CCT") { EventHandler.$emit("reset-cct"); @@ -328,6 +344,9 @@ export default new Vuex.Store({ else if (state.selectedMode == "ESG") { EventHandler.$emit("reset-esg"); } + else if (state.selectedMode == "DSG") { + EventHandler.$emit("reset-dsg"); + } }, }, modules: { @@ -363,6 +382,7 @@ export default new Vuex.Store({ getRuntimeColorMap: state => state.runtimeColorMap, getESG: state => state.ESG, + getDSG: state => state.DSG, getEnsembleHistogram: state => state.ensembleHistogram, getEnsembleScatterplot: state => state.ensembleScatterplot, getEnsembleBoxplots: state => state.ensembleBoxplots, diff --git a/server/provider_base.py b/server/provider_base.py index 4565a32f1..e6ed66f49 100644 --- a/server/provider_base.py +++ b/server/provider_base.py @@ -280,13 +280,28 @@ def request_general(self, operation): if operation_name == "init": if len(self.datasets) > 1: - time_columns = self.supergraphs["ensemble"].time_columns + sg = self.supergraphs["ensemble"] else: - time_columns = self.supergraphs[self.datasets[0].name].time_columns + sg = self.supergraphs[self.datasets[0].name] + + time_columns = sg.time_columns + + # if "module_callsite_map" not in self.config.keys(): + # module_callsite_map = sg.module_callsite_map + # else: + # module_callsite_map = self.config.module_callsite_map + + # if "callsite_module_map" not in self.config.keys(): + # callsite_module_map = sg.module_callsite_map + # else: + # callsite_module_map = self.config.callsite_module_map + return { **self.config, "time_columns": time_columns, - "profile_format_summary": list(set(map(lambda d: d["profile_format"], self.datasets))) + "profile_format_summary": list(set(map(lambda d: d["profile_format"], self.datasets))), + # "module_callsite_map": module_callsite_map, + # "callsite_module_map": callsite_module_map } elif operation_name == "summary": From 44677a8980c9aa39c18ae56d3aedc139c14b3c4c Mon Sep 17 00:00:00 2001 From: jarusified Date: Mon, 21 Jun 2021 11:44:33 -0700 Subject: [PATCH 2/8] Remove vuetify from lib --- app/src/lib/plugins/vuetify.js | 10 ---------- app/src/main.js | 12 +++++++++--- 2 files changed, 9 insertions(+), 13 deletions(-) delete mode 100644 app/src/lib/plugins/vuetify.js diff --git a/app/src/lib/plugins/vuetify.js b/app/src/lib/plugins/vuetify.js deleted file mode 100644 index 2632cabe1..000000000 --- a/app/src/lib/plugins/vuetify.js +++ /dev/null @@ -1,10 +0,0 @@ -import Vue from "vue"; -import Vuetify from "vuetify/lib/framework"; - -Vue.use(Vuetify); - -export default new Vuetify({ - icons: { - iconfont: "mdiSvg" - } -}); diff --git a/app/src/main.js b/app/src/main.js index 54c62a017..3c50a8b01 100644 --- a/app/src/main.js +++ b/app/src/main.js @@ -6,9 +6,7 @@ */ import Vue from "vue"; -import * as Vuex from "vuex"; import Router from "vue-router"; -import Vuetify from "vuetify"; import BootstrapVue from "bootstrap-vue"; import VueMaterial from "vue-material"; import "vue-material/dist/vue-material.min.css"; @@ -21,7 +19,15 @@ import Summary from "./components/Summary"; import CCT from "./components/CCT"; import SuperGraph from "./components/SuperGraph"; import EnsembleSuperGraph from "./components/SuperGraphEnsemble"; -import vuetify from "./lib/plugins/vuetify"; + +// Setup vuetify. +import Vuetify from "vuetify/lib/framework"; +Vue.use(Vuetify); +const vuetify = new Vuetify({ + icons: { + iconfont: "mdiSvg" + } +}); import store from "./store"; From d31122602442a65bed6c8c014556163faa32a0d2 Mon Sep 17 00:00:00 2001 From: jarusified Date: Mon, 21 Jun 2021 13:03:34 -0700 Subject: [PATCH 3/8] Remove this. from App.vue --- app/src/components/App.vue | 18 ------- .../components/ensembleHistogram/index_eh.vue | 48 ++++++------------- .../components/sankey/encodings/meanDiff.vue | 5 +- .../components/sankey/encodings/rankDiff.vue | 3 +- app/src/components/sankey/miniHistograms.vue | 5 +- app/src/components/sankey/nodes.vue | 5 +- .../components/singleHistogram/index_sh.vue | 7 +-- app/src/store.js | 8 +++- 8 files changed, 37 insertions(+), 62 deletions(-) diff --git a/app/src/components/App.vue b/app/src/components/App.vue index e26d3ed9b..b5fcda6f1 100644 --- a/app/src/components/App.vue +++ b/app/src/components/App.vue @@ -50,28 +50,10 @@ export default { mounted() { document.title = "CallFlow"; - this.setGlobalVariables(); // Set the general variables in the store. this.setViewDimensions(); // Set the view dimensions. }, methods: { - setGlobalVariables() { - console.log("[App] Set global variables."); - this.$store.selectedProp = "rank"; - - // Shoud be specified in the CSS, not here. - this.$store.fontSize = 14; - this.$store.transitionDuration = 1000; - - // Histogram properties - this.$store.selectedScale = "Linear"; - - // Color properties - this.$store.runtimeColor = new Color("OrRd"); - - // Ensemble color properites - this.$store.distributionColor = new Color("Greens"); - }, setViewDimensions() { console.log("[App] Set view dimensions."); diff --git a/app/src/components/ensembleHistogram/index_eh.vue b/app/src/components/ensembleHistogram/index_eh.vue index e42a4925a..e1521c781 100644 --- a/app/src/components/ensembleHistogram/index_eh.vue +++ b/app/src/components/ensembleHistogram/index_eh.vue @@ -61,6 +61,7 @@ export default { x_max_exponent: 0, superscript: "⁰¹²³⁴⁵⁶⁷⁸⁹", selectedProp: "rank", + selectedScale: "Linear" }), computed: { @@ -72,6 +73,7 @@ export default { data: "getEnsembleHistogram", showTarget: "getShowTarget", generalColors: "getGeneralColors", + selectedProp: "getSelectedProp", }) }, @@ -95,7 +97,7 @@ export default { dataset: this.selectedTargetRun, node: this.selectedNode["name"], ntype: this.selectedNode["type"], - nbins: 20, + nbins: this.selectedRunBin, }); // Assign the height and width of container @@ -133,26 +135,6 @@ export default { // this.$refs.ToolTip.init(this.svgID); }, - // dataProcess(data) { - // let axis_x = []; - // let dataMin = 0; - // let dataMax = 0; - - // dataMin = Math.min(...data["x"]); - // dataMax = Math.max(...data["x"]); - - // let dataWidth = (dataMax - dataMin) / this.$store.selectedMPIBinCount; - // if (dataWidth == 0) { - // dataWidth = 1; - // } - - // for (let i = 0; i < this.$store.selectedBinCount; i++) { - // axis_x.push(dataMin + i * dataWidth); - // } - - // return [data["x"], data["y"], axis_x]; - // }, - setupScale() { this.hist_data = this.data[this.selectedMetric][this.selectedProp]; @@ -164,13 +146,13 @@ export default { .domain(this.hist_data["x"]) .rangeRound([0, this.xAxisHeight]); - if (this.$store.selectedScale == "Linear") { + if (this.selectedScale == "Linear") { this.yScale = d3 .scaleLinear() .domain([0, this.hist_data["rel_y_max"]]) .range([this.yAxisHeight, this.padding.top]); this.logScaleBool = false; - } else if (this.$store.selectedScale == "Log") { + } else if (this.selectedScale == "Log") { this.yScale = d3 .scaleLog() .domain([0.1, this.hist_data["rel_y_max"]]) @@ -180,11 +162,11 @@ export default { }, setTitle() { - if (this.$store.selectedProp == "rank") { + if (this.selectedProp == "rank") { this.selectedPropLabel = "Ranks"; - } else if (this.$store.selectedProp == "name") { + } else if (this.selectedProp == "name") { this.selectedPropLabel = "Callsites"; - } else if (this.$store.selectedProp == "dataset") { + } else if (this.selectedProp == "dataset") { this.selectedPropLabel = "Runs"; } @@ -341,17 +323,17 @@ export default { .axisLeft(this.yScale) .ticks(10) .tickFormat((d, i) => { - if (this.$store.selectedProp == "rank") { + if (this.selectedProp == "rank") { if (d == 1) { return d; } else if (d % 10 == 0) { return d; } - } else if (this.$store.selectedProp == "dataset") { + } else if (this.selectedProp == "dataset") { if (d % 1 == 0) { return d; } - } else if (this.$store.selectedProp == "name") { + } else if (this.selectedProp == "name") { if (d % 1 == 0) { return d; } @@ -359,13 +341,13 @@ export default { }); let yAxisText = ""; - if (this.$store.selectedProp == "name") { + if (this.selectedProp == "name") { yAxisText = "Number of Callsites"; - } else if (this.$store.selectedProp == "dataset") { + } else if (this.selectedProp == "dataset") { yAxisText = "Number of Runs"; - } else if (this.$store.selectedProp == "rank") { + } else if (this.selectedProp == "rank") { yAxisText = "Number of Ranks"; - } else if (this.$store.selectedProp == "all_ranks") { + } else if (this.selectedProp == "all_ranks") { yAxisText = "Number of Processes"; } diff --git a/app/src/components/sankey/encodings/meanDiff.vue b/app/src/components/sankey/encodings/meanDiff.vue index be89b54c6..2fce83d70 100644 --- a/app/src/components/sankey/encodings/meanDiff.vue +++ b/app/src/components/sankey/encodings/meanDiff.vue @@ -19,7 +19,8 @@ export default { data: () => ({ strokeWidth: 7, id: "mean-diff-gradients", - meanDiff: {} + meanDiff: {}, + animationDuration: 1000, }), methods: { @@ -85,7 +86,7 @@ export default { // Transition rectangles .transition() - .duration(this.$store.transitionDuration) + .duration(this.animationDuration) .attrs({ "opacity": d => { return 1; diff --git a/app/src/components/sankey/encodings/rankDiff.vue b/app/src/components/sankey/encodings/rankDiff.vue index 0351b9ac1..97d54884a 100644 --- a/app/src/components/sankey/encodings/rankDiff.vue +++ b/app/src/components/sankey/encodings/rankDiff.vue @@ -20,6 +20,7 @@ export default { strokeWidth: 7, id: "rank-diff-gradients", renderZeroLine: {}, + animationDuration: 1000, }), methods: { @@ -161,7 +162,7 @@ export default { // Transition rectangles .transition() - .duration(this.$store.transitionDuration) + .duration(this.animationDuration) .attrs({ "opacity": d => { if (d.type == "intermediate") { diff --git a/app/src/components/sankey/miniHistograms.vue b/app/src/components/sankey/miniHistograms.vue index 8ca35bd80..60b762509 100644 --- a/app/src/components/sankey/miniHistograms.vue +++ b/app/src/components/sankey/miniHistograms.vue @@ -26,6 +26,7 @@ export default { id: "minihistogram-overview", offset: 7, bandWidth: 0, + selectedScale: "Linear" }), computed: { @@ -86,12 +87,12 @@ export default { freq = data.y; } - if (this.$store.selectedScale == "Linear") { + if (this.selectedScale == "Linear") { this.minimapYScale = d3.scaleLinear() .domain([0, d3.max(freq)]) .range([this.$parent.ySpacing - 10, 0]); } - else if (this.$store.selectedScale == "Log") { + else if (this.selectedScale == "Log") { this.minimapYScale = d3.scaleLog() .domain([0.1, d3.max(freq)]) .range([this.$parent.ySpacing, 0]); diff --git a/app/src/components/sankey/nodes.vue b/app/src/components/sankey/nodes.vue index 528ee98a6..9a4a9cd6f 100644 --- a/app/src/components/sankey/nodes.vue +++ b/app/src/components/sankey/nodes.vue @@ -57,7 +57,8 @@ export default { graph: null, nidNameMap: {}, intermediateColor: "#d9d9d9", - drawGuidesMap: {} + drawGuidesMap: {}, + fontSize: 14, }), computed: { @@ -344,7 +345,7 @@ export default { return d.id; } - let characterCount = d.height / this.$store.fontSize; + let characterCount = d.height / this.fontSize; return utils.truncNames(d.id, characterCount); } }); diff --git a/app/src/components/singleHistogram/index_sh.vue b/app/src/components/singleHistogram/index_sh.vue index a48e9cf6a..bbaa05a1c 100644 --- a/app/src/components/singleHistogram/index_sh.vue +++ b/app/src/components/singleHistogram/index_sh.vue @@ -63,7 +63,8 @@ export default { title: "MPI Runtime Distribution", infoSummary: "MPI runtime distribution view shows the sampled distribution of the process-based metrics for a selected node. To connect the processes (e.g., MPI ranks) to the physical domain, we use shadow lines to visualize the rank-to-bin mapping. Shadow lines map the bins in the histogram to the process/rank id laid out on an ordered line at the bottom of the histogram.", info: "", - selectedProp: "rank" + selectedProp: "rank", + selectedScale: "Linear" }), computed: { @@ -152,13 +153,13 @@ export default { .domain(this.xVals) .range([this.paddingFactor * this.padding.left, this.xAxisHeight]); - if (this.$store.selectedScale == "Linear") { + if (this.selectedScale == "Linear") { this.yScale = d3 .scaleLinear() .domain([0, d3.max(this.freq)]) .range([this.yAxisHeight, this.padding.top]); this.logScaleBool = false; - } else if (this.$store.selectedScale == "Log") { + } else if (this.selectedScale == "Log") { this.yScale = d3 .scaleLog() .domain([1, d3.max(this.freq)]) diff --git a/app/src/store.js b/app/src/store.js index 4edfe4627..00e0f52f4 100644 --- a/app/src/store.js +++ b/app/src/store.js @@ -78,7 +78,8 @@ export default new Vuex.Store({ numOfClusters: 3, runtimeSortBy: "mean", - hierarchy: {} + hierarchy: {}, + prop: "rank", }, mutations: { @@ -176,6 +177,10 @@ export default new Vuex.Store({ setHierarchy(state, payload) { state.hierarchy = payload; + }, + + setSelectedProp(state, payload) { + state.prop = payload; } }, @@ -400,5 +405,6 @@ export default new Vuex.Store({ getRuntimeSortBy: state => state.runtimeSortBy, getIQRFactor: state => state.IQRFactor, getHierarchy: state => state.hierarchy, + getProp: state => state.prop, } }); \ No newline at end of file From fc22e4dcfb09062aa69a6f0414f57787235768ae Mon Sep 17 00:00:00 2001 From: jarusified Date: Mon, 21 Jun 2021 16:31:15 -0700 Subject: [PATCH 4/8] Fix the boxplot size issue --- app/src/components/App.vue | 4 +- app/src/components/SuperGraphEnsemble.vue | 14 ++- app/src/components/boxplot/statistics.vue | 14 +-- .../callsiteCorrespondence/boxplot.vue | 4 +- .../callsiteCorrespondence/index_cc.vue | 117 ++++++++---------- .../callsiteInformation/boxplot.vue | 2 +- .../callsiteInformation/index_ci.vue | 16 +-- .../components/ensembleHistogram/index_eh.vue | 6 +- app/src/components/general/settings/index.vue | 11 +- app/src/components/general/viewSelection.vue | 19 ++- app/src/components/moduleHierarchy/index.vue | 1 - .../parameterProjection/index_pp.vue | 2 +- 12 files changed, 92 insertions(+), 118 deletions(-) diff --git a/app/src/components/App.vue b/app/src/components/App.vue index b5fcda6f1..7077cb389 100644 --- a/app/src/components/App.vue +++ b/app/src/components/App.vue @@ -29,8 +29,6 @@