Files
miriamgemeinde/public/assets/MenuManagement-CQlVlMhp.js

2 lines
5.6 KiB
JavaScript

import{C as e,E as t,L as n,M as r,c as i,ct as a,d as o,i as s,m as c,s as l,t as u,u as d,w as f}from"./_plugin-vue_export-helper-Conii5fq.js";import{a as p,c as m,i as h,r as g}from"./runtime-dom.esm-bundler-CI28bPhn.js";import{a as _}from"./vuex.esm-bundler-CDO_-3pz.js";import{r as v}from"./router-Bsgsf08R.js";var y={name:`MenuManagement`,setup(){let t=_(),r=n([]),i=n(null),a=n(!1),o=async()=>{try{r.value=(await v.get(`/menu-data`)).data}catch(e){console.error(`Fehler beim Abrufen der Menü-Daten:`,e)}},s=async()=>{try{let e=c(r.value);await v.post(`/menu-data`,e),alert(`Menü-Daten erfolgreich gespeichert`)}catch(e){console.error(`Fehler beim Speichern der Menü-Daten:`,e)}},c=e=>e.reduce((e,t)=>{let n={...t,page_title:t.pageTitle,show_in_menu:t.showInMenu,requires_auth:t.requiresAuth},{submenu:r,...i}=n;return e.push(i),r&&r.length&&e.push(...c(r,n.id)),e},[]),u=(e,t=0)=>e.reduce((e,n)=>(e.push({...n,indent:t}),n.submenu&&n.submenu.length&&e.push(...u(n.submenu,n.id,t+1)),e),[]),d=()=>{let e={name:``,link:``,component:``,pageTitle:``,showInMenu:!0,requiresAuth:!1,order_id:0,submenu:[],parent_id:0};r.value.push(e),h(e),a.value=!1},f=e=>{let t={name:``,link:``,component:``,pageTitle:``,showInMenu:!0,requiresAuth:!1,order_id:0};e.submenu.push(t),h(t),a.value=!1},p=e=>{let t=r.value.indexOf(e);t>-1&&r.value.splice(t,1),i.value=null},m=(e,t)=>{let n=e.submenu.indexOf(t);n>-1&&e.submenu.splice(n,1),i.value=null},h=e=>{i.value=e,a.value=!0},g=()=>{i.value=null,a.value=!1},y=l(()=>[...r.value].sort((e,t)=>e.order_id-t.order_id)),b=e=>e.submenu.slice().sort((e,t)=>e.order_id-t.order_id),x=e=>`\xA0`.repeat(e.indent*2)+e.name,S=l(()=>{let e=u(t.state.menuData);return console.log(e),e});return e(()=>{o()}),{menuData:r,sortedMenuData:y,sortedSubmenu:b,selectedMenuItem:i,fetchMenuData:o,saveMenuData:s,addMenuItem:d,addSubmenu:f,removeMenuItem:p,removeSubmenu:m,selectMenuItem:h,getIndentedName:x,isEditMode:a,resetForm:g,flattenedMenuData:S}}},b={class:`menu-management`},x={class:`button-container`},S={key:0,class:`edit-form`},C={class:`checkbox-container`},w=[`value`],T={class:`tree-view`},E={class:`menu-item`},D=[`onClick`],O={class:`action-buttons`},k=[`onClick`],A=[`onClick`],j={key:0},M={class:`menu-item`},N=[`onClick`],P={class:`action-buttons`},F=[`onClick`],I=[`onClick`];function L(e,n,l,u,_,v){return f(),o(`div`,b,[n[22]||=i(`h1`,null,`Menüverwaltung`,-1),i(`div`,x,[i(`button`,{onClick:n[0]||=(...e)=>u.addMenuItem&&u.addMenuItem(...e)},`Hauptmenü hinzufügen`),i(`button`,{onClick:n[1]||=(...e)=>u.saveMenuData&&u.saveMenuData(...e)},`Speichern`)]),u.selectedMenuItem?(f(),o(`div`,S,[i(`h2`,null,a(u.isEditMode?`Menüpunkt bearbeiten`:`Menüpunkt erstellen`),1),i(`form`,{onSubmit:n[11]||=m((...e)=>u.saveMenuData&&u.saveMenuData(...e),[`prevent`])},[n[15]||=i(`label`,{for:`name`},`Name`,-1),r(i(`input`,{id:`name`,"onUpdate:modelValue":n[2]||=e=>u.selectedMenuItem.name=e,placeholder:`Name`},null,512),[[p,u.selectedMenuItem.name]]),n[16]||=i(`label`,{for:`link`},`Link`,-1),r(i(`input`,{id:`link`,"onUpdate:modelValue":n[3]||=e=>u.selectedMenuItem.link=e,placeholder:`Link`},null,512),[[p,u.selectedMenuItem.link]]),n[17]||=i(`label`,{for:`page-title`},`Seitenname`,-1),r(i(`input`,{id:`page-title`,"onUpdate:modelValue":n[4]||=e=>u.selectedMenuItem.pageTitle=e,placeholder:`Seitenname`},null,512),[[p,u.selectedMenuItem.pageTitle]]),n[18]||=i(`label`,{for:`order-id`},`Order ID`,-1),r(i(`input`,{id:`order-id`,"onUpdate:modelValue":n[5]||=e=>u.selectedMenuItem.order_id=e,placeholder:`Order ID`,type:`number`,class:`order-id`},null,512),[[p,u.selectedMenuItem.order_id,void 0,{number:!0}]]),i(`div`,C,[i(`label`,null,[r(i(`input`,{type:`checkbox`,"onUpdate:modelValue":n[6]||=e=>u.selectedMenuItem.showInMenu=e},null,512),[[g,u.selectedMenuItem.showInMenu]]),n[12]||=c(` Im Menü anzeigen `,-1)]),i(`label`,null,[r(i(`input`,{type:`checkbox`,"onUpdate:modelValue":n[7]||=e=>u.selectedMenuItem.requiresAuth=e},null,512),[[g,u.selectedMenuItem.requiresAuth]]),n[13]||=c(` Authentifizierung erforderlich `,-1)])]),n[19]||=i(`label`,{for:`parent-id`},`Elternelement`,-1),r(i(`select`,{id:`parent-id`,"onUpdate:modelValue":n[8]||=e=>u.selectedMenuItem.parent_id=e},[n[14]||=i(`option`,{value:`-1`},`Ohne Elternelement`,-1),(f(!0),o(s,null,t(u.flattenedMenuData,e=>(f(),o(`option`,{key:e.id,value:e.id},a(u.getIndentedName(e)),9,w))),128))],512),[[h,u.selectedMenuItem.parent_id,void 0,{number:!0}]]),n[20]||=i(`label`,{for:`component`},`Vue-Komponente`,-1),r(i(`input`,{id:`component`,"onUpdate:modelValue":n[9]||=e=>u.selectedMenuItem.component=e,placeholder:`Vue-Komponente`},null,512),[[p,u.selectedMenuItem.component]]),i(`button`,{type:`button`,onClick:n[10]||=(...e)=>u.resetForm&&u.resetForm(...e)},`Neuen Menüpunkt erstellen`),n[21]||=i(`button`,{type:`submit`},`Speichern`,-1)],32)])):d(``,!0),i(`div`,T,[i(`ul`,null,[(f(!0),o(s,null,t(u.sortedMenuData,e=>(f(),o(`li`,{key:e.id},[i(`div`,E,[i(`span`,{onClick:t=>u.selectMenuItem(e)},a(e.name)+` (ID: `+a(e.order_id)+`) `,9,D),i(`div`,O,[i(`button`,{onClick:t=>u.addSubmenu(e),class:`action-button`},`Untermenü hinzufügen`,8,k),i(`button`,{onClick:t=>u.removeMenuItem(e),class:`action-button`},`Löschen`,8,A)])]),e.submenu.length?(f(),o(`ul`,j,[(f(!0),o(s,null,t(u.sortedSubmenu(e),t=>(f(),o(`li`,{key:t.id},[i(`div`,M,[i(`span`,{onClick:e=>u.selectMenuItem(t)},a(t.name)+` (ID: `+a(t.order_id)+`) `,9,N),i(`div`,P,[i(`button`,{onClick:e=>u.addSubmenu(t),class:`action-button`},`Untermenü hinzufügen`,8,F),i(`button`,{onClick:n=>u.removeSubmenu(e,t),class:`action-button`},`Löschen`,8,I)])])]))),128))])):d(``,!0)]))),128))])])])}var R=u(y,[[`render`,L],[`__scopeId`,`data-v-0b351711`]]);export{R as default};
//# sourceMappingURL=MenuManagement-CQlVlMhp.js.map