adding colors to piechart
This commit is contained in:
		@ -1,134 +1,140 @@
 | 
			
		||||
<script setup>
 | 
			
		||||
 | 
			
		||||
	 import {ref } from 'vue';
 | 
			
		||||
	 const input = ref('')
 | 
			
		||||
import { ref } from "vue";
 | 
			
		||||
import {w} from "../../dist/assets/_plugin-vue_export-helper-Bvj9NrzX.js";
 | 
			
		||||
const input = ref("");
 | 
			
		||||
const statsOf = ref("");
 | 
			
		||||
const statsBy = ref("");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	 function inputKeyUp() {
 | 
			
		||||
		 let filter,ul,li,a,txtValue
 | 
			
		||||
			filter = input.value.toUpperCase();
 | 
			
		||||
		 if(document.getElementById("myUL")!=null){
 | 
			
		||||
			ul = document.getElementById("myUL");
 | 
			
		||||
			li = ul.getElementsByTagName('li');
 | 
			
		||||
function inputKeyUp() {
 | 
			
		||||
  let filter, ul, li, a, txtValue;
 | 
			
		||||
  filter = input.value.toUpperCase();
 | 
			
		||||
  if (document.getElementById("myUL") != null) {
 | 
			
		||||
    ul = document.getElementById("myUL");
 | 
			
		||||
    li = ul.getElementsByTagName("li");
 | 
			
		||||
 | 
			
		||||
			// Loop through all list items, and hide those who don't match the search query
 | 
			
		||||
			for (let i = 0; i < li.length; i++) {
 | 
			
		||||
				a = li[i].getElementsByTagName("a")[0];
 | 
			
		||||
				txtValue = a.textContent || a.innerText;
 | 
			
		||||
				if (txtValue.toUpperCase().indexOf(filter) > -1) {
 | 
			
		||||
					li[i].style.display = "";
 | 
			
		||||
				} else {
 | 
			
		||||
					li[i].style.display = "none";
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		 }
 | 
			
		||||
	 }
 | 
			
		||||
 | 
			
		||||
  const mydata = {
 | 
			
		||||
          options: {
 | 
			
		||||
          theme: "light2",
 | 
			
		||||
          animationEnabled: true,
 | 
			
		||||
          title:{
 | 
			
		||||
            text: "Visitors By Channel"
 | 
			
		||||
          },
 | 
			
		||||
          data: [{
 | 
			
		||||
            type: "pie",
 | 
			
		||||
            indexLabel: "{label} (#percent%)",
 | 
			
		||||
            yValueFormatString: "#,##0",
 | 
			
		||||
            toolTipContent: "<span style='\"'color: {color};'\"'>{label}</span> {y}(#percent%)",
 | 
			
		||||
            dataPoints: [
 | 
			
		||||
              { label: "Organic Traffic", y: 130631 },
 | 
			
		||||
              { label: "Direct", y: 28874 },
 | 
			
		||||
              { label: "Referral", y: 15467 },
 | 
			
		||||
              { label: "Social", y: 10543 },
 | 
			
		||||
              { label: "Email", y: 5613 },
 | 
			
		||||
              { label: "Others", y: 8492 }
 | 
			
		||||
            ]
 | 
			
		||||
          }]
 | 
			
		||||
        },
 | 
			
		||||
        styleOptions: {
 | 
			
		||||
          width: "100%",
 | 
			
		||||
          height: "360px",
 | 
			
		||||
        }
 | 
			
		||||
    // Loop through all list items, and hide those who don't match the search query
 | 
			
		||||
    for (let i = 0; i < li.length; i++) {
 | 
			
		||||
      a = li[i].getElementsByTagName("a")[0];
 | 
			
		||||
      txtValue = a.textContent || a.innerText;
 | 
			
		||||
      if (txtValue.toUpperCase().indexOf(filter) > -1) {
 | 
			
		||||
        li[i].style.display = "";
 | 
			
		||||
      } else {
 | 
			
		||||
        li[i].style.display = "none";
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const mydata = {
 | 
			
		||||
  chart:null,
 | 
			
		||||
  options: {
 | 
			
		||||
    backgroundColor:null,
 | 
			
		||||
    theme: "light2",
 | 
			
		||||
    animationEnabled: true,
 | 
			
		||||
    title: {
 | 
			
		||||
      fontColor: "white",
 | 
			
		||||
      text: statsOf.value + " By "+ statsBy.value,
 | 
			
		||||
    },
 | 
			
		||||
    data: [
 | 
			
		||||
      {
 | 
			
		||||
        type: "pie",
 | 
			
		||||
        indexLabel: "{label} (#percent%)",
 | 
			
		||||
        yValueFormatString: "#,##0",
 | 
			
		||||
        indexLabelFontColor: "white",
 | 
			
		||||
        toolTipContent:
 | 
			
		||||
          "<span style='\"'color: {color};'\"'>{label}</span> {y}(#percent%)",
 | 
			
		||||
        dataPoints: [
 | 
			
		||||
          { label: "Organic Traffic", y: 130631 },
 | 
			
		||||
          { label: "Direct", y: 28874 },
 | 
			
		||||
          { label: "Referral", y: 15467 },
 | 
			
		||||
          { label: "Social", y: 10543 },
 | 
			
		||||
          { label: "Email", y: 5613 },
 | 
			
		||||
          { label: "Others", y: 8492 },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
    ],
 | 
			
		||||
  },
 | 
			
		||||
  styleOptions: {
 | 
			
		||||
    width: "100%",
 | 
			
		||||
    height: "100%",
 | 
			
		||||
  },
 | 
			
		||||
  methods : {
 | 
			
		||||
    chartInstance(chart){
 | 
			
		||||
      console.log(chart)
 | 
			
		||||
      this.chart = chart;
 | 
			
		||||
    },
 | 
			
		||||
    update(){
 | 
			
		||||
      this.chart.render();
 | 
			
		||||
      setTimeout(this.update, 1000);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
<div id="main">
 | 
			
		||||
  <div id="profilePicture">
 | 
			
		||||
    <img src="/Clyde.png">
 | 
			
		||||
  </div>
 | 
			
		||||
  <div id="researcherInfos">
 | 
			
		||||
    <div class="surrounded" >
 | 
			
		||||
      John Doe
 | 
			
		||||
 | 
			
		||||
  <div id="main">
 | 
			
		||||
    <div id="profilePicture">
 | 
			
		||||
      <img src="/Clyde.png" />
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="surrounded" >
 | 
			
		||||
      Orcid :
 | 
			
		||||
      12144-2144-12336-B
 | 
			
		||||
    <div id="researcherInfos">
 | 
			
		||||
      <div class="surrounded">John Doe</div>
 | 
			
		||||
      <div class="surrounded">Orcid : 12144-2144-12336-B</div>
 | 
			
		||||
      <div class="surrounded">Email : John.Doe@umons.ac.be</div>
 | 
			
		||||
 | 
			
		||||
      <div class="surrounded">
 | 
			
		||||
        site :
 | 
			
		||||
        <a href="http://localhost:5173" style="color: #007aff">here</a>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="surrounded">Domain : physics, IT</div>
 | 
			
		||||
      <div id="coAuthorList" class="surrounded">Co-authors list : D</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="surrounded" >
 | 
			
		||||
      Email : John.Doe@umons.ac.be
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="surrounded" >
 | 
			
		||||
      site :
 | 
			
		||||
      <a href="http://localhost:5173" style="color: #007aff">here</a>
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="surrounded" >
 | 
			
		||||
      Domain : physics, IT
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="coAuthorList" class="surrounded">
 | 
			
		||||
     Co-authors list : D
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
  </div>
 | 
			
		||||
  <div id="stats">
 | 
			
		||||
    <div class="surrounded">
 | 
			
		||||
      Stat type : <select name="stats" id="stats-select">
 | 
			
		||||
      <option value="views">Views</option>
 | 
			
		||||
      <option value="co-authors">Co-authors</option>
 | 
			
		||||
      <option value="articles">Articles</option>
 | 
			
		||||
      <option value="language">Languages</option>
 | 
			
		||||
    </select>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="surrounded">
 | 
			
		||||
      Class by: <select name="classedBy" id="classed-select">
 | 
			
		||||
      <option value="years">Years</option>
 | 
			
		||||
      <option value="months">Months</option>
 | 
			
		||||
      <option value="topics">Topics</option>
 | 
			
		||||
    </select>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="statsPie">
 | 
			
		||||
			  <CanvasJSChart :options="mydata.options" @chart-ref="chartRef"/> 
 | 
			
		||||
    <div id="stats">
 | 
			
		||||
      <div class="surrounded">
 | 
			
		||||
        Stat type :
 | 
			
		||||
        <select @change="mydata.methods.update()" name="stats" id="stats-select" v-model="statsOf">
 | 
			
		||||
          <option value="views">Views</option>
 | 
			
		||||
          <option value="co-authors">Co-authors</option>
 | 
			
		||||
          <option value="articles">Articles</option>
 | 
			
		||||
          <option value="language">Languages</option>
 | 
			
		||||
        </select>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="surrounded">
 | 
			
		||||
        Class by:
 | 
			
		||||
        <select @change="mydata.methods.update()"  name="classedBy" id="classed-select" v-model="statsBy">
 | 
			
		||||
          <option selected="selected" value="years">Years</option>
 | 
			
		||||
          <option value="months">Months</option>
 | 
			
		||||
          <option value="topics">Topics</option>
 | 
			
		||||
        </select>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div id="statsPie">
 | 
			
		||||
        <CanvasJSChart :options="mydata.options" :style="mydata.styleOptions" @chart-ref="mydata.methods.chartInstance(this)"/>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="articles">
 | 
			
		||||
      <input
 | 
			
		||||
        type="text"
 | 
			
		||||
        id="search-input"
 | 
			
		||||
        :onkeyup="inputKeyUp()"
 | 
			
		||||
        placeholder="search articles"
 | 
			
		||||
        v-model="input"
 | 
			
		||||
      />
 | 
			
		||||
      <ul id="myUL">
 | 
			
		||||
        <li><a href="#">Adele</a></li>
 | 
			
		||||
        <li><a href="#">Agnes</a></li>
 | 
			
		||||
 | 
			
		||||
        <li><a href="#">Billy</a></li>
 | 
			
		||||
        <li><a href="#">Bob</a></li>
 | 
			
		||||
 | 
			
		||||
        <li><a href="#">Calvin</a></li>
 | 
			
		||||
        <li><a href="#">Christina</a></li>
 | 
			
		||||
        <li><a href="#">Cindy</a></li>
 | 
			
		||||
      </ul>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div id="articles">
 | 
			
		||||
    <input type="text" id="search-input" :onkeyup="inputKeyUp()" placeholder="search articles" v-model="input">
 | 
			
		||||
    <ul id="myUL">
 | 
			
		||||
      <li><a href="#">Adele</a></li>
 | 
			
		||||
      <li><a href="#">Agnes</a></li>
 | 
			
		||||
 | 
			
		||||
      <li><a href="#">Billy</a></li>
 | 
			
		||||
      <li><a href="#">Bob</a></li>
 | 
			
		||||
 | 
			
		||||
      <li><a href="#">Calvin</a></li>
 | 
			
		||||
      <li><a href="#">Christina</a></li>
 | 
			
		||||
      <li><a href="#">Cindy</a></li>
 | 
			
		||||
    </ul>
 | 
			
		||||
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
 | 
			
		||||
#main {
 | 
			
		||||
  display: grid;
 | 
			
		||||
  grid-template-columns: 22% auto;
 | 
			
		||||
@ -137,31 +143,33 @@
 | 
			
		||||
  width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#profilePicture {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
}
 | 
			
		||||
#profilePicture img{
 | 
			
		||||
 | 
			
		||||
#profilePicture img {
 | 
			
		||||
  align-self: center;
 | 
			
		||||
  justify-self: center;
 | 
			
		||||
  width:60%;
 | 
			
		||||
  width: 60%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#researcherInfos {
 | 
			
		||||
  display: grid;
 | 
			
		||||
  grid-template-columns: auto auto auto;
 | 
			
		||||
  column-gap: 5px;
 | 
			
		||||
  grid-template-rows: auto auto ;
 | 
			
		||||
  grid-template-rows: auto auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.surrounded {
 | 
			
		||||
  border:2px solid black;
 | 
			
		||||
  color:white;
 | 
			
		||||
  border: 2px solid black;
 | 
			
		||||
  color: white;
 | 
			
		||||
  font-size: x-large;
 | 
			
		||||
  align-self: center;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  background-color: rgba(255, 255, 255, 0.09);
 | 
			
		||||
  border-radius:20px;margin-bottom:10px;
 | 
			
		||||
  border-radius: 20px;
 | 
			
		||||
  margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.surrounded select {
 | 
			
		||||
@ -169,46 +177,54 @@
 | 
			
		||||
  margin-bottom: 2px;
 | 
			
		||||
  border: 1px solid black;
 | 
			
		||||
  color: white;
 | 
			
		||||
  background-color: rgb(255,255,255,0.1);
 | 
			
		||||
  background-color: rgb(255, 255, 255, 0.1);
 | 
			
		||||
  font-size: large;
 | 
			
		||||
  align-self: center;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#stats {
 | 
			
		||||
#statsPie {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#articles {
 | 
			
		||||
  background-color: orange;
 | 
			
		||||
}
 | 
			
		||||
#search-input{
 | 
			
		||||
 | 
			
		||||
#search-input {
 | 
			
		||||
  width: 60%;
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
  padding: 12px 20px 12px 40px;
 | 
			
		||||
  border: 1px solid #ddd;
 | 
			
		||||
  margin-bottom: 12px;
 | 
			
		||||
}
 | 
			
		||||
#myUL{
 | 
			
		||||
 | 
			
		||||
#myUL {
 | 
			
		||||
  list-style-type: none;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#myUL li a {
 | 
			
		||||
  border: 1px solid #ddd; /* Add a border to all links */
 | 
			
		||||
  margin-top: -1px; /* Prevent double borders */
 | 
			
		||||
  background-color: #f6f6f6; /* Grey background color */
 | 
			
		||||
  padding: 12px; /* Add some padding */
 | 
			
		||||
  text-decoration: none; /* Remove default text underline */
 | 
			
		||||
  font-size: 18px; /* Increase the font-size */
 | 
			
		||||
  color: black; /* Add a black text color */
 | 
			
		||||
  display: block; /* Make it into a block element to fill the whole list */
 | 
			
		||||
  border: 1px solid #ddd;
 | 
			
		||||
  /* Add a border to all links */
 | 
			
		||||
  margin-top: -1px;
 | 
			
		||||
  /* Prevent double borders */
 | 
			
		||||
  background-color: #f6f6f6;
 | 
			
		||||
  /* Grey background color */
 | 
			
		||||
  padding: 12px;
 | 
			
		||||
  /* Add some padding */
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
  /* Remove default text underline */
 | 
			
		||||
  font-size: 18px;
 | 
			
		||||
  /* Increase the font-size */
 | 
			
		||||
  color: black;
 | 
			
		||||
  /* Add a black text color */
 | 
			
		||||
  display: block;
 | 
			
		||||
  /* Make it into a block element to fill the whole list */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#myUL li a:hover:not(.header) {
 | 
			
		||||
  background-color: #eee;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user