diff --git a/packages/portal/assets/css/bootstrap-override.css b/packages/portal/assets/css/bootstrap-override.css index ae6e3143..4a3a160c 100644 --- a/packages/portal/assets/css/bootstrap-override.css +++ b/packages/portal/assets/css/bootstrap-override.css @@ -123,3 +123,7 @@ a:focus{ padding: .5rem; } + +.b-form-tag { + margin-bottom: 0.25rem; +} diff --git a/packages/portal/assets/css/list.css b/packages/portal/assets/css/list.css new file mode 100644 index 00000000..d6d4ce47 --- /dev/null +++ b/packages/portal/assets/css/list.css @@ -0,0 +1,36 @@ +.list { + display: flex; + flex-direction: column; +} + +.list .list-items { + padding: 0; + margin: 0; +} + +.list-header, +.list-search { + margin-bottom: 0.5rem; +} + +.list .list-item { + padding: 0.25rem 0.25rem; + margin-bottom: 0.5rem; + vertical-align: middle; + display: flex; + flex-direction: column; + align-items: center; +} + +.list .list-card { + background-color: #ececec; + border: 1px solid #dedede; + + box-shadow: 0 4px 25px 0 rgba(0,0,0,.1); + transition: all .3s ease-in-out; + + border-radius: 4px; + + padding: 0.5rem 1rem; + width: 100%; +} diff --git a/packages/portal/nuxt.config.ts b/packages/portal/nuxt.config.ts index 04998612..6ef46f31 100644 --- a/packages/portal/nuxt.config.ts +++ b/packages/portal/nuxt.config.ts @@ -10,6 +10,7 @@ export default defineNuxtConfig({ css: [ '@fortawesome/fontawesome-free/css/all.css', 'bootstrap/dist/css/bootstrap.css', + 'bootstrap-vue-next/dist/bootstrap-vue-next.css', '@/assets/css/bootstrap-override.css', '@/assets/css/layout/body.css', '@/assets/css/layout/footer.css', @@ -18,6 +19,7 @@ export default defineNuxtConfig({ '@/assets/css/layout/shared.css', '@/assets/css/layout/sidebar.css', '@/assets/css/vue-layout-navigation.css', + '@/assets/css/list.css', ], alias: { '@dnpm-dip/core': path.join(__dirname, '..', 'core', 'src'), diff --git a/packages/portal/package.json b/packages/portal/package.json index c35bea7d..91629e34 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -27,6 +27,7 @@ "@vue-layout/preset-font-awesome": "^3.0.0", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", + "bootstrap-vue-next": "^0.14.10", "bootstrap": "^5.3.2", "nuxt": "^3.8.0", "vue": "^3.3.5", diff --git a/packages/rare-diseases/src/runtime/components/FormSelectSearch.vue b/packages/rare-diseases/src/runtime/components/FormSelectSearch.vue index 14f3d584..dc89b391 100644 --- a/packages/rare-diseases/src/runtime/components/FormSelectSearch.vue +++ b/packages/rare-diseases/src/runtime/components/FormSelectSearch.vue @@ -61,7 +61,7 @@ export default defineComponent({ default: 6, }, }, - emits: ['update:modelValue'], + emits: ['update:modelValue', 'changed'], async setup(props, { emit }) { const q = ref(''); q.value = props.modelValue; @@ -100,6 +100,7 @@ export default defineComponent({ q.value = option.value; emit('update:modelValue', option.id); + emit('changed', option); }; const display = () => { diff --git a/packages/rare-diseases/src/runtime/components/SearchForm.vue b/packages/rare-diseases/src/runtime/components/SearchForm.vue index 1b7e9816..b8af1cb3 100644 --- a/packages/rare-diseases/src/runtime/components/SearchForm.vue +++ b/packages/rare-diseases/src/runtime/components/SearchForm.vue @@ -1,94 +1,90 @@ + diff --git a/packages/rare-diseases/src/runtime/domains/query/types.ts b/packages/rare-diseases/src/runtime/domains/query/types.ts index 8bdbbda8..3c434527 100644 --- a/packages/rare-diseases/src/runtime/domains/query/types.ts +++ b/packages/rare-diseases/src/runtime/domains/query/types.ts @@ -6,7 +6,7 @@ export type RDQueryCriteriaScopeValue = { }; export type RDQueryCriteriaScopes = { - diagnoses?: Record[], + diagnoses?: RDQueryCriteriaScopeValue[], hpoTerms?: RDQueryCriteriaScopeValue[], variants?: Record[] }; diff --git a/packages/rare-diseases/src/runtime/pages/query/[id]/index.vue b/packages/rare-diseases/src/runtime/pages/query/[id]/index.vue index fb09ee49..8dea6c10 100644 --- a/packages/rare-diseases/src/runtime/pages/query/[id]/index.vue +++ b/packages/rare-diseases/src/runtime/pages/query/[id]/index.vue @@ -2,10 +2,12 @@ import { Nav } from '@dnpm-dip/core'; import type { PropType } from 'vue'; import { defineNuxtComponent } from '#app'; +import QueryPatientList from '../../../components/QueryPatientList'; import type { RDQuerySession } from '../../../domains'; export default defineNuxtComponent({ components: { + QueryPatientList, Nav, }, props: { @@ -15,34 +17,99 @@ export default defineNuxtComponent({ }, }, setup() { - const navItems = [ - { - name: 'Overview', icon: 'fas fa-bars', urlSuffix: '', - }, - { - name: 'Summary', icon: 'fa-solid fa-newspaper', urlSuffix: '/summary', - }, - ]; - return { - navItems, - }; }, }); diff --git a/packages/rare-diseases/src/runtime/pages/query/[id]/index/index.vue b/packages/rare-diseases/src/runtime/pages/query/[id]/index/index.vue deleted file mode 100644 index 3c7add55..00000000 --- a/packages/rare-diseases/src/runtime/pages/query/[id]/index/index.vue +++ /dev/null @@ -1,79 +0,0 @@ - - diff --git a/packages/rare-diseases/src/runtime/pages/query/[id]/index/summary.vue b/packages/rare-diseases/src/runtime/pages/query/[id]/index/summary.vue deleted file mode 100644 index 744658ae..00000000 --- a/packages/rare-diseases/src/runtime/pages/query/[id]/index/summary.vue +++ /dev/null @@ -1,30 +0,0 @@ - - diff --git a/packages/rare-diseases/src/runtime/pages/search.vue b/packages/rare-diseases/src/runtime/pages/search.vue index 1d00106d..17e01643 100644 --- a/packages/rare-diseases/src/runtime/pages/search.vue +++ b/packages/rare-diseases/src/runtime/pages/search.vue @@ -1,7 +1,8 @@