Bug 38201: Allow embedding of resource list

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 2024-12-16 16:06:49 +00:00 committed by Lucas Gass
parent 9ab76d3c69
commit d017f51d44
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
4 changed files with 16 additions and 5 deletions

View File

@ -152,6 +152,9 @@ export default {
attr => attr.show_in_table
);
},
doResourceSelect: function (resource, dt, event) {
this.$emit("select-resource", resource[this.id_attr]);
},
assignAVs(attrs) {
attrs.forEach(attr => {
if (attr.type === "select" && typeof attr.av_cat === "string") {

View File

@ -10,11 +10,14 @@
goToResourceEdit,
doResourceDelete,
goToResourceAdd,
doResourceSelect,
tableFilters,
getFilters,
filterTable,
tableUrl,
embedded,
}"
@select-resource="$emit('select-resource', $event)"
/>
<ResourceShow
v-if="action === 'show'"
@ -56,6 +59,7 @@ export default {
extends: BaseResource,
props: {
action: String,
embedded: { type: Boolean, default: false },
},
setup(props) {
const AVStore = inject("AVStore");
@ -1025,6 +1029,7 @@ export default {
this.assignAVs(this.resource_attrs);
this.getResourceTableColumns();
},
emits: ["select-resource"],
name: "AgreementResource",
};
</script>

View File

@ -20,9 +20,10 @@
></button>
</div>
<div class="modal-body position-relative overflow-visible">
<AgreementsList
<AgreementResource
action="list"
:embedded="true"
@select-agreement="addAgreement"
@select-resource="addAgreement"
/>
</div>
<div class="modal-footer">
@ -68,7 +69,7 @@
</template>
<script>
import AgreementsList from "./AgreementsList.vue";
import AgreementResource from "./AgreementResource.vue";
import { APIClient } from "../../fetch/api-client.js";
import { setWarning, removeMessages } from "../../messages";
@ -157,7 +158,7 @@ export default {
erm_package: Object,
},
components: {
AgreementsList,
AgreementResource,
},
emits: ["refresh-agreements"],
name: "EHoldingsEBSCOPackageAgreements",

View File

@ -38,6 +38,7 @@
@show="goToResourceShow"
@edit="goToResourceEdit"
@delete="doResourceDelete"
@select="doResourceSelect"
></KohaTable>
</div>
<div v-else class="alert alert-info">
@ -57,7 +58,7 @@ import KohaTable from "./KohaTable.vue";
import FormElement from "./FormElement.vue";
export default {
setup() {
setup(props) {
const table = ref();
return {
@ -75,6 +76,7 @@ export default {
goToResourceEdit: Function,
doResourceDelete: Function,
goToResourceAdd: Function,
doResourceSelect: Function,
tableFilters: Array,
getFilters: Function,
filterTable: Function,