master #173
| @ -165,7 +165,7 @@ window.addEventListener('hashchange', () => { | ||||
| 		border-color:black; | ||||
| 		height: 100%; | ||||
| 		position: fixed; | ||||
| 		overflow:; | ||||
| 		overflow: scroll; | ||||
| 		transition-duration: .3s; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| @ -3,6 +3,7 @@ import { ref} from "vue"; | ||||
| import FilterComponent from "@/Apps/ScientificPublications/FilterComponent.vue"; | ||||
| import ArticleComponent from "@/Apps/ScientificPublications/ResearchComponent.vue"; | ||||
| import {getFile, fetchAllResearches, addView} from "@/rest/ScientificPublications/ManageResearch.js"; | ||||
| import {fetchResearch} from "@/rest/ScientificPublications/ResearcherProfile.js"; | ||||
| const input = ref("") | ||||
| const isFilterOpened = ref(false); | ||||
| const isResearchOpened = ref(false); | ||||
| @ -37,9 +38,10 @@ const downloadBibTex = (research) => { | ||||
|   getFile(research.bibTexLocation) | ||||
| } | ||||
|  | ||||
| const downloadArticle = (research) => { | ||||
|   addView(research.pdfLocation) | ||||
|   getFile(research.pdfLocation) | ||||
| async function downloadArticle (research){ | ||||
|   await addView(research.pdfLocation) | ||||
|   await getFile(research.pdfLocation) | ||||
|   articleToDisplay.value = await fetchResearch(articleToDisplay.value.id) | ||||
| } | ||||
|  | ||||
| function downloadCoAuthors(){ | ||||
| @ -97,12 +99,12 @@ function lDistance(s,t){ | ||||
|       <button id="filterButton" @click="openFilter">  Filters </button> | ||||
|       <button v-if="!isResearcher" id="unToggledResearchButton" @click="isResearcher = !isResearcher">  Toggle Researcher Search</button> | ||||
|       <button v-if="isResearcher" id="toggledResearchButton" @click="isResearcher = !isResearcher">  UnToggle Researcher Search</button> | ||||
|  | ||||
|     </div> | ||||
|     <ul id="researchUL"> | ||||
|       <li id="researchLi" v-for="n in searchInList(researchList,input)"> | ||||
|         <div class="vl"> {{n.title}}</div> | ||||
|         <div class="vl"> {{ n.researcher.user.firstName +" "+ n.researcher.user.lastName }}</div> | ||||
|         <div class="vl"> <a :href="'#/researcher-profile?id=' + n.researcher.id"> {{ n.researcher.user.firstName +" "+ n.researcher.user.lastName }}</a> | ||||
|         </div> | ||||
|         <a @click="openResearch(n)"> MoreInfo  </a></li> | ||||
|     </ul> | ||||
|   </div> | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
| import { ref, reactive } from "vue"; | ||||
| import FilterComponent from "@/Apps/ScientificPublications/FilterComponent.vue"; | ||||
| import ArticleComponent from "@/Apps/ScientificPublications/ResearchComponent.vue"; | ||||
| import {fetchResearcher, fetchResearches, fetchStats} from "@/rest/ScientificPublications/ResearcherProfile.js"; | ||||
| import {fetchResearcher, fetchResearches, fetchStats, fetchResearch} from "@/rest/ScientificPublications/ResearcherProfile.js"; | ||||
| import {getFile, addView} from "@/rest/ScientificPublications/ManageResearch.js"; | ||||
| const input = ref(""); | ||||
| const statsOf = ref(""); | ||||
| @ -20,16 +20,18 @@ const articleToDisplay = ref(Object) | ||||
| const filters = ref([]); | ||||
| let chart; | ||||
|  | ||||
| const researchList = ref(await fetchResearches(1)); | ||||
| //todo changer dynamiquement le 1 ici en fct de sur quel profil on est | ||||
| const researcher = ref(await fetchResearcher(1)); | ||||
| const stats = ref(await fetchStats(1)) | ||||
| const researcherId = window.location.href.split("=")[1] | ||||
|  | ||||
| const props = defineProps({ | ||||
|   researcherId: ref(), //int | ||||
|   filters: ref([""]), | ||||
|   filters: ref([]), | ||||
| }); | ||||
|  | ||||
|  | ||||
|  | ||||
| const researchList = ref(await fetchResearches(researcherId)); | ||||
| const researcher = ref(await fetchResearcher(researcherId)); | ||||
| const stats = ref(await fetchStats(researcherId)) | ||||
|  | ||||
| const openFilter = () => { | ||||
|   isFilterOpened.value = true; | ||||
| }; | ||||
| @ -52,9 +54,12 @@ const downloadBibTex = (research) => { | ||||
|   getFile(research.bibTexLocation) | ||||
| } | ||||
|  | ||||
| const downloadArticle = (research) => { | ||||
|   addView(research.pdfLocation) | ||||
|   getFile(research.pdfLocation) | ||||
| async function downloadArticle (research) { | ||||
|   await addView(research.pdfLocation) | ||||
|   await getFile(research.pdfLocation) | ||||
|   articleToDisplay.value = await fetchResearch(articleToDisplay.value.id) | ||||
|   stats.value = await fetchStats(researcher.value.id) | ||||
|   update() | ||||
| } | ||||
|  | ||||
| function downloadCoAuthors(){ | ||||
|  | ||||
| @ -29,8 +29,8 @@ export async function fetchAllResearches(){ | ||||
|  | ||||
| export async function getFile(url){ | ||||
|     const restURL = import.meta.env.VITE_CLYDE_MODE === 'container' ? "http://localhost:8000": import.meta.env.DEV ? "http://localhost:5173" : "https://clyde.herisson.ovh/api" | ||||
|     await fetch(restURL + "/"+url, {method: "GET"}) | ||||
|     await fetch(restURL + "/" + url, {method: "GET"}) | ||||
| } | ||||
| export async function addView(url){ | ||||
|     return restPost("/addview/" +url) | ||||
|     return restPost("/addview/" + url) | ||||
| } | ||||
|  | ||||
| @ -10,4 +10,8 @@ export async function fetchResearches(id){ | ||||
|  | ||||
| export async function fetchStats(id){ | ||||
|     return restGet("/stats/" +id) | ||||
| } | ||||
|  | ||||
| export async function fetchResearch(id){ | ||||
|     return restGet("/research/" +id) | ||||
| } | ||||
| @ -14,6 +14,7 @@ import Msg from "@/Apps/Msg.vue" | ||||
| import ManageRequests from "@/Apps/Inscription/ManageRequests.vue"; | ||||
| import ManageResearcherProfile from "@/Apps/ScientificPublications/ManageResearcherProfile.vue"; | ||||
| import ListResearches from "@/Apps/ScientificPublications/ListResearches.vue"; | ||||
| import ResearcherProfile from "@/Apps/ScientificPublications/ResearcherProfile.vue"; | ||||
|  | ||||
| const apps = { | ||||
| 		'/login': LoginPage, | ||||
| @ -24,7 +25,8 @@ const apps = { | ||||
| 		'/students-list' : Students, | ||||
| 		'/manage-researcher-profile' : ManageResearcherProfile, | ||||
| 		'/msg' : Msg, | ||||
| 		'/researches' : ListResearches | ||||
| 		'/researches' : ListResearches, | ||||
| 		'/researcher-profile': ResearcherProfile | ||||
| } | ||||
|  | ||||
| const appsList = { | ||||
| @ -44,7 +46,7 @@ const appsList = { | ||||
| const currentPath = ref(window.location.hash) | ||||
|  | ||||
| export const currentView = computed(() => { | ||||
| 		return apps[currentPath.value.slice(1) || '/'] | ||||
| 		return apps[currentPath.value.split("?")[0].slice(1) || '/'] | ||||
| }) | ||||
|  | ||||
| /** | ||||
|  | ||||
		Reference in New Issue
	
	Block a user