Bug 38201: Group components in the resourceConfig

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Matt Blenkinsop 2025-07-23 11:09:03 +01:00 committed by Lucas Gass
parent 21a6746f6f
commit cf8e64020d
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
12 changed files with 64 additions and 46 deletions

View File

@ -19,10 +19,12 @@ export default {
resourceName: "record_source",
nameAttr: "name",
idAttr: "record_source_id",
showComponent: null,
listComponent: "RecordSourcesList",
addComponent: "RecordSourcesFormAdd",
editComponent: "RecordSourcesFormAddEdit",
components: {
show: null,
list: "RecordSourcesList",
add: "RecordSourcesFormAdd",
edit: "RecordSourcesFormAddEdit",
},
apiClient: APIClient.record_sources.record_sources,
resourceTableUrl: APIClient.record_sources.httpClient._baseURL,
i18n: {

View File

@ -68,10 +68,12 @@ export default {
resourceName: "agreement",
nameAttr: "name",
idAttr: "agreement_id",
showComponent: "AgreementsShow",
listComponent: "AgreementsList",
addComponent: "AgreementsFormAdd",
editComponent: "AgreementsFormAddEdit",
components: {
show: "AgreementsShow",
list: "AgreementsList",
add: "AgreementsFormAdd",
edit: "AgreementsFormAddEdit",
},
apiClient: APIClient.erm.agreements,
resourceTableUrl: APIClient.erm.httpClient._baseURL + "agreements",
i18n: {

View File

@ -27,10 +27,12 @@ export default {
resourceName: "package",
nameAttr: "name",
idAttr: "package_id",
showComponent: "EHoldingsLocalPackagesShow",
listComponent: "EHoldingsLocalPackagesList",
addComponent: "EHoldingsLocalPackagesFormAdd",
editComponent: "EHoldingsLocalPackagesFormAddEdit",
components: {
show: "EHoldingsLocalPackagesShow",
list: "EHoldingsLocalPackagesList",
add: "EHoldingsLocalPackagesFormAdd",
edit: "EHoldingsLocalPackagesFormAddEdit",
},
apiClient: APIClient.erm.localPackages,
resourceTableUrl:
APIClient.erm.httpClient._baseURL + "eholdings/local/packages",

View File

@ -42,10 +42,12 @@ export default {
resourceName: "title",
nameAttr: "publication_title",
idAttr: "title_id",
showComponent: "EHoldingsLocalTitlesShow",
listComponent: "EHoldingsLocalTitlesList",
addComponent: "EHoldingsLocalTitlesFormAdd",
editComponent: "EHoldingsLocalTitlesFormAddEdit",
components: {
show: "EHoldingsLocalTitlesShow",
list: "EHoldingsLocalTitlesList",
add: "EHoldingsLocalTitlesFormAdd",
edit: "EHoldingsLocalTitlesFormAddEdit",
},
apiClient: APIClient.erm.localTitles,
resourceTableUrl:
APIClient.erm.httpClient._baseURL + "eholdings/local/titles",

View File

@ -29,10 +29,12 @@ export default {
resourceName: "license",
nameAttr: "name",
idAttr: "license_id",
showComponent: "LicensesShow",
listComponent: "LicensesList",
addComponent: "LicensesFormAdd",
editComponent: "LicensesFormAddEdit",
components: {
show: "LicensesShow",
list: "LicensesList",
add: "LicensesFormAdd",
edit: "LicensesFormAddEdit",
},
apiClient: APIClient.erm.licenses,
resourceTableUrl: APIClient.erm.httpClient._baseURL + "licenses",
i18n: {

View File

@ -111,10 +111,12 @@ export default {
resourceName: "train",
nameAttr: "name",
idAttr: "train_id",
showComponent: "TrainsShow",
listComponent: "TrainsList",
addComponent: "TrainsFormAdd",
editComponent: "TrainsFormAddEdit",
components: {
show: "TrainsShow",
list: "TrainsList",
add: "TrainsFormAdd",
edit: "TrainsFormAddEdit",
},
apiClient: APIClient.preservation.trains,
resourceTableUrl:
APIClient.preservation.httpClient._baseURL + "trains",

View File

@ -157,7 +157,9 @@ export default {
resourceName: "item",
nameAttr: "biblio.title",
idAttr: "itemnumber",
listComponent: "WaitingList",
components: {
list: "WaitingList",
},
apiClient: APIClient.preservation.waiting_list_items,
resourceTableUrl:
APIClient.preservation.httpClient._baseURL +

View File

@ -95,7 +95,7 @@
>
<ButtonSubmit />
<router-link
:to="{ name: instancedResource.listComponent }"
:to="{ name: instancedResource.components.list }"
role="button"
class="cancel"
>{{ $__("Cancel") }}</router-link

View File

@ -76,7 +76,7 @@
</fieldset>
<fieldset class="action">
<router-link
:to="{ name: instancedResource.listComponent }"
:to="{ name: instancedResource.components.list }"
role="button"
class="cancel"
>{{ $__("Close") }}</router-link

View File

@ -77,10 +77,12 @@ export default {
resourceName: "skeleton",
nameAttr: "name",
idAttr: "skeleton_id",
showComponent: "SkeletonsShow",
listComponent: "SkeletonsList",
addComponent: "SkeletonsFormAdd",
editComponent: "SkeletonsFormAddEdit",
components: {
show: "SkeletonsShow",
list: "SkeletonsList",
add: "SkeletonsFormAdd",
edit: "SkeletonsFormAddEdit",
},
apiClient: APIClient.skel.skeletons,
resourceTableUrl: APIClient.skel.httpClient._baseURL + "skeletons",
i18n: {

View File

@ -133,10 +133,12 @@ export default {
resourceName: "vendor",
nameAttr: "name",
idAttr: "id",
showComponent: "VendorShow",
listComponent: "VendorList",
addComponent: "VendorFormAdd",
editComponent: "VendorFormAddEdit",
components: {
show: "VendorShow",
list: "VendorList",
add: "VendorFormAdd",
edit: "VendorFormAddEdit",
},
apiClient: APIClient.acquisition.vendors,
resourceTableUrl:
APIClient.acquisition.httpClient._baseURL + "vendors",

View File

@ -24,10 +24,10 @@ import {
* @param {String} resourceConfig.resourceName - The name of the resource.
* @param {String} resourceConfig.idAttr - The name of the id attribute of the resource.
* @param {String} resourceConfig.nameAttr - The name attribute of the resource.
* @param {String} resourceConfig.showComponent - The name of the show component.
* @param {String} resourceConfig.addComponent - The name of the add component.
* @param {String} resourceConfig.editComponent - The name of the edit component.
* @param {String} resourceConfig.listComponent - The name of the list component.
* @param {String} resourceConfig.components.show - The name of the show component.
* @param {String} resourceConfig.components.add - The name of the add component.
* @param {String} resourceConfig.components.edit - The name of the edit component.
* @param {String} resourceConfig.components.list - The name of the list component.
* @param {Object} resourceConfig.i18n - The i18n object.
* @param {Object} resourceConfig.apiClient - The API client for the resource.
* @param {String} resourceConfig.resourceTableUrl - The URL to the resource table.
@ -181,7 +181,7 @@ export function useBaseResource(resourceConfig) {
*/
const goToResourceAdd = () => {
router.push({
name: resourceConfig.addComponent,
name: resourceConfig.components.add,
});
};
@ -193,7 +193,7 @@ export function useBaseResource(resourceConfig) {
*/
const goToResourceEdit = resource => {
router.push({
name: resourceConfig.editComponent,
name: resourceConfig.components.edit,
params: {
[resourceConfig.idAttr]: resource
? resource[resourceConfig.idAttr]
@ -213,7 +213,7 @@ export function useBaseResource(resourceConfig) {
const goToResourceShow = (resource, dt, event) => {
event?.preventDefault();
router.push({
name: resourceConfig.showComponent,
name: resourceConfig.components.show,
params: {
[resourceConfig.idAttr]: resource[resourceConfig.idAttr],
},
@ -227,7 +227,7 @@ export function useBaseResource(resourceConfig) {
*/
const goToResourceList = () => {
router.push({
name: resourceConfig.listComponent,
name: resourceConfig.components.list,
});
};
@ -318,7 +318,7 @@ export function useBaseResource(resourceConfig) {
*/
const getResourceShowURL = id => {
return router.resolve({
name: resourceConfig.showComponent,
name: resourceConfig.components.show,
params: { [resourceConfig.idAttr]: id },
}).href;
};
@ -507,8 +507,8 @@ export function useBaseResource(resourceConfig) {
// This is to make it clear that this is the fetchedResource (data), not the resource component class
componentData.resource.value = resource;
breadcrumbMetadata.value = resource;
if (componentData.resourceConfig.afterResourceFetch) {
componentData.resourceConfig.afterResourceFetch(
if (componentData.instancedResource.afterResourceFetch) {
componentData.instancedResource.afterResourceFetch(
componentData,
resource,
caller