Bugzilla – Attachment 188099 Details for
Bug 39320
Create a 'landing page' for ERM
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 39320: (QA follow-up): Use %s and format for 'There are' translatability
Bug-39320-QA-follow-up-Use-s-and-format-for-There-.patch (text/plain), 4.14 KB, created by
Pedro Amorim
on 2025-10-17 15:05:12 UTC
(
hide
)
Description:
Bug 39320: (QA follow-up): Use %s and format for 'There are' translatability
Filename:
MIME Type:
Creator:
Pedro Amorim
Created:
2025-10-17 15:05:12 UTC
Size:
4.14 KB
patch
obsolete
>From 1d6354b9ce128705c5fb59fd634a936b5df70b6c Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@openfifth.co.uk> >Date: Fri, 17 Oct 2025 10:50:22 +0000 >Subject: [PATCH] Bug 39320: (QA follow-up): Use %s and format for 'There are' > translatability > >--- > .../ModuleDashboard/Widgets/ERMCounts.vue | 67 +++++++++---------- > 1 file changed, 33 insertions(+), 34 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ModuleDashboard/Widgets/ERMCounts.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ModuleDashboard/Widgets/ERMCounts.vue >index 9f6350a18b3..533137c1135 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ModuleDashboard/Widgets/ERMCounts.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ModuleDashboard/Widgets/ERMCounts.vue >@@ -1,34 +1,12 @@ > <template> > <WidgetWrapper v-bind="widgetWrapperProps"> > <template #default> >- <p class="text-left"> >- {{ $__("There are") }} >- <template >- v-for="(definition, index) in countDefinitions" >- :key="index" >- > >- <strong> >- <router-link >- v-if="definition.page" >- :to="{ name: definition.page }" >- > >- {{ createCountText(definition) }} >- </router-link> >- <span v-else class="inactive-link"> >- {{ createCountText(definition) }} >- </span> >- </strong> >- <template v-if="index < countDefinitions.length - 1" >- >, </template >- > >- <template v-else>.</template> >- </template> >- </p> >+ <p class="text-left" v-html="countSummary"></p> > </template> > </WidgetWrapper> > </template> > <script> >-import { reactive } from "vue"; >+import { reactive, computed, onMounted } from "vue"; > import { useBaseWidget } from "../../../composables/base-widget.js"; > import { APIClient } from "../../../fetch/api-client.js"; > import WidgetWrapper from "../WidgetWrapper.vue"; >@@ -102,11 +80,10 @@ export default { > ]); > > const createCountText = definition => { >- if (definition.count === 1) { >- return `${definition.count} ${definition.labelSingular}`; >- } else { >- return `${definition.count} ${definition.labelPlural}`; >- } >+ const count = definition.count; >+ const label = >+ count === 1 ? definition.labelSingular : definition.labelPlural; >+ return `${count} ${label}`; > }; > > async function getCounts() { >@@ -126,19 +103,41 @@ export default { > } > } > >+ const countSummary = computed(() => { >+ const parts = countDefinitions.map(def => { >+ const text = createCountText(def); >+ >+ if (def.page) { >+ let link = router.resolve({ >+ name: def.page, >+ }).href; >+ return `<strong><a onclick="goToPage(event, '${def.page}')" href="${link}">${text}</a></strong>`; >+ } else { >+ return `<strong><span class="inactive-link">${text}</span></strong>`; >+ } >+ }); >+ >+ const joined = parts.join(", "); >+ return $__("There are %s.").format(joined); >+ }); >+ > baseWidget.onDashboardMounted(() => { > getCounts(); > }); > >- function goToPage(page) { >- router.push({ name: page }); >- } >+ onMounted(() => { >+ if (!window.goToPage) { >+ window.goToPage = function (e, pageName) { >+ e.preventDefault(); >+ router.push({ name: pageName }); >+ }; >+ } >+ }); > > return { > ...baseWidget, >- createCountText, > countDefinitions, >- goToPage, >+ countSummary, > }; > }, > }; >-- >2.39.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 39320
:
187513
|
187514
|
187515
|
187516
|
187517
|
187518
|
187519
|
187520
|
187521
|
187522
|
187563
|
187568
|
187635
|
187636
|
187637
|
187638
|
187639
|
187640
|
187641
|
187642
|
187643
|
187644
|
187645
|
188094
|
188095
|
188096
|
188097
|
188098
|
188099
|
188100
|
188101
|
188102
|
188103
|
188104
|
188151
|
188279
|
188280
|
188281
|
188282
|
188283
|
188284
|
188285
|
188312
|
188315
|
188372
|
188375
|
188376
|
188637
|
188638
|
188639
|
188640
|
188641
|
188830
|
188831
|
188832
|
188833
|
188834
|
188835
|
188836
|
188837
|
188838
|
188839
|
188840
|
188841
|
188842
|
188843
|
188844
|
188845
|
188846
|
188847
|
188848
|
188849
|
188850
|
188851
|
188852
|
188853
|
188854
|
188855
|
188856
|
188857
|
188858
|
188859
|
188860
|
188861
|
188862
|
188863
|
188864