mirror of
https://github.com/nextcloud/server.git
synced 2026-06-24 12:24:39 +02:00
950ba3ef91
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
(()=>{"use strict";var e,t,n,r={30529(e,t,n){var r=n(21777),i=n(85471),a=n(81222),l=n(53334),o=n(53429),c=n(98469),s=n(74095),u=n(2769),p=n(26690);const d=(0,i.pM)({__name:"PublicPageMenuCustomEntry",props:{id:null,html:null},setup(e){const t=(0,i.KR)(),n=(0,i.KR)("presentation");return(0,i.sV)(()=>{const e=t.value?.querySelector('[role="menuitem"]');if(e)return;const r=t.value?.querySelector("button")??t.value?.querySelector("a");r?r.role="menuitem":n.value="menuitem"}),{__sfc:!0,listItem:t,itemRole:n}}});var m=n(14486);const f=(0,m.A)(d,function(){var e=this;return(0,e._self._c)("li",{ref:"listItem",attrs:{role:e._self._setupProxy.itemRole},domProps:{innerHTML:e._s(e.html)}})},[],!1,null,null,null).exports;var b=n(1522);const v=(0,i.pM)({__name:"PublicPageMenuEntry",props:{clickOnly:{type:Boolean},id:null,label:null,icon:null,href:null,details:null},setup(e){const t=e;return(0,i.sV)(()=>{const e=document.getElementById(`${t.id}--link`);e.role="menuitem",t.clickOnly&&(e.onclick=e=>e.preventDefault())}),{__sfc:!0,props:t,NcListItem:b.A}}});var g=n(85072),h=n.n(g),y=n(97825),A=n.n(y),_=n(77659),k=n.n(_),C=n(55056),x=n.n(C),P=n(10540),w=n.n(P),M=n(41113),E=n.n(M),S=n(40306),N={};N.styleTagTransform=E(),N.setAttributes=x(),N.insert=k().bind(null,"head"),N.domAPI=A(),N.insertStyleElement=w(),h()(S.A,N),S.A&&S.A.locals&&S.A.locals;const D=(0,m.A)(v,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcListItem,{attrs:{"anchor-id":`${e.id}--link`,compact:"",details:e.details,href:e.href,name:e.label,role:"presentation"},on:{click:function(t){return e.$emit("click")}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.$scopedSlots.icon?e._t("icon"):t("div",{staticClass:"icon public-page-menu-entry__icon",class:[e.icon],attrs:{role:"presentation"}})]},proxy:!0}],null,!0)})},[],!1,null,"7256a1f8",null).exports;var I=n(44368),T=n(85168),L=n(63814),O=n(32505),$=n(94219),R=n(88289),B=n(82182),F=n(35947);const q=null===(U=(0,r.HW)())?(0,F.YK)().setApp("core").build():(0,F.YK)().setApp("core").setUid(U.uid).build();var U;(0,F.YK)().setApp("unified-search").detectUser().build();const K=(0,i.pM)({__name:"PublicPageMenuExternalDialog",props:{label:null},setup(e){const t=(0,i.KR)(!1),n=(0,i.KR)(""),r=(0,i.KR)(),a=(0,i.KR)(!0);return(0,i.sV)(()=>(0,i.dY)(()=>r.value.focus())),(0,i.wB)(n,()=>{let e="";n.value.includes("@")?n.value.match(/@(.+\..{2,}|(?:http:\/\/)?localhost)(:\d\d+)?$/)||(e=(0,l.t)("core","Invalid remote URL.")):e=(0,l.t)("core","The remote URL must include the user."),r.value.$el.querySelector("input").setCustomValidity(e),r.value.$el.querySelector("input").reportValidity()}),{__sfc:!0,loading:t,remoteUrl:n,input:r,open:a,createFederatedShare:async function(){t.value=!0;try{const e=(0,L.Jv)("/apps/federatedfilesharing/createFederatedShare"),{data:t}=await I.Ay.post(e,{shareWith:n.value,token:(0,O.G)()});t.remoteUrl.includes("://")?window.location.href=t.remoteUrl:window.location.href=`${window.location.protocol}//${t.remoteUrl}`}catch(e){q.error("Failed to create federated share",{error:e}),(0,T.Qg)((0,l.t)("files_sharing","Failed to add the public link to your Nextcloud"))}finally{t.value=!1}},t:l.t,NcButton:s.A,NcDialog:$.A,NcLoadingIcon:R.A,NcTextField:B.A}}}),j=(0,m.A)(K,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcDialog,{attrs:{"is-form":"",name:e.label,open:n.open},on:{"update:open":function(e){n.open=e},submit:n.createFederatedShare},scopedSlots:e._u([{key:"actions",fn:function(){return[t(n.NcButton,{attrs:{disabled:n.loading,variant:"primary",type:"submit"},scopedSlots:e._u([n.loading?{key:"icon",fn:function(){return[t(n.NcLoadingIcon)]},proxy:!0}:null],null,!0)},[e._v("\n\t\t\t"+e._s(n.t("core","Create share"))+"\n\t\t")])]},proxy:!0}])},[t(n.NcTextField,{ref:"input",attrs:{label:n.t("core","Federated user"),placeholder:n.t("core","user@your-nextcloud.org"),required:""},model:{value:n.remoteUrl,callback:function(e){n.remoteUrl=e},expression:"remoteUrl"}})],1)},[],!1,null,null,null).exports;var G=n(54914);const H=(0,i.pM)({__name:"PublicPageMenuExternalEntry",props:{id:null,label:null,icon:null,href:null},emits:["click"],setup(e,{emit:t}){const n=(0,i.KR)(!1);return{__sfc:!0,emit:t,showDialog:n,openDialog:function(){n.value=!0,t("click")},Fragment:G.F,PublicPageMenuEntry:D,PublicPageMenuExternalDialog:j}}}),V=(0,m.A)(H,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.Fragment,[t(n.PublicPageMenuEntry,{attrs:{id:e.id,icon:e.icon,href:"#",label:e.label},on:{click:n.openDialog}}),e._v(" "),n.showDialog?t(n.PublicPageMenuExternalDialog,{attrs:{label:e.label}}):e._e()],1)},[],!1,null,null,null).exports,z=(0,i.pM)({__name:"PublicPageMenuLinkEntry",props:{id:null,label:null,icon:null,href:null},emits:["click"],setup(e,{emit:t}){const n=e;async function r(){try{await window.navigator.clipboard.writeText(n.href),(0,T.Te)((0,l.t)("core","Direct link copied"))}catch{window.prompt((0,l.t)("core","Please copy the link manually:"),n.href)}}return{__sfc:!0,props:n,emit:t,copyLink:r,onClick:function(){r(),t("click")},PublicPageMenuEntry:D}}}),Y=(0,m.A)(z,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.PublicPageMenuEntry,{attrs:{id:e.id,"click-only":"",icon:e.icon,href:e.href,label:e.label},on:{click:n.onClick}})},[],!1,null,null,null).exports,W=(0,i.pM)({__name:"PublicPageMenu",setup(e){const t=(0,a.C)("core","public-page-menu"),n=(0,i.KR)(!1),r=(0,o.F)(),d=(0,i.EW)(()=>r.value?void 0:t[0]),m=(0,i.EW)(()=>r.value?t:t.slice(1));return{__sfc:!0,menuEntries:t,showMenu:n,isMobile:r,primaryAction:d,secondaryActions:m,getComponent:function(e){if("html"in e)return f;switch(e.id){case"save":return V;case"directLink":return Y;default:return D}},openDialogIfNeeded:function(){"save"===d.value?.id&&(0,c.S)(j,{label:d.value.label})},t:l.t,NcButton:s.A,NcHeaderMenu:u.A,IconMore:p.A}}});var X=n(93993),J={};J.styleTagTransform=E(),J.setAttributes=x(),J.insert=k().bind(null,"head"),J.domAPI=A(),J.insertStyleElement=w(),h()(X.A,J),X.A&&X.A.locals&&X.A.locals;const Q=(0,m.A)(W,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t("div",{staticClass:"public-page-menu__wrapper"},[n.primaryAction?t(n.NcButton,{staticClass:"public-page-menu__primary",attrs:{id:"public-page-menu--primary",href:n.primaryAction.href,variant:"primary"},on:{click:n.openDialogIfNeeded},scopedSlots:e._u([n.primaryAction.icon?{key:"icon",fn:function(){return[t("div",{staticClass:"icon public-page-menu__primary-icon",class:[n.primaryAction.icon]})]},proxy:!0}:null],null,!0)},[e._v("\n\t\t"+e._s(n.primaryAction.label)+"\n\t")]):e._e(),e._v(" "),n.secondaryActions.length>0?t(n.NcHeaderMenu,{attrs:{id:"public-page-menu","aria-label":n.t("core","More actions"),open:n.showMenu},on:{"update:open":function(e){n.showMenu=e}},scopedSlots:e._u([{key:"trigger",fn:function(){return[t(n.IconMore,{attrs:{size:20}})]},proxy:!0}],null,!1,262033445)},[e._v(" "),t("ul",{staticClass:"public-page-menu",attrs:{"aria-label":n.t("core","More actions"),role:"menu"}},e._l(n.secondaryActions,function(r,i){return t(n.getComponent(r),e._b({key:i,tag:"component",on:{click:function(e){n.showMenu=!1}}},"component",r,!1))}),1)]):e._e()],1)},[],!1,null,"6996ae48",null).exports;n.nc=(0,r.aV)(),(new(i.Ay.extend(Q))).$mount("#public-page-menu")},93993(e,t,n){n.d(t,{A:()=>o});var r=n(71354),i=n.n(r),a=n(76314),l=n.n(a)()(i());l.push([e.id,".public-page-menu[data-v-6996ae48]{box-sizing:border-box}.public-page-menu[data-v-6996ae48]> *{box-sizing:border-box}.public-page-menu__wrapper[data-v-6996ae48]{display:flex;flex-direction:row;gap:var(--default-grid-baseline)}.public-page-menu__primary[data-v-6996ae48]{height:var(--default-clickable-area);margin-block:calc((var(--header-height) - var(--default-clickable-area))/2)}.public-page-menu__primary[data-v-6996ae48]:focus-visible{border-color:var(--color-background-plain-text) !important}.public-page-menu__primary-icon[data-v-6996ae48]{filter:var(--primary-invert-if-dark)}@media(prefers-color-scheme: dark){.public-page-menu__primary-icon[data-v-6996ae48]{filter:var(--primary-invert-if-bright)}}[data-themes*=dark]{filter:var(--primary-invert-if-bright)}[data-themes*=light]{filter:var(--primary-invert-if-dark)}","",{version:3,sources:["webpack://./core/src/views/PublicPageMenu.vue"],names:[],mappings:"AACA,mCACC,qBAAA,CAEA,sCACC,qBAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,gCAAA,CAGD,4CACC,oCAAA,CACA,2EAAA,CAGA,0DACC,0DAAA,CAIF,iDAEC,oCAAA,CAGA,mCALD,iDAME,sCAAA,CAAA,CAMH,oBACC,sCAAA,CAID,qBACC,oCAAA",sourcesContent:["\n.public-page-menu {\n\tbox-sizing: border-box;\n\n\t> :deep(*) {\n\t\tbox-sizing: border-box;\n\t}\n\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: var(--default-grid-baseline);\n\t}\n\n\t&__primary {\n\t\theight: var(--default-clickable-area);\n\t\tmargin-block: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\n\t\t// Ensure the correct focus-visible color is used (as this is rendered directly on the background(-image))\n\t\t&:focus-visible {\n\t\t\tborder-color: var(--color-background-plain-text) !important;\n\t\t}\n\t}\n\n\t&__primary-icon {\n\t\t// Light mode: icon is black by default, invert to white when primary is dark\n\t\tfilter: var(--primary-invert-if-dark);\n\n\t\t// Dark mode: icon is white (swapped in icons.css), invert to black when primary is bright\n\t\t@media (prefers-color-scheme: dark) {\n\t\t\tfilter: var(--primary-invert-if-bright);\n\t\t}\n\t}\n}\n\n// Dark theme via Nextcloud setting (data-themes attribute, not media query)\n:global([data-themes*=dark]) .public-page-menu__primary-icon {\n\tfilter: var(--primary-invert-if-bright);\n}\n\n// Light theme explicitly set (overrides dark media query if system is dark but user chose light)\n:global([data-themes*=light]) .public-page-menu__primary-icon {\n\tfilter: var(--primary-invert-if-dark);\n}\n"],sourceRoot:""}]);const o=l},40306(e,t,n){n.d(t,{A:()=>o});var r=n(71354),i=n.n(r),a=n(76314),l=n.n(a)()(i());l.push([e.id,"\n.public-page-menu-entry__icon[data-v-7256a1f8] {\n\tpadding-inline-start: var(--default-grid-baseline);\n}\n","",{version:3,sources:["webpack://./core/src/components/PublicPageMenu/PublicPageMenuEntry.vue"],names:[],mappings:";AAmDA;CACA,kDAAA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n --\x3e\n<template>\n\t<NcListItem\n\t\t:anchor-id="`${id}--link`"\n\t\tcompact\n\t\t:details="details"\n\t\t:href="href"\n\t\t:name="label"\n\t\trole="presentation"\n\t\t@click="$emit(\'click\')">\n\t\t<template #icon>\n\t\t\t<slot v-if="$scopedSlots.icon" name="icon" />\n\t\t\t<div\n\t\t\t\tv-else\n\t\t\t\trole="presentation"\n\t\t\t\tclass="icon public-page-menu-entry__icon"\n\t\t\t\t:class="[icon]" />\n\t\t</template>\n\t</NcListItem>\n</template>\n\n<script setup lang="ts">\nimport { onMounted } from \'vue\'\nimport NcListItem from \'@nextcloud/vue/components/NcListItem\'\n\nconst props = defineProps<{\n\t/** Only emit click event but do not open href */\n\tclickOnly?: boolean\n\t// menu entry props\n\tid: string\n\tlabel: string\n\ticon?: string\n\thref: string\n\tdetails?: string\n}>()\n\nonMounted(() => {\n\tconst anchor = document.getElementById(`${props.id}--link`) as HTMLAnchorElement\n\t// Make the `<a>` a menuitem\n\tanchor.role = \'menuitem\'\n\t// Prevent native click handling if required\n\tif (props.clickOnly) {\n\t\tanchor.onclick = (event) => event.preventDefault()\n\t}\n})\n<\/script>\n\n<style scoped>\n.public-page-menu-entry__icon {\n\tpadding-inline-start: var(--default-grid-baseline);\n}\n</style>\n'],sourceRoot:""}]);const o=l}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={id:e,loaded:!1,exports:{}};return r[e].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=r,e=[],a.O=(t,n,r,i)=>{if(!n){var l=1/0;for(u=0;u<e.length;u++){for(var[n,r,i]=e[u],o=!0,c=0;c<n.length;c++)(!1&i||l>=i)&&Object.keys(a.O).every(e=>a.O[e](n[c]))?n.splice(c--,1):(o=!1,i<l&&(l=i));if(o){e.splice(u--,1);var s=r();void 0!==s&&(t=s)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,r,i]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,n)=>(a.f[n](e,t),t),[])),a.u=e=>e+"-"+e+".js?v="+{853:"6833bedf1e8274b7e505",1604:"a9b2c11c7ea153e582fe",6505:"d9fda59cc4f5faf614df",6597:"ed51e93335fe8b279e03",7859:"40215e5f906f720b3174",8582:"5436a03717a70af24780",9150:"6df0bf97719b9e8b8cd0"}[e],a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},n="nextcloud-ui-legacy:",a.l=(e,r,i,l)=>{if(t[e])t[e].push(r);else{var o,c;if(void 0!==i)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==n+i){o=p;break}}o||(c=!0,(o=document.createElement("script")).charset="utf-8",a.nc&&o.setAttribute("nonce",a.nc),o.setAttribute("data-webpack",n+i),o.src=e),t[e]=[r];var d=(n,r)=>{o.onerror=o.onload=null,clearTimeout(m);var i=t[e];if(delete t[e],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach(e=>e(r)),n)return n(r)},m=setTimeout(d.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=d.bind(null,o.onerror),o.onload=d.bind(null,o.onload),c&&document.head.appendChild(o)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=1688,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=n[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={1688:0};a.f.j=(t,n)=>{var r=a.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise((n,i)=>r=e[t]=[n,i]);n.push(r[2]=i);var l=a.p+a.u(t),o=new Error;a.l(l,n=>{if(a.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),l=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+l+")",o.name="ChunkLoadError",o.type=i,o.request=l,r[1](o)}},"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,n)=>{var r,i,[l,o,c]=n,s=0;if(l.some(t=>0!==e[t])){for(r in o)a.o(o,r)&&(a.m[r]=o[r]);if(c)var u=c(a)}for(t&&t(n);s<l.length;s++)i=l[s],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(u)},n=globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.nc=void 0;var l=a.O(void 0,[4208],()=>a(30529));l=a.O(l)})();
|
|
//# sourceMappingURL=core-public-page-menu.js.map?v=5d4bda7d1be547107a6a
|