diff --git a/CHANGELOG.md b/CHANGELOG.md index b26c91f9..126a0571 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [2.3.0] - 2024-07-30 + +### Added + +* New endpoint for fetching statistics about a library pool +* Pool composition table added to the QC View for any well. Folded away by default +* Barcode names from MLWH are now available to front and back end code + +### Fixed + +* Well detail fetching errors now produce a visible warning that was previously lost + ## [2.2.0] - 2024-06-11 ### Added diff --git a/frontend/Dockerfile b/frontend/Dockerfile index fbcdb61c..ba06ed88 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -27,4 +27,4 @@ COPY ./vite.config.js /code/longue_vue/vite.config.js COPY ./index.html /code/longue_vue/index.html COPY ./.env /code/longue_vue/.env -CMD ["npm", "exec", "vite", "--", "--host", "--port", "80", "--base", "/ui/"] +CMD ["npm", "run", "dev", "--", "--host", "--port", "80", "--base", "/ui/"] diff --git a/frontend/package.json b/frontend/package.json index 2c6e988d..ff80aab6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "npg-longue-vue", - "version": "2.2.0", + "version": "2.3.0", "description": "UI for LangQC", "author": "Kieron Taylor ", "license": "GPL-3.0-or-later", @@ -10,9 +10,9 @@ }, "type": "module", "scripts": { - "dev": "vite --port 3000", + "dev": "vite --port 80 --mode development", "build": "vite build", - "preview": "vite preview --port 3000", + "preview": "vite preview --port 80", "test": "vitest run", "coverage": "vitest run --coverage", "test:e2e:ci": "start-server-and-test preview http://localhost:3000/ 'cypress run --e2e'", diff --git a/frontend/src/App.vue b/frontend/src/App.vue index ca6dfc25..ba59ee2f 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,7 +1,7 @@ + + diff --git a/frontend/src/components/QcView.vue b/frontend/src/components/QcView.vue index 0ab4c6aa..2f70161e 100644 --- a/frontend/src/components/QcView.vue +++ b/frontend/src/components/QcView.vue @@ -3,15 +3,20 @@ * An information view containing run data and metrics useful for QC assessment */ - import { computed } from "vue"; + import { computed, ref, watch } from "vue"; import groupMetrics from "../utils/metrics.js"; import { combineLabelWithPlate } from "../utils/text.js" + import PoolStats from "./PoolStats.vue"; + import LangQc from "../utils/langqc"; + + + const dataClient = new LangQc() const props = defineProps({ // Well object representing one prepared input for the instrument // Expects content in the form of lang_qc/models/pacbio/well.py:PacBioWellFull well: Object, - }); + }) const slURL = computed(() => { let hostname = props.well.metrics.smrt_link.hostname @@ -98,6 +103,23 @@ return '' }) + const poolStats = ref(null) + watch(() => props.well, () => { + poolStats.value = null // empty in case next well doesn't have a pool + if (ssLimsNumSamples.value > 0) { + dataClient.getPoolMetrics(props.well.id_product).then( + (response) => { poolStats.value = response } + ).catch((error) => { + if (error.message.match("Conflict")) { + // Nothing to do + } else { + console.log(error) + // make a banner show this error? + } + }) + } + }, { immediate: true } + )