From 7566e8aac248009493e417463243eb914d781e7a Mon Sep 17 00:00:00 2001 From: chfhtw Date: Thu, 13 Nov 2025 08:48:54 +0100 Subject: [PATCH] Make AppConfig a general Component --- .../Config.js => AppConfig.js} | 23 +++++++++++-------- .../js/components/Stv/Studentenverwaltung.js | 10 ++++---- 2 files changed, 20 insertions(+), 13 deletions(-) rename public/js/components/{Stv/Studentenverwaltung/Config.js => AppConfig.js} (88%) diff --git a/public/js/components/Stv/Studentenverwaltung/Config.js b/public/js/components/AppConfig.js similarity index 88% rename from public/js/components/Stv/Studentenverwaltung/Config.js rename to public/js/components/AppConfig.js index 7c89fc3ea..cc5d6d478 100644 --- a/public/js/components/Stv/Studentenverwaltung/Config.js +++ b/public/js/components/AppConfig.js @@ -15,15 +15,13 @@ * along with this program. If not, see . */ -import BsModal from "../../Bootstrap/Modal.js"; -import FhcForm from "../../Form/Form.js"; -import FormInput from "../../Form/Input.js"; - -import ApiStvConfig from '../../../api/factory/stv/config.js'; +import BsModal from "./Bootstrap/Modal.js"; +import FhcForm from "./Form/Form.js"; +import FormInput from "./Form/Input.js"; export default { - name: 'StvConfig', + name: 'AppConfig', components: { BsModal, FhcForm, @@ -33,7 +31,14 @@ export default { 'update:modelValue' ], props: { - modelValue: Object + modelValue: { + type: Object, + required: true + }, + endpoints: { + type: Object, + required: true + } }, data() { return { @@ -44,7 +49,7 @@ export default { methods: { update() { this.$refs.form - .call(ApiStvConfig.set(this.tempValues)) + .call(this.endpoints.set(this.tempValues)) .then(() => { // TODO(chris): phrase this.$emit('update:modelValue', { ...this.tempValues }); @@ -56,7 +61,7 @@ export default { }, created() { this.$api - .call(ApiStvConfig.get()) + .call(this.endpoints.get()) .then(res => { this.setup = {}; Object.keys(res.data).forEach(key => { diff --git a/public/js/components/Stv/Studentenverwaltung.js b/public/js/components/Stv/Studentenverwaltung.js index c661138bb..5e76e0936 100644 --- a/public/js/components/Stv/Studentenverwaltung.js +++ b/public/js/components/Stv/Studentenverwaltung.js @@ -19,15 +19,16 @@ import CoreSearchbar from "../searchbar/searchbar.js"; import NavLanguage from "../navigation/Language.js"; import VerticalSplit from "../verticalsplit/verticalsplit.js"; import AppMenu from "../AppMenu.js"; +import AppConfig from "../AppConfig.js"; import StvVerband from "./Studentenverwaltung/Verband.js"; import StvList from "./Studentenverwaltung/List.js"; import StvDetails from "./Studentenverwaltung/Details.js"; import StvStudiensemester from "./Studentenverwaltung/Studiensemester.js"; -import StvConfig from "./Studentenverwaltung/Config.js"; import ApiSearchbar from "../../api/factory/searchbar.js"; import ApiStv from "../../api/factory/stv.js"; import ApiStvVerband from '../../api/factory/stv/verband.js'; +import ApiStvConfig from '../../api/factory/stv/config.js'; export default { @@ -37,11 +38,11 @@ export default { NavLanguage, VerticalSplit, AppMenu, + AppConfig, StvVerband, StvList, StvDetails, - StvStudiensemester, - StvConfig + StvStudiensemester }, props: { defaultSemester: String, @@ -89,6 +90,7 @@ export default { data() { return { appconfig: {}, + configEndpoints: ApiStvConfig, selected: [], searchbaroptions: { origin: 'stv', @@ -480,6 +482,6 @@ export default { - + ` };