PageSourceSearch

https://www.golfclubbrokers.com/build/assets/AdminConfigPanel-D_jzc39S.js

js golfclubbrokers.com collected 2026-10-06 08:47:16 UTC 6,087 bytes, 1 lines download raw bytes

1import{d as K,o as M,b as n,h as l,e as t,t as r,f,F as T,r as $,m as y,i as V,s as v,x as j,N as z}from"./app-iurEp11U.js";import{u as q}from"./useBasePath-yhairkH1.js";import{u as G}from"./useFetchApi-M-KccD5O.js";/* empty css            */const J={class:"acp-wrap"},Q={class:"acp-header"},U={class:"acp-role-label"},W={class:"acp-actions"},X=["disabled"],Y={class:"mi mi-sm"},Z={key:0,class:"acp-loading"},ee={key:1,class:"acp-body"},se={class:"acp-cols"},ae=["onDragover","onDrop"],te={class:"acp-col-header"},oe={class:"mi mi-xs"},ne={class:"acp-col-count"},le={class:"acp-col-body"},ie=["onDragstart","onDragenter"],re={class:"acp-item-label"},de=["onClick"],ce=["onDragover"],ue={class:"acp-hidden-label"},ve={class:"acp-col-count"},pe={class:"acp-hidden-chips"},ge=["onDragstart"],fe=["onClick"],me={key:0,class:"acp-hint"},ke=K({__name:"AdminConfigPanel",props:{roleSlug:{},roleName:{}},setup(N){const b=N,{basePath:h}=q(),{call:k}=G(),d=v([]),D=v(!0),_=v(!1),m=v(!1),E=async()=>{var a;D.value=!0;try{const e=await k(`${h.value}/api/admin/dashboard-config/full/${b.roleSlug}`);e.ok&&(d.value=((a=e.data)==null?void 0:a.sections)||[])}catch{}finally{D.value=!1}},C=a=>d.value.filter(e=>e.visible&&e.column===a).sort((e,s)=>e.sort_order-s.sort_order),w=j(()=>d.value.filter(a=>!a.visible).sort((a,e)=>a.label.localeCompare(e.label))),L=()=>{["top","left","center","right"].forEach(a=>{const e=d.value.filter(s=>s.visible&&s.column===a);e.sort((s,o)=>s.sort_order-o.sort_order),e.forEach((s,o)=>{s.sort_order=o+1})})},p=v(null),c=v(null),u=v(null),B=(a,e)=>{p.value=a,e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",a))},A=()=>{p.value=null,c.value=null,u.value=null},x=(a,e)=>{e.preventDefault(),c.value=a,e.dataTransfer&&(e.dataTransfer.dropEffect="move")},O=a=>{a.currentTarget.contains(a.relatedTarget)||(c.value=null,u.value=null)},F=a=>{u.value=a},P=a=>{const e=p.value;if(!e)return;const s=d.value.find(o=>o.section_key===e);if(s){if(a==="hidden")s.visible=!1;else{s.visible=!0,s.column=a;const o=d.value.filter(i=>i.visible&&i.column===a&&i.section_key!==e).sort((i,S)=>i.sort_order-S.sort_order),g=u.value?o.findIndex(i=>i.section_key===u.value):-1;g>=0?o.splice(g,0,s):o.push(s),o.forEach((i,S)=>{i.sort_order=S+1})}L(),p.value=null,c.value=null,u.value=null}},R=a=>{a.visible=!a.visible,a.visible&&!["top","left","center","right"].includes(a.column)&&(a.column="left"),L()},H=async()=>{_.value=!0,m.value=!1;try{const a=d.value.map(s=>({section_key:s.section_key,column:s.column||"left",visible:s.visible,sort_order:s.sort_order}));(await k(`${h.value}/api/admin/dashboard-config/bulk-save`,{method:"POST",body:{role_slug:b.roleSlug,sections:a}})).ok&&(m.value=!0,setTimeout(()=>{m.value=!1,z.reload()},800))}catch{}finally{_.value=!1}},I=async()=>{if(confirm(`Reset ${b.roleName} dashboard to default layout?`))try{await k(`${h.value}/api/admin/dashboard-config/reset`,{method:"POST",body:{role_slug:b.roleSlug}}),await E(),z.reload()}catch{}};return M(E),(a,e)=>(n(),l("div",J,[t("div",Q,[e[3]||(e[3]=t("span",{class:"mi mi-sm"},"tune",-1)),e[4]||(e[4]=t("strong",null,"Configure Dashboard Layout",-1)),t("span",U,r(N.roleName),1),e[5]||(e[5]=t("span",{class:"acp-hint"},"Drag sections between columns to reorder. Drag to Hidden to deactivate.",-1)),t("div",W,[t("button",{class:"btn btn-sm btn-outline",onClick:I},[...e[2]||(e[2]=[t("span",{class:"mi mi-sm"},"restart_alt",-1),f(" Reset Defaults ",-1)])]),t("button",{class:"btn btn-sm btn-primary",onClick:H,disabled:_.value},[t("span",Y,r(m.value?"check":"save"),1),f(" "+r(m.value?"Saved!":_.value?"Saving…":"Save Layout"),1)],8,X)])]),D.value?(n(),l("div",Z,[...e[6]||(e[6]=[t("i",{class:"pi pi-spin pi-spinner"},null,-1),f(" Loading config…",-1)])])):(n(),l("div",ee,[t("div",se,[(n(),l(T,null,$([{id:"top",label:"Top Bar",icon:"view_headline"},{id:"left",label:"Left Column",icon:"view_column"},{id:"center",label:"Center Column",icon:"view_column"},{id:"right",label:"Right Column",icon:"view_sidebar"}],s=>t("div",{key:s.id,class:y(["acp-col",{"drag-over":c.value===s.id}]),onDragover:o=>x(s.id,o),onDragleave:O,onDrop:o=>P(s.id)},[t("div",te,[t("span",oe,r(s.icon),1),f(" "+r(s.label)+" ",1),t("span",ne,r(C(s.id).length),1)]),t("div",le,[(n(!0),l(T,null,$(C(s.id),o=>(n(),l("div",{key:o.section_key,class:y(["acp-item",{dragging:p.value===o.section_key,"insert-before":u.value===o.section_key&&c.value===s.id}]),draggable:"true",onDragstart:g=>B(o.section_key,g),onDragend:A,onDragenter:g=>F(o.section_key)},[e[8]||(e[8]=t("span",{class:"mi acp-drag-handle"},"drag_indicator",-1)),t("span",re,r(o.label),1),t("button",{class:"acp-hide-btn",t
1itle:"Hide",onClick:g=>R(o)},[...e[7]||(e[7]=[t("span",{class:"mi mi-xs"},"visibility_off",-1)])],8,de)],42,ie))),128)),C(s.id).length===0?(n(),l("div",{key:0,class:"acp-col-empty",onDragover:o=>x(s.id,o)}," Drop here ",40,ce)):V("",!0)])],42,ae)),64))]),t("div",{class:y(["acp-hidden-zone",{"drag-over":c.value==="hidden"}]),onDragover:e[0]||(e[0]=s=>x("hidden",s)),onDragleave:O,onDrop:e[1]||(e[1]=s=>P("hidden"))},[t("div",ue,[e[9]||(e[9]=t("span",{class:"mi mi-xs"},"visibility_off",-1)),e[10]||(e[10]=f(" Hidden Sections ",-1)),t("span",ve,r(w.value.length),1),e[11]||(e[11]=t("span",{class:"acp-hint",style:{"font-weight":"400"}},"— drag from above to hide, or click",-1)),e[12]||(e[12]=t("span",{class:"mi mi-xs",style:{"margin-left":"4px"}},"add_circle_outline",-1)),e[13]||(e[13]=t("span",{class:"acp-hint",style:{"font-weight":"400"}},"to activate",-1))]),t("div",pe,[(n(!0),l(T,null,$(w.value,s=>(n(),l("div",{key:s.section_key,class:y(["acp-chip",{dragging:p.value===s.section_key}]),draggable:"true",onDragstart:o=>B(s.section_key,o),onDragend:A},[e[15]||(e[15]=t("span",{class:"mi mi-xs"},"drag_indicator",-1)),f(" "+r(s.label)+" ",1),t("button",{class:"acp-show-btn",title:"Add to Left Column",onClick:o=>R(s)},[...e[14]||(e[14]=[t("span",{class:"mi mi-xs"},"add",-1)])],8,fe)],42,ge))),128)),w.value.length===0?(n(),l("div",me,"All sections are active")):V("",!0)])],34)]))]))}});export{ke as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.