Bug 38201: Restore subscriptions and allow appendToShow to ignore panes where required

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-09-15 17:22:31 +01:00 committed by Lucas Gass
parent 023e6f31bb
commit d8452a72d9
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
5 changed files with 27 additions and 4 deletions

View File

@ -150,11 +150,19 @@ export default {
resource: resource.value,
additionalProps: additionalProps.value,
})
?.filter(field => field.hidden(resource.value))
?.filter(
field =>
!field.hidden ||
(field.hidden && field.hidden(resource.value))
)
.map(field => {
return {
name: field.name,
fields: [field],
...(props.instancedResource.showGroupsDisplayMode ===
"splitScreen"
? { splitPane: field.splitPane }
: {}),
};
});

View File

@ -111,7 +111,12 @@
</template>
</template>
<template v-else-if="attribute?.type === 'component'">
<template v-if="attribute.hidden && attribute.hidden(resource)">
<template
v-if="
!attribute.hidden ||
(attribute.hidden && attribute.hidden(resource))
"
>
<label v-if="attribute.label">{{ attribute.label }}:</label>
<component
:is="requiredComponent"

View File

@ -1,5 +1,5 @@
<template>
<div class="row">
<div class="row" style="margin-bottom: 0.9em">
<div class="col-sm-6">
<slot
name="splitPane"
@ -13,6 +13,12 @@
></slot>
</div>
</div>
<template v-if="determineGroupsForPane(null).length > 0">
<slot
name="splitPane"
:paneFieldList="determineGroupsForPane(null)"
></slot>
</template>
</template>
<script>

View File

@ -957,11 +957,11 @@ export default {
value: $__("contracts"),
},
},
splitPane: null,
},
{
type: "component",
name: $__("Subscription details"),
hidden: vendor => vendor.subscriptions_count,
componentPath:
"@koha-vue/components/Vendors/VendorSubscriptions.vue",
componentProps: {
@ -969,6 +969,7 @@ export default {
type: "resource",
},
},
splitPane: "right",
},
];
};

View File

@ -480,6 +480,9 @@ export function useBaseResource(resourceConfig) {
);
if (splitScreenGrouping) {
groupInfo.splitPane = splitScreenGrouping.pane;
} else {
// Default to left
groupInfo.splitPane = "left";
}
}
if (component === "Show" && resource) {