diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f943d18b85c705bd5e5b8aa92adb86473ea5522b..3ff3ec3b0e2ba8f31c19f9636e3d49412e2abb9a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -97,7 +97,7 @@ build-data-service: expire_in: 1 days build-ui: - image: oven/bun:1.0.26-alpine + image: oven/bun:1.1.20-alpine stage: build script: - "cd ./dbrepo-ui && bun install && bun run build" @@ -299,6 +299,21 @@ test-lib: junit: ./lib/python/report.xml coverage: '/TOTAL.*?([0-9]{1,3})%/' +test-ui: + stage: test + image: docker.io/docker:24-dind + variables: + UI_RUNTIME_OPTIONS: --max_old_space_size=256 + needs: + - build-ui + dependencies: + - build-ui + before_script: + - docker compose build dbrepo-ui + - docker compose up -d dbrepo-ui + script: + - bash ./dbrepo-ui/test/test_heap.sh || exit 1 + scan-sonarqube: image: sonarsource/sonar-scanner-cli:10.0 stage: scan diff --git a/dbrepo-dashboard-service/dashboards/system.json b/dbrepo-dashboard-service/dashboards/system.json index abb4b61243d65dd3f3a8c3d2f4b53c8e87863575..e37d7be19f66f2b9b39928d85fe1741e45db760f 100644 --- a/dbrepo-dashboard-service/dashboards/system.json +++ b/dbrepo-dashboard-service/dashboards/system.json @@ -18,7 +18,6 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "id": 3, "links": [ { "asDropdown": false, @@ -1282,7 +1281,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -1440,7 +1440,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -1602,7 +1603,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -1724,7 +1726,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -1817,6 +1820,6 @@ "timezone": "browser", "title": "NEW", "uid": "bdz20owu8zn5se1", - "version": 31, + "version": 1, "weekStart": "" } \ No newline at end of file diff --git a/dbrepo-ui/Dockerfile b/dbrepo-ui/Dockerfile index eef243cca855f6cf18275b8f29231332c420e886..a73e31674fd8b7b755779bc5aa479855c3e6ffd8 100644 --- a/dbrepo-ui/Dockerfile +++ b/dbrepo-ui/Dockerfile @@ -25,7 +25,7 @@ COPY ./nuxt.config.ts ./nuxt.config.ts RUN bun run build -FROM node:18.19.0-alpine3.19 AS runtime +FROM node:22.9.0-alpine3.20 AS runtime ARG APP_VERSION="latest" ARG COMMIT="" @@ -42,7 +42,6 @@ RUN chmod -R 755 /app/.output ENV NUXT_PUBLIC_VERSION="${APP_VERSION:-}" ENV NUXT_PUBLIC_COMMIT="${COMMIT:-}" -ENV NODE_OPTIONS="--max_old_space_size=256" EXPOSE 3000 diff --git a/dbrepo-ui/components/OntologiesList.vue b/dbrepo-ui/components/OntologiesList.vue index c3ffd3994541bf29dfa7c3f091d6089760624f86..44f0eddc3f4c8b3542cd1b7f237cac05603c6375 100644 --- a/dbrepo-ui/components/OntologiesList.vue +++ b/dbrepo-ui/components/OntologiesList.vue @@ -8,10 +8,12 @@ rounded="0"> <v-divider class="mx-4" /> - <v-card-title - v-text="ontology.prefix" /> - <v-card-subtitle - v-text="ontology.uri" /> + <v-card-title> + {{ ontology.prefix }} + </v-card-title> + <v-card-subtitle> + {{ ontology.uri }} + </v-card-subtitle> <v-card-text> <div class="db-tags"> diff --git a/dbrepo-ui/components/container/ContainerCard.vue b/dbrepo-ui/components/container/ContainerCard.vue index b2937cf6b4fb7f1a243056ea52ccd4649e205772..ed1479f64d3ad8043968e03edbfcd940190e3fb6 100644 --- a/dbrepo-ui/components/container/ContainerCard.vue +++ b/dbrepo-ui/components/container/ContainerCard.vue @@ -4,9 +4,12 @@ variant="flat" rounded="0"> <v-divider class="mx-4" /> - <v-card-title - v-text="container.name" /> - <v-card-subtitle v-text="$t('pages.container.subtitle.text')" /> + <v-card-title> + {{ container.name }} + </v-card-title> + <v-card-subtitle> + {{ $t('pages.container.subtitle.text') }} + </v-card-subtitle> <v-card-text> <v-progress-linear v-model="utilization" diff --git a/dbrepo-ui/components/database/DatabaseCard.vue b/dbrepo-ui/components/database/DatabaseCard.vue index 48aefa7493ce5beb52d8ec62cf794d64368b8489..fba3853a31cf25649f915d4c0a3e422f5ec879bf 100644 --- a/dbrepo-ui/components/database/DatabaseCard.vue +++ b/dbrepo-ui/components/database/DatabaseCard.vue @@ -9,8 +9,9 @@ <v-divider class="mx-4" /> <v-card-title> <span - class="text-primary text-decoration-underline" - v-text="formatTitle(database)" /> + class="text-primary text-decoration-underline"> + {{ formatTitle(database) }} + </span> <v-progress-circular v-if="loading" color="primary" @@ -18,56 +19,66 @@ class="ml-1" indeterminate /> </v-card-title> - <v-card-subtitle - v-text="formatCreators(database)" /> + <v-card-subtitle> + {{ formatCreators(database) }} + </v-card-subtitle> <v-card-text> - <div v-text="identifierDescription(database)" /> + <div> + {{ identifierDescription(database) }} + </div> <div class="mt-2 db-tags"> <v-chip v-if="database.is_public" size="small" color="success" - :text="$t('toolbars.database.public')" - variant="outlined" /> + variant="outlined"> + {{ $t('toolbars.database.public') }} + </v-chip> <v-chip v-if="!database.is_public" size="small" :color="colorVariant" variant="outlined" - :text="$t('toolbars.database.private')" - flat /> + flat> + {{ $t('toolbars.database.private') }} + </v-chip> <v-chip v-if="identifierYear(database)" size="small" :color="colorVariant" - variant="outlined" - v-text="identifierYear(database)" /> + variant="outlined"> + {{ identifierYear(database) }} + </v-chip> <v-chip v-if="identifier(database)" size="small" :color="colorVariant" - variant="outlined" - v-text="identifierPublisher(database)" /> + variant="outlined"> + {{ identifierPublisher(database) }} + </v-chip> <v-chip v-for="(license, i) in identifierLicenses(database)" :key="`l-${i}`" size="small" color="success" - variant="outlined" - v-text="license.identifier" /> + variant="outlined"> + {{ license.identifier }} + </v-chip> <v-chip v-for="(funder, i) in identifierFunders(database)" :key="`f-${i}`" size="small" :color="colorVariant" - variant="outlined" - v-text="funder.funder_name" /> + variant="outlined"> + {{ funder.funder_name }} + </v-chip> <v-chip v-if="identifierLanguage(database)" size="small" :color="colorVariant" - variant="outlined" - v-text="identifierLanguage(database)" /> + variant="outlined"> + {{ identifierLanguage(database) }} + </v-chip> </div> </v-card-text> </v-card> diff --git a/dbrepo-ui/components/database/DatabaseCreate.vue b/dbrepo-ui/components/database/DatabaseCreate.vue index 8d909b4da350c1cbc10dfad7d595799aa3adee4e..5da87cebbda9731ae842636654a40ce6fdea14a8 100644 --- a/dbrepo-ui/components/database/DatabaseCreate.vue +++ b/dbrepo-ui/components/database/DatabaseCreate.vue @@ -6,9 +6,13 @@ autocomplete="off" @submit.prevent="submit"> <v-card - variant="elevated" - :title="$t('pages.database.subpages.create.title')" - :subtitle="$t('pages.database.subpages.create.subtitle')"> + variant="elevated"> + <v-card-title> + {{ $t('pages.database.subpages.create.title') }} + </v-card-title> + <v-card-subtitle> + {{ $t('pages.database.subpages.create.subtitle') }} + </v-card-subtitle> <v-card-text> <v-row dense> <v-col> @@ -58,16 +62,18 @@ <v-spacer /> <v-btn :variant="buttonVariant" - :text="$t('navigation.cancel')" - @click="cancel" /> + @click="cancel"> + {{ $t('navigation.cancel') }} + </v-btn> <v-btn :disabled="!valid || loading" color="primary" type="submit" variant="flat" - :text="$t('pages.database.subpages.create.submit.text')" :loading="loading" - @click="create" /> + @click="create"> + {{ $t('pages.database.subpages.create.submit.text') }} + </v-btn> </v-card-actions> </v-card> </v-form> diff --git a/dbrepo-ui/components/database/DatabaseToolbar.vue b/dbrepo-ui/components/database/DatabaseToolbar.vue index 741252475c31ef841260266d3d4fcb459b35cd64..5f3c8c83989bd20fa67f6f327fdc9676767acbb4 100644 --- a/dbrepo-ui/components/database/DatabaseToolbar.vue +++ b/dbrepo-ui/components/database/DatabaseToolbar.vue @@ -8,8 +8,9 @@ type="subtitle" width="200" /> <span - v-if="database && $vuetify.display.lgAndUp" - v-text="database.name" /> + v-if="database && $vuetify.display.lgAndUp"> + {{ database.name }} + </span> <v-chip v-if="database && database.is_public" size="small" diff --git a/dbrepo-ui/components/dialogs/DropTable.vue b/dbrepo-ui/components/dialogs/DropTable.vue index 1f62735de5e6ce549386894f525074f53d5cdd5a..d465c882d0529a817be21f836ea82739fc30155b 100644 --- a/dbrepo-ui/components/dialogs/DropTable.vue +++ b/dbrepo-ui/components/dialogs/DropTable.vue @@ -7,9 +7,13 @@ <v-card-text> <v-row dense> <v-col> - <span v-text="$t('pages.table.subpages.drop.warning.prefix')" /> + <span> + {{ $t('pages.table.subpages.drop.warning.prefix') }} + </span> <code class="code-key">{{ table.internal_name }}</code> - <span v-text="$t('pages.table.subpages.drop.warning.suffix')" /> + <span> + {{ $t('pages.table.subpages.drop.warning.suffix') }} + </span> </v-col> </v-row> <v-row> diff --git a/dbrepo-ui/components/dialogs/Semantics.vue b/dbrepo-ui/components/dialogs/Semantics.vue index a4a7104788ce1e12460ad693ac543058b60cdf6c..8d3c573f7b205368fd354372a9e166f2ee81a14f 100644 --- a/dbrepo-ui/components/dialogs/Semantics.vue +++ b/dbrepo-ui/components/dialogs/Semantics.vue @@ -12,14 +12,21 @@ <v-alert border="start" color="info"> - <p - v-text="$t('pages.table.subpages.semantics.info')" /> + <p> + {{ $t('pages.table.subpages.semantics.info') }} + </p> <p class="mt-1" v-for="(ontology, idx) in ontologies" :key="`o-${idx}`"> - <v-badge inline :content="badge(ontology).text" :color="badge(ontology).color"> - <a :href="ontology.uri" v-text="ontology.uri_pattern" /> + <v-badge + inline + :content="badge(ontology).text" + :color="badge(ontology).color"> + <a + :href="ontology.uri"> + {{ ontology.uri_pattern }} + </a> </v-badge> </p> </v-alert> @@ -34,11 +41,13 @@ color="info"> <p> <a - :href="entity.uri" - v-text="entity.name ? entity.name : entity.uri" /> + :href="entity.uri"> + {{ entity.name ? entity.name : entity.uri }} + </a> + </p> + <p> + {{ entity.description }} </p> - <p - v-text="entity.description" /> </v-alert> </v-col> </v-row> @@ -65,8 +74,9 @@ lines="one" v-model="recommendation" select-strategy="single-independent"> - <v-list-subheader - v-text="$t('pages.table.subpages.semantics.recommended')" /> + <v-list-subheader> + {{ $t('pages.table.subpages.semantics.recommended') }} + </v-list-subheader> <v-list-item v-for="(item, idx) in recommendations" :key="`r-${idx}`" @@ -77,8 +87,12 @@ <v-checkbox-btn :model-value="isActive"></v-checkbox-btn> </v-list-item-action> </template> - <v-list-item-title v-text="item.label" /> - <v-list-item-subtitle v-text="subtitle(item)" /> + <v-list-item-title> + {{ item.label }} + </v-list-item-title> + <v-list-item-subtitle> + {{ subtitle(item) }} + </v-list-item-subtitle> </v-list-item> </v-list> </v-col> diff --git a/dbrepo-ui/components/dialogs/ViewSemanticEntity.vue b/dbrepo-ui/components/dialogs/ViewSemanticEntity.vue index ede7fe25bcd421c0304f41d224be7615598a9251..41b69f89892e3068a781e5cac0ffafee767c473a 100644 --- a/dbrepo-ui/components/dialogs/ViewSemanticEntity.vue +++ b/dbrepo-ui/components/dialogs/ViewSemanticEntity.vue @@ -1,17 +1,32 @@ <template> <div> <v-card> - <v-card-title v-text="entity.name" /> + <v-card-title> + {{ entity.name }} + </v-card-title> <v-card-subtitle> - <a :href="entity.uri" target="_blank" v-text="entity.uri" /> + <a + :href="entity.uri" + target="_blank"> + {{ entity.uri }} + </a> </v-card-subtitle> <v-card-text> - <p v-text="description" /> + <p> + {{ description }} + </p> </v-card-text> - <div v-for="(item,idx) in entity.columns" :key="idx"> + <div + v-for="(item,idx) in entity.columns" + :key="idx"> <v-list-item two-line :to="link(item)"> - <v-list-item-title v-text="item.name" /> - <v-list-item-subtitle class="mt-2" v-text="link(item)" /> + <v-list-item-title> + {{ item.name }} + </v-list-item-title> + <v-list-item-subtitle + class="mt-2"> + {{ link(item) }} + </v-list-item-subtitle> </v-list-item> </div> <v-card-actions> diff --git a/dbrepo-ui/components/identifier/Citation.vue b/dbrepo-ui/components/identifier/Citation.vue index 6f35ac915e255610965015ccd16adcf1dad03597..7cd99194b099987f3853fde4afd7bf92f463dd38 100644 --- a/dbrepo-ui/components/identifier/Citation.vue +++ b/dbrepo-ui/components/identifier/Citation.vue @@ -1,7 +1,10 @@ <template> - <v-row no-gutters> - <v-col v-if="!loading" md="10"> - <pre v-text="citation" /> + <v-row + no-gutters> + <v-col + v-if="!loading" + md="10"> + <pre>{{ citation }}</pre> </v-col> <v-col v-if="!$vuetify.display.mdAndDown" diff --git a/dbrepo-ui/components/identifier/Creators.vue b/dbrepo-ui/components/identifier/Creators.vue index 706736b21b155f5dc0265b0993f23b435bd5c345..8aa5fac7aa7f06ca809179a3903a5e23830504e4 100644 --- a/dbrepo-ui/components/identifier/Creators.vue +++ b/dbrepo-ui/components/identifier/Creators.vue @@ -16,12 +16,14 @@ v-if="hasRor(personOrOrg)" class="mr-1" :ror="personOrOrg.name_identifier" /> - <span - v-text="personOrOrg.creator_name" /> + <span> + {{ personOrOrg.creator_name }} + </span> <sup v-if="hasAffiliation(personOrOrg)" - v-text="personOrOrg.affiliation_index" - class="ml-1" /> + class="ml-1"> + {{ personOrOrg.affiliation_index }} + </sup> <span v-if="!isLast(creators, i)">; </span> </span> @@ -30,7 +32,9 @@ <span v-for="(affiliation, i) in affiliations" :key="`c-${i}`"> - <sup v-text="i+1" /> + <sup> + {{ i+1 }} + </sup> {{ affiliation.name }} <RorIcon v-if="hasRor(affiliation)" diff --git a/dbrepo-ui/components/identifier/Persist.vue b/dbrepo-ui/components/identifier/Persist.vue index 0de61931265d5359c07637d935aa9101a1ebca6a..1795d058660ff08288b9054435e44362d84cf0e7 100644 --- a/dbrepo-ui/components/identifier/Persist.vue +++ b/dbrepo-ui/components/identifier/Persist.vue @@ -589,14 +589,20 @@ v-if="identifier.licenses.length > 0" color="tertiary"> <p> - <a :href="identifier.licenses[0].uri" target="_blank"> - <strong v-text="identifier.licenses[0].identifier" /> <sup><v-icon x-small>mdi-open-in-new</v-icon></sup> + <a + :href="identifier.licenses[0].uri" + target="_blank"> + <strong> + {{ identifier.licenses[0].identifier }} + </strong> + <sup><v-icon x-small>mdi-open-in-new</v-icon></sup> </a> </p> <p v-if="identifier.licenses[0].description" - class="mt-2" - v-text="identifier.licenses[0].description" /> + class="mt-2"> + {{ identifier.licenses[0].description }} + </p> </v-alert> </v-card-text> <v-card-text> @@ -755,7 +761,7 @@ <v-list-item> <v-list-item-title> {{ $t('pages.identifier.subpages.create.summary.record') }} {{ resourceHumanDescription.prefix }} - "<strong v-text="resourceHumanDescription.info" />" + "<strong>{{ resourceHumanDescription.info }}</strong>" </v-list-item-title> <template v-slot:prepend> <v-icon @@ -775,7 +781,7 @@ <v-list-item-title v-if="identifier.licenses.length > 0"> {{ $t('pages.identifier.subpages.create.summary.license') }} - "<strong v-text="identifier.licenses[0].identifier" />" + "<strong>{{ identifier.licenses[0].identifier }}</strong>" </v-list-item-title> <v-list-item-title v-else> @@ -791,7 +797,7 @@ v-if="identifier.publisher"> <v-list-item-title> {{ $t('pages.identifier.subpages.create.summary.publisher') }} - "<strong v-text="identifier.publisher" />" + "<strong>{{ identifier.publisher }}</strong>" </v-list-item-title> <template v-slot:prepend> <v-icon diff --git a/dbrepo-ui/components/identifier/Summary.vue b/dbrepo-ui/components/identifier/Summary.vue index f4a5f7c880fc9618093ca82726159e598c16d998..267693276c18cde26769f387ddc2f3f34ec97689 100644 --- a/dbrepo-ui/components/identifier/Summary.vue +++ b/dbrepo-ui/components/identifier/Summary.vue @@ -18,7 +18,9 @@ <p v-for="(title, i) in identifier.titles" :key="`t-${i}`"> - <span v-text="title.title" /> + <span> + {{ title.title }} + </span> </p> </v-list-item> <v-list-item @@ -28,32 +30,42 @@ v-for="(description, i) in identifier.descriptions" :key="`d-${i}`"> <div - v-text="description?.type" - class="text-subtitle-2" /> - <span v-text="description.description" /> + class="text-subtitle-2"> + {{ description?.type }} + </div> + <span> + {{ description.description }} + </span> </p> </v-list-item> <v-list-item :title="$t('pages.identifier.publisher.title')" density="compact"> - <div v-text="identifier.publisher" /> + <div> + {{ identifier.publisher }} + </div> </v-list-item> <v-list-item :title="$t('pages.identifier.creators.title')" density="compact"> - <Creators :person-or-orgs="identifier.creators" /> + <Creators + :person-or-orgs="identifier.creators" /> </v-list-item> <v-list-item v-if="identifierLang" :title="$t('pages.identifier.language.title')" density="compact"> - <div v-text="identifierLang" /> + <div> + {{ identifierLang }} + </div> </v-list-item> <v-list-item v-if="publication" :title="$t('pages.identifier.publication-date.title')" density="compact"> - <div v-text="publication" /> + <div> + {{ publication }} + </div> </v-list-item> <v-list-item v-if="identifier.related_identifiers && identifier.related_identifiers.length > 0" @@ -75,16 +87,19 @@ :key="`f-${i}`"> <a v-if="funder.funder_identifier" - v-text="funder.funder_name" - :href="funder.funder_identifier" /> + :href="funder.funder_identifier"> + {{ funder.funder_name }} + </a> <span v-if="funder.award_title" - class="ml-1" - v-text="funder.award_title" /> + class="ml-1"> + {{ funder.award_title }} + </span> <span v-if="funder.award_number" - class="ml-1" - v-text="`(${funder.award_number})`" /> + class="ml-1"> + ({{ funder.award_number }}) + </span> </p> </v-list-item> <v-list-item @@ -95,11 +110,14 @@ v-for="(license, i) in identifier.licenses" :key="`l-${i}`"> <span> - <span v-text="i > 0 ? ', ' : ''" /> + <span> + {{ i > 0 ? ', ' : '' }} + </span> <a v-if="license" - v-text="license.identifier" - :href="license.uri" /> + :href="license.uri"> + {{ license.identifier }} + </a> </span> </p> </v-list-item> diff --git a/dbrepo-ui/components/search/AdvancedSearch.vue b/dbrepo-ui/components/search/AdvancedSearch.vue index 17a2839c64ce4b7584591c64e1be8f00715d7f28..13de402e019f2a791f0233c4fc611164e46e20d8 100644 --- a/dbrepo-ui/components/search/AdvancedSearch.vue +++ b/dbrepo-ui/components/search/AdvancedSearch.vue @@ -110,7 +110,9 @@ v-if="isEligibleYearRangeSearch" dense> <v-col> - <p v-text="$t('pages.search.publication-range.hint')" /> + <p> + {{ $t('pages.search.publication-range.hint') }} + </p> </v-col> </v-row> <v-row @@ -125,7 +127,9 @@ :hint="$t('pages.search.start-year.hint')" :variant="inputVariant" required - :rules="[v => !!v || $t('validation.required')]" + :rules="[ + v => !!v || $t('validation.required') + ]" clearable /> </v-col> <v-col cols="3"> @@ -144,12 +148,17 @@ <v-col> <p v-if="isEligibleUnitIndependentSearch" - v-text="$t('pages.search.concept-unit.hint')" - class="mt-4" /> + class="mt-4"> + {{ $t('pages.search.concept-unit.hint') }} + </p> </v-col> </v-row> - <v-row v-if="isEligibleConceptOrUnitSearch || isEligibleUnitIndependentSearch" dense> - <v-col v-if="isEligibleConceptOrUnitSearch || isEligibleUnitIndependentSearch" cols="3"> + <v-row + v-if="isEligibleConceptOrUnitSearch || isEligibleUnitIndependentSearch" + dense> + <v-col + v-if="isEligibleConceptOrUnitSearch || isEligibleUnitIndependentSearch" + cols="3"> <v-select v-model="advancedSearchData['tables.columns.concept.uri']" clearable @@ -162,7 +171,9 @@ :label="$t('pages.search.concept.label')" :hint="$t('pages.search.concept.hint')" /> </v-col> - <v-col v-if="isEligibleConceptOrUnitSearch || isEligibleUnitIndependentSearch" cols="3"> + <v-col + v-if="isEligibleConceptOrUnitSearch || isEligibleUnitIndependentSearch" + cols="3"> <v-select v-model="advancedSearchData['tables.columns.unit.uri']" clearable @@ -175,7 +186,9 @@ :label="$t('pages.search.unit.label')" :hint="$t('pages.search.unit.hint')" /> </v-col> - <v-col v-if="isEligibleUnitIndependentSearch" cols="3"> + <v-col + v-if="isEligibleUnitIndependentSearch" + cols="3"> <v-text-field v-model="advancedSearchData['t1']" clearable @@ -185,7 +198,9 @@ :label="$t('pages.search.start.label')" :hint="$t('pages.search.start.hint')" /> </v-col> - <v-col v-if="isEligibleUnitIndependentSearch" cols="3"> + <v-col + v-if="isEligibleUnitIndependentSearch" + cols="3"> <v-text-field v-model="advancedSearchData['t2']" clearable @@ -196,7 +211,8 @@ :hint="$t('pages.search.end.hint')" /> </v-col> </v-row> - <v-row dense> + <v-row + dense> <v-col> <v-btn type="submit" @@ -205,8 +221,9 @@ :loading="loading" :disabled="!valid || loading || loadingFields" size="small" - :text="$t('navigation.search')" - @click="advancedSearch" /> + @click="advancedSearch"> + {{ $t('navigation.search') }} + </v-btn> </v-col> </v-row> </v-form> diff --git a/dbrepo-ui/components/subset/Builder.vue b/dbrepo-ui/components/subset/Builder.vue index 9ae991620375976dd3c53eee4b5756c35734ad4e..d19ec1598fb39cf0e9a02d4b6aafcf6d722b99c7 100644 --- a/dbrepo-ui/components/subset/Builder.vue +++ b/dbrepo-ui/components/subset/Builder.vue @@ -194,7 +194,7 @@ <v-col md="8" class="text-center"> - <pre v-text="clause.type.toUpperCase()" /> + <pre>{{ clause.type.toUpperCase() }}</pre> </v-col> </v-row> <div @@ -233,13 +233,17 @@ <v-alert border="start" color="warning"> - <span v-text="$t('pages.subset.subpages.create.expert.warn')" /> - <pre style="white-space:inherit;" v-text="unsupported.join(', ')" /> + <span> + {{ $t('pages.subset.subpages.create.expert.warn') }} + </span> + <pre style="white-space:inherit;">{{ unsupported.join(', ') }}</pre> </v-alert> </v-col> </v-row> <v-row dense> - <v-col v-text="$t('pages.subset.subpages.create.subtitle')" /> + <v-col> + {{ $t('pages.subset.subpages.create.subtitle') }} + </v-col> </v-row> <v-row dense> <v-col> diff --git a/dbrepo-ui/components/table/BlobDownload.vue b/dbrepo-ui/components/table/BlobDownload.vue index 6ae215e95bf782447f0b0261b470af531a378083..7a96b5e27ba1c738da29770c0b667c3f558d3d9d 100644 --- a/dbrepo-ui/components/table/BlobDownload.vue +++ b/dbrepo-ui/components/table/BlobDownload.vue @@ -1,6 +1,6 @@ <template> <div> - <pre v-text="description" /> + <pre>{{ description }}</pre> </div> </template> diff --git a/dbrepo-ui/components/table/TableImport.vue b/dbrepo-ui/components/table/TableImport.vue index a4c55404dc32d3bcdd6f3d249a3c3b2fc5db5a8f..84c1011c9b24842c7bb1ed563919af61f6211833 100644 --- a/dbrepo-ui/components/table/TableImport.vue +++ b/dbrepo-ui/components/table/TableImport.vue @@ -99,8 +99,9 @@ v-if="$route.query.location" dense> <v-col> - <p - v-text="$t('pages.table.subpages.import.storage.text')" /> + <p> + {{ $t('pages.table.subpages.import.storage.text') }} + </p> <v-chip prepend-icon="mdi-cloud-upload" label> @@ -122,9 +123,13 @@ border="start" color="warning"> {{ $t('pages.table.subpages.import.separator.warn.prefix') }} - <strong v-text="tableImport.separator"/> + <strong> + {{ tableImport.separator }} + </strong> {{ $t('pages.table.subpages.import.separator.warn.middle') }} - <strong v-text="suggestedAnalyseSeparator"/> + <strong> + {{ suggestedAnalyseSeparator }} + </strong> {{ $t('pages.table.subpages.import.separator.warn.suffix') }} </v-alert> </v-col> @@ -236,7 +241,9 @@ <v-alert border="start" color="success"> - <span v-text="$t(`pages.table.subpages.import.summary.text`)"/> + <span> + {{ $t(`pages.table.subpages.import.summary.text`)}} + </span> </v-alert> </v-col> </v-row> diff --git a/dbrepo-ui/components/table/TableToolbar.vue b/dbrepo-ui/components/table/TableToolbar.vue index ef95ad1bd2eee6406925a956a3dda14950070a7d..4c1c86fba656fb0d87f87fac7690c98289a26c9e 100644 --- a/dbrepo-ui/components/table/TableToolbar.vue +++ b/dbrepo-ui/components/table/TableToolbar.vue @@ -12,8 +12,9 @@ type="subtitle" width="200" /> <span - v-if="table && $vuetify.display.lgAndUp" - v-text="table.name" /> + v-if="table && $vuetify.display.lgAndUp"> + {{ table.name}} + </span> </v-toolbar-title> <v-spacer /> <v-btn diff --git a/dbrepo-ui/components/user/UserBadge.vue b/dbrepo-ui/components/user/UserBadge.vue index 65945725e4954a99cda99696626d0a6d947edfd7..71da03d9290ba16928411adda02f3f9eb99aec16 100644 --- a/dbrepo-ui/components/user/UserBadge.vue +++ b/dbrepo-ui/components/user/UserBadge.vue @@ -8,9 +8,14 @@ <v-badge inline content="you" - color="code">{{ creatorName }}</v-badge> + color="code"> + {{ creatorName }} + </v-badge> + </span> + <span + v-else> + {{ creatorName }} </span> - <span v-else v-text="creatorName" /> </p> </template> diff --git a/dbrepo-ui/layouts/default.vue b/dbrepo-ui/layouts/default.vue index fef6700c4f95024619ae0563533a9a42fd3425a7..51b936816299f1565b2517fb0b8daeb01fa5af2f 100644 --- a/dbrepo-ui/layouts/default.vue +++ b/dbrepo-ui/layouts/default.vue @@ -17,8 +17,9 @@ <v-list-item class="mt-2"> <v-list-item-title - class="text-h6" - v-text="title" /> + class="text-h6"> + {{ title }} + </v-list-item-title> </v-list-item> <v-list nav> <v-list-item @@ -49,7 +50,7 @@ border="start" tile :type="message.type"> - {{ message.message }}<span v-if="message.link"> — <a :href="message.link" v-text="message.link_text ? message.link_text : message.link" /></span> + {{ message.message }}<span v-if="message.link"> — <a :href="message.link">{{ message.link_text ? message.link_text : message.link }}</a></span> </v-alert> <div class="d-flex pa-2"> <v-spacer /> diff --git a/dbrepo-ui/pages/database/[database_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/info.vue index e2b139fe8fd2a2616c7dae56b8383e502bdb95e3..432b14e21a60968048440da6f0084eb535aa06a7 100644 --- a/dbrepo-ui/pages/database/[database_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/info.vue @@ -45,22 +45,30 @@ <v-list-item :title="$t('pages.database.name.title')" density="compact"> - <div v-text="database.name" /> + <div> + {{ database.name }} + </div> </v-list-item> <v-list-item :title="$t('pages.database.internal-name.title')" density="compact"> - <div v-text="database.internal_name" /> + <div> + {{ database.internal_name }} + </div> </v-list-item> <v-list-item :title="$t('pages.database.visibility.title')" density="compact"> - <div v-text="`${database.is_public ? 'Public' : 'Private'}`" /> + <div> + {{ database.is_public ? 'Public' : 'Private' }} + </div> </v-list-item> <v-list-item :title="$t('pages.database.size.title')" density="compact"> - <div v-text="databaseSize" /> + <div> + {{ databaseSize }} + </div> </v-list-item> <v-list-item :title="$t('pages.database.owner.title')" @@ -74,7 +82,9 @@ <v-list-item :title="$t('pages.database.created.title')" density="compact"> - <div v-text="createdUTC" /> + <div> + {{ createdUTC }} + </div> </v-list-item> <v-list-item v-if="access && access.type" @@ -87,9 +97,14 @@ inline :content="databaseExtraInfo" color="secondary"> - <span v-text="accessDescription.text" /> + <span> + {{ accessDescription.text }} + </span> </v-badge> - <span v-else v-text="accessDescription.text" /> + <span + v-else> + {{ accessDescription.text }} + </span> </span> </div> </v-list-item> @@ -97,9 +112,8 @@ v-if="access" :title="$t('pages.database.connection.title')" density="compact"> - <div> - <pre class="pb-1" v-text="jdbcString" /> - </div> + <pre + class="pb-1">{{ jdbcString }}</pre> </v-list-item> <v-list-item v-if="database.contact" @@ -131,29 +145,39 @@ <v-list-item :title="$t('pages.container.name.title')" density="compact"> - <div v-text="container_name" /> + <div> + {{ container_name }} + </div> </v-list-item> <v-list-item :title="$t('pages.container.internal-name.title')" density="compact"> - <div v-text="container_internal_name" /> + <div> + {{ container_internal_name }} + </div> </v-list-item> <v-list-item :title="$t('pages.container.image-name.title')" density="compact"> - <div v-text="image_name" /> + <div> + {{ image_name }} + </div> </v-list-item> <v-list-item :title="$t('pages.container.image-tag.title')" density="compact"> - <div v-text="image_version" /> + <div> + {{ image_version }} + </div> </v-list-item> </v-list> </v-card-text> </v-card> </v-window-item> </v-window> - <v-breadcrumbs :items="items" class="pa-0 mt-2" /> + <v-breadcrumbs + :items="items" + class="pa-0 mt-2" /> </div> </template> diff --git a/dbrepo-ui/pages/database/[database_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/settings.vue index 1d2d9dca0c873f300ec0a1b3c41795595fd085ee..c205e8c431dc6851d9b9b21c0dc8adc916d9d7f5 100644 --- a/dbrepo-ui/pages/database/[database_id]/settings.vue +++ b/dbrepo-ui/pages/database/[database_id]/settings.vue @@ -89,7 +89,10 @@ :items="database.accesses" :items-per-page="10"> <template v-slot:item.qualified_name="{ item }"> - <span v-if="item && item.user" v-text="item.user.qualified_name" /> + <span + v-if="item && item.user"> + {{ item.user.qualified_name }} + </span> </template> <template v-slot:item.action="{ item }"> <v-btn diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue index 4902e2c54f243c7a2e4f3df90f3aa16cf7c26753..b063317e074d69d97c99812a74cdd22a5d3feceb 100644 --- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue +++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue @@ -11,8 +11,9 @@ color="secondary" width="500" /> <span - v-else - v-text="executionUTC" /> + v-else> + {{ executionUTC }} + </span> </v-toolbar-title> <v-spacer /> <v-btn diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue index 1d9101fbf240d8d577026e53361f2cedb8f6486e..01620ea35eebf78969c6353b9ccaa0e7e9fdfb05 100644 --- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue @@ -52,7 +52,7 @@ <v-list-item :title="$t('pages.subset.query-hash.title')" density="compact"> - <pre v-text="`${$t('pages.subset.query-hash.prefix')}${subset.query_hash}`" /> + <pre>{{ $t('pages.subset.query-hash.prefix') }}{{ subset.query_hash }}</pre> </v-list-item> <v-list-item v-if="executionUTC" @@ -63,7 +63,7 @@ <v-list-item :title="$t('pages.subset.result-hash.title')" density="compact"> - <pre v-text="result_hash" /> + <pre>{{ result_hash }}</pre> </v-list-item> <v-list-item :title="$t('pages.subset.result-rows.title')" @@ -90,8 +90,9 @@ :title="$t('pages.database.name.title')"> <NuxtLink class="text-primary" - :to="`/database/${database.id}`" - v-text="database.internal_name" /> + :to="`/database/${database.id}`"> + {{ database.internal_name }} + </NuxtLink> </v-list-item> </v-list> </v-card-text> diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue index 72e7501d16625e32d3c05e32072a3a3cb3a719e3..85570c5c363ff0cafda08d389c6f8f055a932ce0 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue @@ -60,8 +60,9 @@ <v-card v-if="error" variant="flat"> - <v-card-text - v-text="$t('error.table.connection')" /> + <v-card-text> + {{ $t('error.table.connection') }} + </v-card-text> </v-card> <v-data-table-server v-if="!error" diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue index 08b42c0d936c7e034b67e09edbd07203edde12d7..0221c64df232721f3a81b6bf2641ad37ce6fbf32 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue @@ -67,9 +67,14 @@ inline color="secondary" :content="brokerExtraInfo"> - <span v-text="accessDescription" /> + <span> + {{ accessDescription }} + </span> </v-badge> - <span v-else v-text="accessDescription" /> + <span + v-else> + {{ accessDescription}} + </span> </span> </v-list-item> </v-list> @@ -87,7 +92,9 @@ dense> <v-list-item :title="$t('pages.table.protocol.title')"> - <span v-text="$t('pages.table.protocol.name')" /> + <span> + {{ $t('pages.table.protocol.name') }} + </span> </v-list-item> <v-list-item :title="$t('pages.table.exchange.title')"> @@ -100,7 +107,7 @@ <v-list-item :title="$t('pages.table.routing-key.title')"> <div v-if="table.routing_key"> - <pre v-text="table.routing_key" /> + <pre>{{ table.routing_key }}</pre> </div> </v-list-item> <v-list-item @@ -113,8 +120,7 @@ :content="port.secure ? $t('pages.table.connection.secure') : $t('pages.table.connection.insecure')" :color="port.secure ? 'success' : ''"> <pre - class="pb-1" - v-text="amqpString(port)" /> + class="pb-1">{{ amqpString(port) }}</pre> </v-badge> </p> </v-list-item> @@ -137,8 +143,9 @@ :title="$t('pages.database.name.title')"> <NuxtLink class="text-primary" - :to="`/database/${database.id}`" - v-text="database.internal_name" /> + :to="`/database/${database.id}`"> + {{ database.internal_name }} + </NuxtLink> </v-list-item> </v-list> </v-card-text> diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue index 7e8aed6717ee9fd22190b56ef6b943f441348974..c9f9882c6cff6bc4b2d91d2857eb3d3b15e37c84 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue @@ -20,8 +20,10 @@ :items="table.columns"> <template v-slot:item.is_null_allowed="{ item }"> <span - v-if="item.is_null_allowed" - v-text="$t('pages.table.subpages.schema.bullet')" /> {{ item.is_null_allowed }} + v-if="item.is_null_allowed"> + {{ $t('pages.table.subpages.schema.bullet') }} + </span> + {{ item.is_null_allowed }} </template> <template v-slot:item.extra="{ item }"> <pre>{{ extra(item) }}</pre> @@ -47,8 +49,9 @@ @click="pick(item, 'concept')" /> <a v-if="!canAssignSemanticInformation && hasConcept(item)" - :href="item.concept.uri" - v-text="item.concept.name ? item.concept.name : item.concept.uri" /> + :href="item.concept.uri"> + {{ item.concept.name ? item.concept.name : item.concept.uri }} + </a> </template> <template v-slot:item.column_unit="{ item }"> <v-btn @@ -68,8 +71,9 @@ @click="pick(item, 'unit')" /> <a v-if="!canAssignSemanticInformation && hasUnit(item)" - :href="item.unit.uri" - v-text="item.unit.name ? item.unit.name : item.unit.uri" /> + :href="item.unit.uri"> + {{ item.unit.name ? item.unit.name : item.unit.uri }} + </a> </template> </v-data-table> </v-card> @@ -84,18 +88,18 @@ <ul> <li v-if="table.constraints.primary_key.length > 0"> <strong>PRIMARY KEY</strong> - (<i v-text="primaryKeysColumns" />) + (<i>{{ primaryKeysColumns }}</i>) </li> <li v-for="(foreignKey, i) in table.constraints.foreign_keys" :key="`fk-${i}`"> - <strong>FOREIGN KEY</strong> <span v-text="foreignKey.name" /> (<i v-text="foreignKeyColumns(foreignKey)" />) <strong>REFERENCES</strong> <a :href="`/database/${database.id}/table/${foreignKey.referenced_table.id}/schema`" v-text="foreignKeyReferencedTable(foreignKey)" /> (<i v-text="foreignKeyReferencedColumns(foreignKey)" />) + <strong>FOREIGN KEY</strong> <span>{{ foreignKey.name }}</span> (<i>{{ foreignKeyColumns(foreignKey) }}</i>) <strong>REFERENCES</strong> <a :href="`/database/${database.id}/table/${foreignKey.referenced_table.id}/schema`">{{ foreignKeyReferencedTable(foreignKey) }}</a> (<i>{{ foreignKeyReferencedColumns(foreignKey) }}</i>) </li> <li v-for="(uniqueConstraint, i) in table.constraints.uniques" :key="`uk-${i}`"> <strong>UNIQUE INDEX</strong> - (<i v-text="uniqueColumns(uniqueConstraint)" />) + (<i>{{ uniqueColumns(uniqueConstraint) }}</i>) </li> <li v-for="(checkConstraint, i) in table.constraints.checks" :key="`uk-${i}`"> <strong>CHECK CONSTRAINT</strong> - (<i v-text="checkConstraint" />) + (<i>{{ checkConstraint }}</i>) </li> </ul> </v-container> diff --git a/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue b/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue index e1d71643ea84be7a727ba031715f72ce817b4209..c54314abcba4d714426e4990527d1a53b3a287d6 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue @@ -22,8 +22,9 @@ color="info"> {{ $t('pages.table.subpages.import.dataset.text') }} <NuxtLink - :href="`/database/${$route.params.database_id}/table/create/schema`" - v-text="$t('pages.table.subpages.import.schema.text')" /> + :href="`/database/${$route.params.database_id}/table/create/schema`"> + {{ $t('pages.table.subpages.import.schema.text') }} + </NuxtLink> </v-alert> </v-col> </v-row> @@ -140,7 +141,9 @@ border="start" color="success"> {{ $t('pages.table.subpages.create.summary.text') }} - <strong v-text="table.internal_name"/> + <strong> + {{ table.internal_name }} + </strong> </v-alert> </v-col> </v-row> diff --git a/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue b/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue index 79493ec39f3a13054df2e4b605f7da3fdb442805..57f943f22b36ee21f858f15120d5ca812b8b8bfc 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue @@ -116,8 +116,9 @@ <v-col md="8"> <v-alert border="start" - color="success" - v-text="$t('pages.table.subpages.schema.summary.text') + ' ' + table.internal_name" /> + color="success"> + {{ $t('pages.table.subpages.schema.summary.text') + ' ' + table.internal_name }} + </v-alert> </v-col> </v-row> <v-row> diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue index 3ec97f2bdaec1109edc16f1bedf0ee22b07a1f52..064fa5f3f20f0c9e1be84fc010e215745834d278 100644 --- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue @@ -65,8 +65,9 @@ :title="$t('pages.database.name.title')"> <NuxtLink class="text-primary" - :to="`/database/${database.id}`" - v-text="database.internal_name" /> + :to="`/database/${database.id}`"> + {{ database.internal_name }} + </NuxtLink> </v-list-item> </v-list> </v-card-text> diff --git a/dbrepo-ui/pages/search.vue b/dbrepo-ui/pages/search.vue index fe427b25efa416f242eac5405cecdfb9cb7379a1..b2d0f0219515530ac47b84342c66561ba117a288 100644 --- a/dbrepo-ui/pages/search.vue +++ b/dbrepo-ui/pages/search.vue @@ -2,17 +2,19 @@ <div> <v-toolbar variant="flat"> - <v-toolbar-title - v-text="header" /> + <v-toolbar-title> + {{ header }} + </v-toolbar-title> <v-spacer /> <v-btn v-if="canCreateDatabase" class="mr-4" prepend-icon="mdi-plus" - :text="$t('toolbars.database.create.text')" color="primary" variant="flat" - @click.stop="createDbDialog = true" /> + @click.stop="createDbDialog = true"> + {{ $t('toolbars.database.create.text') }} + </v-btn> </v-toolbar> <v-card rounded="0" @@ -25,7 +27,7 @@ v-if="isDatabaseSearch" :loading="loading" :databases="results" /> - <div v-else> + <div> <v-card v-for="(result, idx) in results" :key="idx" @@ -36,10 +38,16 @@ <v-divider class="mx-4" /> <v-card-title class="text-primary text-decoration-underline"> - <a v-if="link(result)" :href="link(result)">{{ title(result) }}</a> - <span v-else>{{ title(result) }}</span> + <a v-if="link(result)" :href="link(result)"> + {{ title(result) }} + </a> + <span v-else> + {{ title(result) }} + </span> </v-card-title> - <v-card-subtitle v-text="description(result)" /> + <v-card-subtitle> + {{ description(result) }} + </v-card-subtitle> <v-card-text> <div v-if="tags(result).length > 0" @@ -49,8 +57,9 @@ :key="i" size="small" :color="tag.color" - variant="outlined" - v-text="tag.text" /> + variant="outlined"> + {{ tag.text }} + </v-chip> </div> </v-card-text> </v-card> diff --git a/dbrepo-ui/pages/semantic/index.vue b/dbrepo-ui/pages/semantic/index.vue index c5f12d48f48efe9c60825af6f1078f8ae439feb8..480483aaf83bf68911090c1f7dcdbe051542676d 100644 --- a/dbrepo-ui/pages/semantic/index.vue +++ b/dbrepo-ui/pages/semantic/index.vue @@ -1,7 +1,9 @@ <template> <div v-if="canListOntologies"> <v-toolbar flat> - <v-toolbar-title v-text="$t('pages.semantics.title')" /> + <v-toolbar-title> + {{ $t('pages.semantics.title') }} + </v-toolbar-title> <v-spacer /> <v-btn v-if="canListOntologies" @@ -13,10 +15,12 @@ <v-tabs v-model="tab" color="primary"> - <v-tab - v-text="$t('toolbars.semantic.ontologies.concepts')" /> - <v-tab - v-text="$t('toolbars.semantic.ontologies.units')" /> + <v-tab> + {{ $t('toolbars.semantic.ontologies.concepts') }} + </v-tab> + <v-tab> + {{ $t('toolbars.semantic.ontologies.units') }} + </v-tab> </v-tabs> </template> </v-toolbar> @@ -30,7 +34,10 @@ :footer-props="footerProps" :items-per-page-options="footerProps.itemsPerPageOptions"> <template v-slot:item.uri="{ item }"> - <a :href="item.uri" target="_blank" v-text="item.uri" /> + <a :href="item.uri" + target="_blank"> + {{ item.uri }} + </a> </template> <template v-slot:item.action="{ item }"> <v-btn diff --git a/dbrepo-ui/pages/semantic/ontology/_ontology_id/index.vue b/dbrepo-ui/pages/semantic/ontology/_ontology_id/index.vue index 41cfa20426c6d51a12f656ef7cd40bc0dff45405..108ef73e4bfdb6d6f79357c341808dc264302123 100644 --- a/dbrepo-ui/pages/semantic/ontology/_ontology_id/index.vue +++ b/dbrepo-ui/pages/semantic/ontology/_ontology_id/index.vue @@ -1,20 +1,38 @@ <template> - <div v-if="canListOntologies"> + <div + v-if="canListOntologies"> <v-toolbar flat> <v-toolbar-title> - <v-btn id="back-btn" plain class="mr-2" to="/semantic/ontology"> + <v-btn + id="back-btn" + plain + class="mr-2" + to="/semantic/ontology"> <v-icon left>mdi-arrow-left</v-icon> </v-btn> </v-toolbar-title> <v-toolbar-title> - <v-skeleton-loader v-if="loading" type="text" class="skeleton-small" /> + <v-skeleton-loader + v-if="loading" + type="text" + class="skeleton-small" /> <span v-if="!loading"> - Ontology <a v-if="ontology" :href="ontology.uri" target="_blank" v-text="ontology.uri" /> + Ontology + <a + v-if="ontology" + :href="ontology.uri" + target="_blank"> + {{ ontology.uri }} + </a> </span> </v-toolbar-title> <v-spacer /> <v-toolbar-title> - <v-btn v-if="canDeleteOntology" :loading="loadingDelete" color="error" @click="deleteOntology"> + <v-btn + v-if="canDeleteOntology" + :loading="loadingDelete" + color="error" + @click="deleteOntology"> Delete Ontology </v-btn> </v-toolbar-title> diff --git a/dbrepo-ui/pages/semantic/ontology/index.vue b/dbrepo-ui/pages/semantic/ontology/index.vue index c4c5291aefcce046d401c4986fee05a530d897fa..a19b5216c14650cac687b502b2e47706b37ace0a 100644 --- a/dbrepo-ui/pages/semantic/ontology/index.vue +++ b/dbrepo-ui/pages/semantic/ontology/index.vue @@ -6,8 +6,9 @@ size="small" icon="mdi-arrow-left" to="/semantic" /> - <v-toolbar-title - v-text="ontologies.length + ' ' + $t('toolbars.semantic.ontologies.title')" /> + <v-toolbar-title> + {{ ontologies.length + ' ' + $t('toolbars.semantic.ontologies.title') }} + </v-toolbar-title> <v-spacer /> <v-btn v-if="canCreateOntology" diff --git a/dbrepo-ui/test/test_heap.sh b/dbrepo-ui/test/test_heap.sh new file mode 100755 index 0000000000000000000000000000000000000000..51acc0cf295d63ed794cb655ca8b44184b27e9b4 --- /dev/null +++ b/dbrepo-ui/test/test_heap.sh @@ -0,0 +1,9 @@ +#!/bin/bash +CALLS=1000 +CONCURRENCY=10 +ENDPOINT=http://localhost + +ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/" +ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/search" +ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/login" +ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/signup" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index cb11953b3b0d828ab5db6698276733c921c8653b..7453cd261f18371e8d392f17a36c9deb16b14945 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -320,6 +320,7 @@ services: COMMIT: ${CI_COMMIT_SHA:-} network: host environment: + NODE_OPTIONS: "${UI_RUNTIME_OPTIONS:-}" NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://localhost}" NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files" diff --git a/make/test.mk b/make/test.mk index c3d2cd8804831f25d7450d0f34914c69c6f53477..b3ad94f9ba405a39a921b02cb1cd227535d350b5 100644 --- a/make/test.mk +++ b/make/test.mk @@ -15,3 +15,7 @@ test-analyse-service: ## Test the Analyse Service. .PHONY: test-lib test-lib: ## Test the Python Library. bash ./lib/python/test.sh + +.PHONY: test-ui +test-ui: ## Test the UI. + bash ./dbrepo-ui/test/test_heap.sh