1"use strict";(globalThis.webpackChunkwips_components_scripts||=[]).push([[919],{c564c241c9c06fde(e,l,a){a.r(l),a.d(l,{default:()=>x}),a("1519ef9f27f54b60"),a("1afb2fd57889d583"),a("27e0a48d3d4d9aab"),a("28a2f2ca746ee508");var t=a("b641633d6c906d19"),u=a("a54fa6d0a722ba3f"),s=a("99c472be6da17922"),i=a("eb0d7dd6674ec63a"),o=a("ab5c7e913102dd40"),n=a("c4f2b76c676356a0"),d=a("0d02d238511e9d3e"),r=a("0a7bbc22bb49fa90"),c=a("82eea75f3b712219"),v=a("79db9680994c4062"),b=a("10e5bc8fed45f298"),p=a("739597339f607941"),m=a("160c89e79dd9c5af"),g=a("e4a3d3209ec84146"),f=a("cea3dd9cfdd4e17f"),y=a("e90e17db7b7ac076"),k=a("51075e8f671f51a9"),V=a("9ef7b5533d5d3204"),R=a("32a07343d5e06d61"),C=a("92c490e8e5efe9cd"),h=a("0c402b9e75a52e9e"),E=a("6155503b942128ba");const F=["textContent"],U=["textContent"],W=["textContent"],w=["textContent"],_="#create-service",D="#edit-service=",S="#tab=",A=(0,t.pM)({name:"GpdrConsentManager",__name:"GpdrConsentManager",setup(e){const l=S+"services",{t:a}=(0,o.s)(),{isSuperAdministrator:A}=(0,i.bP)((0,C.x)()),x=(0,h.B)(),{currentHashValue:L}=(0,i.bP)(x),H=(0,t.EW)(()=>"/Api/v2/gdpr-config/config"),{data:I,isLoading:X,error:T}=(0,E.u)(H),P=(0,t.EW)(()=>"/Api/v2/gdpr-config/services/enabled"),{data:K,isLoading:$,error:q}=(0,E.u)(P),M=(0,t.EW)(()=>"/Api/v2/gdpr-config/services/available"),{data:O,error:G,refresh:J}=(0,E.u)(M),j=(0,t.EW)(()=>O.value??[]),N=(0,t.EW)(()=>"/Api/v2/gdpr-config/services/custom"),{data:Y,isLoading:B,error:Q,refresh:z}=(0,E.u)(N),Z=(0,t.EW)(()=>Y.value??[]),ee=(0,u.IJ)(""),le=(0,u.IJ)(!1),ae=(0,u.IJ)(""),te=(0,u.KR)({}),ue=(0,u.IJ)(""),se=(0,u.IJ)("automatic-until-answer"),ie=(0,u.IJ)(!0),oe=(0,u.IJ)(!1),ne=(0,u.IJ)(!1),de=(0,u.KR)({customHeader:{},customConfigureDescription:{},requiredServicesDescription:{},featureServicesDescription:{},analyticsServicesDescription:{}}),re=(0,u.KR)({}),ce=(0,u.KR)({slug:"",serviceType:"feature",dataUsage:{},titles:{}}),ve=(0,u.IJ)(""),be=["anonymous-statistics","ad-measurement","personalized-ads","personalized-content","store-selected-items","verify-identity-to-reduce-abuse","browser-statistics","customer-support"],pe=(0,t.EW)(()=>[T,q,G,Q].some(e=>null!==e.value)),me=(0,t.EW)(()=>ee.value||(pe.value?a("Error reading data"):"")),ge=(0,t.EW)(()=>{const e=L.value;return e===_?{mode:"create"}:e.startsWith(D)?{mode:"edit",serviceId:Number(e.slice(14))}:{mode:"settings"}}),fe=(0,t.EW)(()=>{const e={id:"general",title:a("General")};return"gdpr"!==ae.value?[e]:[e,{id:"services",title:a("Services")},{id:"dialog",title:a("Consent dialog")}]}),ye=(0,t.EW)({get:()=>{const e=L.value,l=e.startsWith(S)?e.slice(5):"";return fe.value.some(e=>e.id===l)?l:"general"},set:e=>x.setHashValue(S+e)}),ke=(0,t.EW)(()=>{const e=ge.value;return"edit"!==e.mode?null:Z.value.find(l=>l.id===e.serviceId)??null}),Ve=(0,t.EW)(()=>Object.keys(te.value)),Re=(0,t.EW)(()=>[{key:"customHeader",label:a("Custom header")},{key:"customConfigureDescription",label:a("Custom configure description")},{key:"requiredServicesDescription",label:a("Required services description")},{key:"featureServicesDescription",label:a("Feature services description")},{key:"analyticsServicesDescription",label:a("Analytics services description")}].map(e=>({...e,languageCodes:Object.keys(de.value[e.key])}))),Ce=(0,t.EW)(()=>[{value:"required",label:a("Required")},{value:"feature",label:a("Feature")},{value:"analytics",label:a("Analytics")}]),he=(0,t.EW)(()=>[{key:"slug",caption:a("Service slug"),width:240,fill:!0,type:"text",filterable:!0,sortable:!0},{key:"serviceType",caption:a("Service type"),width:160,type:"select",options:Ce.value,sortable:!0},{key:"actions",caption:"",width:110,align:"right"}]),Ee=(0,t.EW)(()=>Z.value.map(e=>({id:e.id,values:{slug:e.slug,serviceType:e.serviceType}}))),Fe=(0,t.EW)(()=>({mode:ae.value,privacyPolicyUrls:te.value,gdprConsentDialogLogo:ue.value,gdprConsentDialogDisplayMode:se.value,skipOverviewMode:ie.value,hideHeaders:ne.value,hideServicesList:oe.value,...de.value})),Ue=(0,t.EW)(()=>({settings:Fe.value,enabledServices:Te(re.value)})),{hasChanges:We,markLoaded:we}=(0,d.d)({state:(0,t.EW)(()=>Pe(ce.value))}),_e=(0,t.EW)(()=>"settings"!==ge.value.mode&&We.value),De=(0,t.EW)(()=>I.value&&K.value?{settings:I.value,enabledServices:K.value}:null),Se=(0,t.EW)(()=>X.value||$.value),{isLoaded:Ae,savedMessage:xe,isClosing:Le,saveAndClose:He}=(0,n.G)({state:Ue,source:{url:H,data:De,isLoading:Se},fill:e=>{!function(e){const l=e.gdprConsentCustomConsentSettings;ae.value=e.mode??"",te.value=e.privacyPolicyUrls??{},ue.value=e.gdprConsentDialogLogo??"",se.value=e.gdprConsentDialogDisplayMode??null,ie.value=l?.skipOverviewMode??!1,oe.value=l?.hideServicesList??!1,ne.value=l?.hideHeaders??!1,de.value={customHeader:l?.customHeader??{},customConfigureDescription:l?.customConfigureDescription??{},requiredServicesDescription:l?.requiredServicesDescription??{},featureServicesDescription:l?.featureServicesDescription??{},analyticsServicesDescription:l?.analyticsServicesDescription??{}}}(e.settings),re.value=Object.fromEntries(e.enabledServices.map(e=>[e.name,!0]))},hasOtherChanges:_e}),Ie=(0,t.EW)(()=>Ae.value&&null!==O.value),Xe=(0,t.EW)(()=>"settings"===ge.value.mode?"":!Ae.value||B.value?null:L.value);function Te(e){return Object.keys(e).filter(l=>e[l])}function Pe(e){return{slug:e.slug,serviceType:e.serviceType,dataUsageKeys:Te(e.dataUsage),titles:e.titles}}function Ke(e){ee.value="",x.setHashValue(e)}function $e(e){Ke(D+e.id)}async function qe(e,l,a,t){const u=await fetch(e,{method:l,headers:{"content-type":"application/json"},body:JSON.stringify(a)});if(!u.ok){const e=await u.json().catch(()=>null);throw new Error(e?.error||t)}}async function Me(){le.value=!0,ee.value="";const e=j.value.filter(e=>re.value[e.name]);try{await Promise.all([qe(H.value,"PUT",Fe.value,a("Unable to save, try again")),..."gdpr"===ae.value?[qe(P.value,"PUT",e,a("Unable to save, try again"))]:[]]),await He(a("Successfully saved settings"),!0)}catch(e){ee.value=e instanceof Error?e.message:a("Unknown error")}finally{le.value=!1}}async function Oe(){const e=ke.value,t=ce.value;le.value=!0,ee.value="";try{await qe(e?`${N.value}/${e.id}
1`:N.value,e?"PUT":"POST",{id:e?.id??null,...Pe(t)},a("Failed to save custom service")),z(),J(),Ke(l)}catch(e){ee.value=e instanceof Error?e.message:a("Unknown error")}finally{le.value=!1}}return(0,t.wB)(Xe,e=>{if(null===e||e===ve.value)return;if(ve.value=e,""===e)return;const l=ke.value;ce.value={slug:l?.slug??"",serviceType:l?.serviceType??"feature",dataUsage:Object.fromEntries((l?.dataUsageKeys??[]).map(e=>[e,!0])),titles:Object.fromEntries(Ve.value.map(e=>[e,l?.titles?.[e]??""]))},we()},{immediate:!0}),(e,i)=>"settings"===ge.value.mode?((0,t.uX)(),(0,t.Wv)(r.default,{key:0},{default:(0,t.k6)(()=>[(0,t.bF)(c.default,{title:(0,u.R1)(a)("GDPR consent manager"),"submit-button-label":(0,u.R1)(a)("Save"),"back-button-label":(0,u.R1)(a)("Cancel"),"form-width":1020,disabled:!Ie.value||le.value||(0,u.R1)(Le),form:"",onSubmit:Me},{body:(0,t.k6)(()=>[(0,t.bF)(m.A,{modelValue:ye.value,"onUpdate:modelValue":i[11]||(i[11]=e=>ye.value=e),tabs:fe.value},{status:(0,t.k6)(()=>[me.value||(0,u.R1)(xe)?((0,t.uX)(),(0,t.Wv)(k.default,{key:0,error:me.value,success:(0,u.R1)(xe)},null,8,["error","success"])):(0,t.Q3)("",!0)]),general:(0,t.k6)(()=>[(0,t.bF)(b.A,{title:(0,u.R1)(a)("Mode")},{default:(0,t.k6)(()=>[(0,t.bF)(y.default,{type:"radio",modelValue:ae.value,"onUpdate:modelValue":i[0]||(i[0]=e=>ae.value=e),label:(0,u.R1)(a)("None"),"selected-value":""},null,8,["modelValue","label"]),(0,t.bF)(y.default,{type:"radio",modelValue:ae.value,"onUpdate:modelValue":i[1]||(i[1]=e=>ae.value=e),label:(0,u.R1)(a)("Use legacy cookie consent banner"),"selected-value":"legacy"},null,8,["modelValue","label"]),(0,t.bF)(y.default,{type:"radio",modelValue:ae.value,"onUpdate:modelValue":i[2]||(i[2]=e=>ae.value=e),label:(0,u.R1)(a)("Use GDPR data consent dialog"),"selected-value":"gdpr"},null,8,["modelValue","label"])]),_:1},8,["title"]),(0,t.bF)(b.A,{title:(0,u.R1)(a)("Privacy policy URLs")},{default:(0,t.k6)(()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(Ve.value,e=>((0,t.uX)(),(0,t.Wv)(y.default,{key:e,type:"url",modelValue:te.value[e],"onUpdate:modelValue":l=>te.value[e]=l,label:e},null,8,["modelValue","onUpdate:modelValue","label"]))),128))]),_:1},8,["title"])]),services:(0,t.k6)(()=>[(0,t.bF)(b.A,{title:(0,u.R1)(a)("GDPR data services")},{default:(0,t.k6)(()=>[(0,t.bF)((0,u.R1)(V.Y),null,{default:(0,t.k6)(()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(j.value,e=>((0,t.uX)(),(0,t.Wv)((0,u.R1)(V.f),{key:e.name,modelValue:re.value[e.name],"onUpdate:modelValue":l=>re.value[e.name]=l,label:e.name},null,8,["modelValue","onUpdate:modelValue","label"]))),128))]),_:1})]),_:1},8,["title"]),(0,t.bF)(b.A,{title:(0,u.R1)(a)("Custom services")},{actions:(0,t.k6)(()=>[(0,t.bF)(p.A,{icon:"add",label:(0,u.R1)(a)("Add custom service"),onClick:i[3]||(i[3]=e=>Ke(_))},null,8,["label"])]),default:(0,t.k6)(()=>[(0,t.bF)(g.A,{columns:he.value,rows:Ee.value,loading:(0,u.R1)(B),filterable:"",clickable:"","empty-text":(0,u.R1)(a)("No custom services defined"),onRowClick:$e},{"cell-actions":(0,t.k6)(({row:e})=>[(0,t.bF)(f.A,{danger:"",label:(0,u.R1)(a)("Delete"),onClick:l=>function(e){const l=Z.value.find(l=>l.id===e.id);l&&(0,R.a)(a("Are you sure you want to delete this custom service?"),"","",()=>async function(e){ee.value="",(await fetch(`${N.value}/${e.id}`,{method:"DELETE"})).ok?(z(),J()):ee.value=a("Failed to delete custom service")}(l))}(e)},null,8,["label","onClick"])]),_:1},8,["columns","rows","loading","empty-text"])]),_:1},8,["title"])]),dialog:(0,t.k6)(()=>[(0,t.bF)(b.A,{title:(0,u.R1)(a)("GDPR consent dialog settings")},{default:(0,t.k6)(()=>[(0,t.bF)(y.default,{type:"image-or-svg-relative-path",modelValue:ue.value,"onUpdate:modelValue":i[4]||(i[4]=e=>ue.value=e),label:(0,u.R1)(a)("Consent dialog logo")},null,8,["modelValue","label"]),(0,t.Lk)("div",{class:(0,s.C4)(e.$style.group)},[(0,t.Lk)("h3",{class:(0,s.C4)(e.$style.groupHeading),textContent:(0,s.v_)((0,u.R1)(a)("Dialog diplay trigger"))},null,10,F),(0,t.bF)(y.default,{type:"radio",modelValue:se.value,"onUpdate:modelValue":i[5]||(i[5]=e=>se.value=e),label:(0,u.R1)(a)("Always when answer has not been given yet (default)"),"selected-value":"automatic-until-answer"},null,8,["modelValue","label"]),(0,t.bF)(y.default,{type:"radio",modelValue:se.value,"onUpdate:modelValue":i[6]||(i[6]=e=>se.value=e),label:(0,u.R1)(a)("When requested by content on current page"),"selected-value":"automatic-when-required"},null,8,["modelValue","label"]),(0,t.bF)(y.default,{type:"radio",modelValue:se.value,"onUpdate:modelValue":i[7]||(i[7]=e=>se.value=e),label:(0,u.R1)(a)("Only on explicit user request"),"selected-value":"only-on-explicit-request"},null,8,["modelValue","label"])],2)]),_:1},8,["title"]),(0,u.R1)(A)?((0,t.uX)(),(0,t.Wv)(b.A,{key:0,title:(0,u.R1)(a)("Consent text-settings"),expandable:""},{default:(0,t.k6)(()=>[(0,t.Lk)("div",{class:(0,s.C4)(e.$style.group)},[(0,t.Lk)("h3",{class:(0,s.C4)(e.$style.groupHeading),textContent:(0,s.v_)((0,u.R1)(a)("Hide elements"))},null,10,U),(0,t.bF)((0,u.R1)(V.Y),null,{default:(0,t.k6)(()=>[(0,t.bF)((0,u.R1)(V.f),{modelValue:ie.value,"onUpdate:modelValue":i[8]||(i[8]=e=>ie.value=e),label:(0,u.R1)(a)("Skip overview page (show consent settings directly)")},null,8,["modelValue","label"]),(0,t.bF)((0,u.R1)(V.f),{modelValue:oe.value,"onUpdate:modelValue":i[9]||(i[9]=e=>oe.value=e),label:(0,u.R1)(a)("Hide services list?")},null,8,["modelValue","label"]),(0,t.bF)((0,u.R1)(V.f),{modelValue:ne.value,"onUpdate:modelValue":i[10]||(i[10]=e=>ne.value=e),label:(0,u.R1)(a)("Hide headers?")},null,8,["modelValue","label"])]),_:1})],2),((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(Re.value,l=>((0,t.uX)(),(0,t.CE)("div",{key:l.key,class:(0,s.C4)(e.$style.group)},[(0,t.Lk)("h3",{class:(0,s.C4)(e.$style.groupHeading),textContent:(0,s.v_)(l.label)},null,10,W),((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(l.languageCodes,e=>((0,t.uX)(),(0,t.Wv)(y.default,{key:e,type:"text",modelValue:de.value[l.key][e],"onUpdate:modelValue":a=>de.value[l.key][e]=a,label:e},null,8,["modelValue","onUpdate:modelValue","label"]))),128))],2))),128))]),_:1},8,["title"])):(0,t.Q3)("",!0)]),_:1},8,["modelValue","tabs"])]),_:1},8,["title","submit-button-label","back-button-label","disabled"])]),_:1})):((0,t.uX)(),(0,t.Wv)(r.default,{key:1},{default:(0,t.k6)(()=>[(0,t.bF)(c.default,{title:"create"===ge.value.mode?(0,u.R1)(a)("Add custom service"):(0,u.R1)(a)("Edit custom service"),"submit-button-label":(0,u.R1)(a)("Save"),"back-button-label":(0,u.R1)(a)("Cancel"),disabled:le.value||ve.value!==(0,u.R1)(L)||"edit"===ge.value.mode&&!ke.value,form:"",onBack:i[14]||(i[14]=e=>Ke(l)),onSubmit:Oe},{body:(0,t.k6)(()=>[(0,t.bF)(v.default,null,{default:(0,t.k6)(()=>[me.value?((0,t.uX)(),(0,t.Wv)(k.default,{key:0,error:me.value},null,8,["error"])):(0,t.Q3)("",!0),(0,t.bF)(b.A,{title:(0,u.R1)(a)("Details")},{default:(0,t.k6)(()=>[(0,t.bF)(y.default,{type:"text",modelValue:ce.value.slug,"onUpdate:modelValue":i[12]||(i[12]=e=>ce.value.slug=e),label:(0,u.R1)(a)("Service slug"),disabled:"edit"===ge.value.mode,required:""},null,8,["modelValue","label","disabled"]),(0,t.Lk)("div",{class:(0,s.C4)(e.$style.group)},[(0,t.Lk)("h3",{class:(0,s.C4)(e.$style.groupHeading),textContent:(0,s.v_)((0,u.R1)(a)("Service type"))},null,10,w),((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(Ce.value,e=>((0,t.uX)(),(0,t.Wv)(y.default,{key:e.value,type:"radio",modelValue:ce.value.serviceType,"onUpdate:modelValue":i[13]||(i[13]=e=>ce.value.serviceType=e),label:e.label,"selected-value":e.value},null,8,["modelValue","label","selected-value"]))),128))],2)]),_:1},8,["title"]),(0,t.bF)(b.A,{title:(0,u.R1)(a)("Data usage")},{default:(0,t.k6)(()=>[(0,t.bF)((0,u.R1)(V.Y),null,{default:(0,t.k6)(()=>[((0,t.uX)(),(0,t.CE)(t.FK,null,(0,t.pI)(be,e=>(0,t.bF)((0,u.R1)(V.f),{key:e,modelValue:ce.value.dataUsage[e],"onUpdate:modelValue":l=>ce.value.dataUsage[e]=l,label:e},null,8,["modelValue","onUpdate:modelValue","label"])),64))]),_:1})]),_:1},8,["title"]),(0,t.bF)(b.A,{title:(0,u.R1)(a)("Display name")},{default:(0,t.k6)(()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(Ve.value,e=>((0,t.uX)(),(0,t.Wv)(y.default,{key:e,type:"text",modelValue:ce.value.titles[e],"onUpdate:modelValue":l=>ce.value.titles[e]=l,label:e},null,8,["modelValue","onUpdate:modelValue","label"]))),128))]),_:1},8,["title"])]),_:1})]),_:1},8,["title","submit-button-label","back-button-label","disabled"])]),_:1}))}}),x=(0,a("461bee8a7784aa7f").A)(A,[["__cssModules",{$style:{group:"GpdrConsentManager__group--iahFn",groupHeading:"GpdrConsentManager__groupHeading--Yob3l"}}]])}}]);
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.