From d50a44d30a563b711eae3380fd56e1cdf68f344f Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 1 Mar 2022 23:29:06 +0000 Subject: [PATCH] --- .../dash-labor-hours-everyone-bar.vue | 45 +++++-------------- .../dash-labor-hours-everyone-line.vue | 34 +++++++------- .../dash-labor-hours-personal-bar.vue | 3 +- .../dash-labor-hours-personal-line.vue | 1 - 4 files changed, 31 insertions(+), 52 deletions(-) diff --git a/ayanova/src/components/dash-labor-hours-everyone-bar.vue b/ayanova/src/components/dash-labor-hours-everyone-bar.vue index 8eae9e6a..ed300f91 100644 --- a/ayanova/src/components/dash-labor-hours-everyone-bar.vue +++ b/ayanova/src/components/dash-labor-hours-everyone-bar.vue @@ -74,13 +74,6 @@ v-model="localSettings.customTitle" :label="$ay.t('Name')" > - - @@ -134,7 +127,8 @@ export default { }, gridLines: { drawOnChartArea: false - } + }, + offset: true } ], yAxes: [ @@ -154,35 +148,20 @@ export default { computed: { chartData() { let ret = []; - //build data sets here - //format should be broken out by user - //iterate data and lookup what's needed in meta for each change of data - //or, is it the other way around, maybe iterate meta and if find in data then build dataset!! this.meta.forEach(m => { - let userData=this.obj.filter(d=>d.z==m.userid); - -if(userData.length>0){ - let item = { - label: m.name, - backgroundColor: m.uicolor, - data: userData.map(d => { - return { x: d.x, y: d.y }; - }) - }; -// } -// if (item.data.length > 0) { -// ret.push(item); -// } + let userData = this.obj.filter(d => d.z == m.userid); + if (userData.length > 0) { + ret.push({ + label: m.name, + backgroundColor: m.uicolor, + data: userData.map(d => { + return { x: d.x, y: d.y }; + }) + }); + } }); console.log(JSON.stringify({ datasets: ret })); return { datasets: ret }; - // datasets: [ - // { - // label: "usernamehere", - // backgroundColor: this.settings.color ?? "#000000", - // data: this.obj - // } - // ] } }, async created() { diff --git a/ayanova/src/components/dash-labor-hours-everyone-line.vue b/ayanova/src/components/dash-labor-hours-everyone-line.vue index 5340b3a2..269fd328 100644 --- a/ayanova/src/components/dash-labor-hours-everyone-line.vue +++ b/ayanova/src/components/dash-labor-hours-everyone-line.vue @@ -77,13 +77,6 @@ v-model="localSettings.customTitle" :label="$ay.t('Name')" > - - @@ -118,6 +111,7 @@ export default { data() { return { obj: {}, + meta: [], visible: true, context: false, localSettings: {}, @@ -128,7 +122,6 @@ export default { chartOptions: { responsive: true, maintainAspectRatio: false, - // legend: { display: false }, scales: { xAxes: [ { @@ -157,19 +150,25 @@ export default { }, computed: { chartData() { - return { - datasets: [ - { - label: "UserNameHere", - borderColor: this.settings.color ?? "#000000", + let ret = []; + this.meta.forEach(m => { + let userData = this.obj.filter(d => d.z == m.userid); + if (userData.length > 0) { + ret.push({ + label: m.name, + borderColor: m.uicolor, fill: false, pointRadius: 2, pointHoverRadius: 6, pointHitRadius: 3, - data: this.obj - } - ] - }; + data: userData.map(d => { + return { x: d.x, y: d.y }; + }) + }); + } + }); + //console.log(JSON.stringify({ datasets: ret })); + return { datasets: ret }; } }, async created() { @@ -225,6 +224,7 @@ export default { timeZone: this.timeZoneName }); }); + this.meta = res.meta; this.obj = res.data; } } catch (error) { diff --git a/ayanova/src/components/dash-labor-hours-personal-bar.vue b/ayanova/src/components/dash-labor-hours-personal-bar.vue index 91d5ae91..9b48bf5c 100644 --- a/ayanova/src/components/dash-labor-hours-personal-bar.vue +++ b/ayanova/src/components/dash-labor-hours-personal-bar.vue @@ -119,7 +119,8 @@ export default { }, gridLines: { drawOnChartArea: false - } + }, + offset: true } ], yAxes: [ diff --git a/ayanova/src/components/dash-labor-hours-personal-line.vue b/ayanova/src/components/dash-labor-hours-personal-line.vue index cfd88d43..0eee82a9 100644 --- a/ayanova/src/components/dash-labor-hours-personal-line.vue +++ b/ayanova/src/components/dash-labor-hours-personal-line.vue @@ -115,7 +115,6 @@ export default { chartOptions: { responsive: true, maintainAspectRatio: false, - // legend: { display: false }, scales: { xAxes: [ {