|
1
|
|
-import{a as U,E as j,q as A,g as F,v as O,h as T,I as R,n as x,b as G,x as P}from"./element-plus.js?ver=2.10.0";import"./dayjs.js?ver=2.10.0";import{S as z,c as H,D as J,A as q}from"./app.js?ver=2.10.0";import{F as W}from"./FluentDnD.js?ver=2.10.0";import{ae as h,D as a,F as d,K as m,B as Y,Q as r,S as n,I as o,P as g,O as u,R as k,E as c,a7 as K,ak as Q,ab as X}from"./vue.js?ver=2.10.0";import{_ as Z}from"./emoji-picker.js?ver=2.10.0";const $={name:"MenuGroupSettings",components:{SpaceCourseSelector:z,FluentDnD:W,LogoEmojiSelector:H,Drawer:J,ActionPopover:q},data(){return{editingItem:null,originalItem:null,openEditLinkDrawer:!1,isDragging:!1,isSpaceDragging:!1,draggingIndex:null,draggedSpaceIndex:null,mode:null,urlErrors:[],validationAttempt:0}},computed:{isDirty(){return!this.editingItem||!this.originalItem?!1:JSON.stringify(this.editingItem)!==JSON.stringify(this.originalItem)}},emits:["save"],props:{menuItems:{type:Array,required:!0},saving:{type:Boolean,default:!1},title:{type:String,required:!0},has_svg:{type:Boolean,default:!0},use_icon_selector:{type:Boolean,default:!1},has_enable_disable:{type:Boolean,default:!0},custom_svg:{type:Boolean,default:!1}},methods:{linkRowActions(e,i){const l=[{label:this.$t("Edit"),action:()=>this.initEditLink(e,"edit")}];return e.is_system!="yes"&&l.push({label:this.$t("Delete"),type:"danger",action:()=>this.removeLink(i)}),l},validateLinkForm(){return this.urlErrors=[],this.validationAttempt++,(!this.editingItem.title||!this.editingItem.title.trim())&&this.urlErrors.push(this.$t("Link title cannot be empty.")),this.editingItem.is_system!=="yes"&&(!this.editingItem.permalink||!this.editingItem.permalink.trim())&&this.urlErrors.push(this.$t("URL or path cannot be empty.")),this.urlErrors.length===0},initEditLink(e,i="create"){e.privacy||(e.privacy="public",e.membership_ids=e.membership_ids||[]),this.mode=i,this.urlErrors=[],this.originalItem=e,this.editingItem=JSON.parse(JSON.stringify(e||{})),this.$nextTick(()=>{this.openEditLinkDrawer=!0})},removeLink(e){this.$confirm(this.$t("Are you sure you want to remove this link?"),this.$t("Warning"),{confirmButtonText:this.$t("Yes"),cancelButtonText:this.$t("Cancel"),confirmButtonClass:"fcom_primary_button",cancelButtonClass:"fcom_secondary_button",type:"warning"}).then(()=>{this.menuItems.splice(e,1),this.saveMenuItems({customSuccessMessage:this.$t("Link deleted successfully.")})})},createOrUpdateLink(){if(!this.saving&&this.validateLinkForm()){if(!this.editingItem.slug)this.editingItem.slug="fcom_custom_"+this.editingItem.title.toLowerCase().replace(/[^a-z0-9]/g,"_"),this.menuItems.push(this.editingItem);else{const e=this.menuItems.findIndex(i=>i.slug===this.editingItem.slug);e!==-1?Object.assign(this.menuItems[e],this.editingItem):this.menuItems.push(this.editingItem)}this.openEditLinkDrawer=!1,this.editingItem=null,this.saveMenuItems()}},saveMenuItems({customSuccessMessage:e=null}={}){this.$emit("save",{customSuccessMessage:e})},drop({index:e}){this.draggingIndex=null,this.saveMenuItems()},beforeCloseDrawer(e){if(this.saving){this.$notify.info(this.$t("Please wait to complete."));return}this.editingItem=null,this.originalItem=null,this.mode=null,e()}}},ee={key:0,class:"fcom_section_primary fcom_menu_group_settings"},te={class:"fcom_section_primary_item"},ie={class:"fcom_section_primary_item_title"},se={class:"fcom_heading_item"},le={class:"fcom_section_item_actions"},ne={class:"fcom_section_items menu-items-container"},oe={key:0,style:{padding:"1rem"}},ae={class:"fcom_section_item_title"},me={class:"fcom_heading_item"},re={key:0,class:"community_avatar"},de=["src"],ue={key:1,class:"fcom_emoji"},ce={key:2,class:"fcom_shape"},_e=["innerHTML"],ge={class:"fcom_section_item_actions"},pe={key:0},he={key:1},fe={key:0},be={class:"fcom_help_text"},ye={class:"fcom_help_text"};function ve(e,i,l,Ie,s,p){const E=U,b=j,y=A,w=h("action-popover"),V=h("FluentDnD"),L=h("logo-emoji-selector"),v=F,_=O,S=T,f=R,D=x,C=h("SpaceCourseSelector"),M=G,B=P,N=h("drawer");return a(),d(k,null,[l.menuItems?(a(),d("div",ee,[m("div",te,[m("div",ie,[m("div",se,[Y(e.$slots,"title",{},()=>[m("h4",null,r(l.title),1)])])]),m("div",le,[n(E,{class:"fcom_primary_button",onClick:i[0]||(i[0]=t=>p.initEditLink({enabled:"yes",privacy:"public",membership_ids:[],new_tab:"yes"}))},{default:o(()=>[g(r(e.$t("Add New Link")),1)]),_:1})])]),m("div",ne,[l.menuItems.length?u("",!0):(a(),d("div",oe,[m("p",null,r(e.$t("No link has been added for this section")),1)])),n(V,{items:l.menuItems,"row-key":"slug",onDrop:p.drop,"item-class":"fcom_section_item"+(l.saving?"":" fcom_cursor_move"),"item-style":e.isMobile?"padding: 12px":"padding: 15px 15px 15px 35px"},{item:o(({data:t,index:I})=>[m("div",ae,[m("p",me,[l.use_icon_selector?(a(),d(k,{key:0},[i[12]||(i[12]=m("div",{class:"fcom_drag_handle"}," ⋮⋮ ",-1)),t.icon_image?(a(),d("div",re,[n(b,null,{default:o(()=>[m("img",{alt:"",style:{"max-width":"16px","max-height":"16px"},src:t.icon_image},null,8,de)]),_:2},1024)])):t.emoji?(a(),d("span",ue,r(t.emoji),1)):t.shape_svg?(a(),d("span",ce,[n(b,{innerHTML:t.shape_svg},null,8,["innerHTML"])])):u("",!0)],64)):t.icon_svg?(a(),c(b,{key:1},{default:o(()=>[m("span",{innerHTML:t.icon_svg},null,8,_e)]),_:2},1024)):u("",!0),m("span",null,r(t.title),1),t.is_unavailable=="yes"?(a(),c(y,{key:2,type:"danger"},{default:o(()=>[g(r(e.$t("unavailable")),1)]),_:1})):t.enabled=="yes"?(a(),c(y,{key:3,type:"success"},{default:o(()=>[g(r(e.$t("enabled")),1)]),_:1})):(a(),c(y,{key:4,type:"info"},{default:o(()=>[g(r(e.$t("disabled")),1)]),_:1}))])]),m("div",ge,[n(w,{items:p.linkRowActions(t,I),placement:"bottom-end"},null,8,["items"])])]),_:1},8,["items","onDrop","item-class","item-style"])])])):u("",!0),n(N,{modelValue:s.openEditLinkDrawer,"onUpdate:modelValue":i[11]||(i[11]=t=>s.openEditLinkDrawer=t),size:e.drawerWidth,"before-close":p.beforeCloseDrawer,id:"fluent_comminity_body","close-on-click-modal":!0,"has-close-confirmation":p.isDirty&&!l.saving,"close-confirmation-message":e.$t("Closing will discard your changes. Are you sure?")},{header:o(()=>[s.mode==="edit"?(a(),d("h4",pe,r(e.$t("Edit Link")),1)):(a(),d("h4",he,r(e.$t("Add Custom Link")),1))]),default:o(()=>[s.editingItem?(a(),d("div",fe,[n(B,{onSubmit:i[10]||(i[10]=K(t=>e.doNothing(),["prevent"])),"label-position":"top",disabled:l.saving},{default:o(()=>[n(_,{label:e.$t("Name of the Link")},{default:o(()=>[n(v,{disabled:l.saving,placeholder:e.$t("Public Name of the item"),modelValue:s.editingItem.title,"onUpdate:modelValue":i[2]||(i[2]=t=>s.editingItem.title=t)},Q({_:2},[l.use_icon_selector?{name:"prepend",fn:o(()=>[n(L,{custom_svg:l.custom_svg,fallback_mark:"<span style='font-size: 20px;'>☺</span>",onUpdate:i[1]||(i[1]=t=>{l.saving||(s.editingItem.emoji=t.emoji,s.editingItem.icon_image=t.logo,s.editingItem.shape_svg=t.shape_svg)}),config:{logo:s.editingItem.icon_image,emoji:s.editingItem.emoji||"",shape_svg:s.editingItem.shape_svg||""}},null,8,["custom_svg","config"])]),key:"0"}:void 0]),1032,["disabled","placeholder","modelValue"])]),_:1},8,["label"]),n(_,{label:e.$t("URL")},{default:o(()=>[n(v,{disabled:l.saving||s.editingItem.is_system=="yes",type:"text",placeholder:e.$t("URL or path (e.g. https://example.com or /members)"),modelValue:s.editingItem.permalink,"onUpdate:modelValue":i[3]||(i[3]=t=>s.editingItem.permalink=t)},null,8,["disabled","placeholder","modelValue"]),m("div",be,[m("p",null,r(e.$t("For internal links, start with / (e.g. /members).")),1)])]),_:1},8,["label"]),l.has_svg?(a(),c(_,{key:0,label:e.$t("SVG Code for Icon (Simplified SVG Code) / Emoji")},{default:o(()=>[n(v,{disabled:l.saving,placeholder:e.$t("SVG Code. No url please / You can use emoji"),type:"textarea",rows:3,modelValue:s.editingItem.icon_svg,"onUpdate:modelValue":i[4]||(i[4]=t=>s.editingItem.icon_svg=t)},null,8,["disabled","placeholder","modelValue"])]),_:1},8,["label"])):u("",!0),l.has_enable_disable?(a(),c(_,{key:1,style:{"margin-bottom":"5px"}},{default:o(()=>[n(S,{disabled:l.saving,"true-value":"yes","false-value":"no",modelValue:s.editingItem.enabled,"onUpdate:modelValue":i[5]||(i[5]=t=>s.editingItem.enabled=t),class:"fcom_checkbox"},{default:o(()=>[g(r(e.$t("Enable this link")),1)]),_:1},8,["disabled","modelValue"])]),_:1})):u("",!0),s.editingItem.is_system!="yes"?(a(),c(_,{key:2},{default:o(()=>[n(S,{disabled:l.saving,"true-value":"yes","false-value":"no",modelValue:s.editingItem.new_tab,"onUpdate:modelValue":i[6]||(i[6]=t=>s.editingItem.new_tab=t),class:"fcom_checkbox"},{default:o(()=>[g(r(e.$t("Open this link in a new tab.")),1)]),_:1},8,["disabled","modelValue"])]),_:1})):u("",!0),n(_,{label:e.$t("Visibility")},{default:o(()=>[n(D,{disabled:l.saving,modelValue:s.editingItem.privacy,"onUpdate:modelValue":i[7]||(i[7]=t=>s.editingItem.privacy=t)},{default:o(()=>[n(f,{label:e.$t("Everyone"),value:"public"},null,8,["label"]),n(f,{label:e.$t("Logged-in only"),value:"logged_in"},null,8,["label"]),n(f,{label:e.$t("Public only"),value:"logged_out_only"},null,8,["label"]),n(f,{label:e.$t("By Space/Course Memberships"),value:"members_only"},null,8,["label"])]),_:1},8,["disabled","modelValue"]),m("div",ye,r(e.$t("Select who can see this link.")),1)]),_:1},8,["label"]),s.editingItem.privacy=="members_only"?(a(),c(_,{key:3,label:e.$t("Select Space/Course Memberships")},{default:o(()=>[n(C,{disabled:l.saving,modelValue:s.editingItem.membership_ids,"onUpdate:modelValue":i[8]||(i[8]=t=>s.editingItem.membership_ids=t),placeholder_text:e.$t("Select Memberships"),is_multiple:!0},null,8,["disabled","modelValue","placeholder_text"])]),_:1},8,["label"])):u("",!0),s.urlErrors.length?(a(),c(M,{key:s.validationAttempt,type:"warning",closable:!0,"show-icon":"",style:{margin:"8px 0"}},{title:o(()=>[m("div",null,[m("ul",null,[(a(!0),d(k,null,X(s.urlErrors,(t,I)=>(a(),d("li",{style:{"margin-bottom":"0"},key:I},r(t),1))),128))])])]),_:1})):u("",!0),n(_,null,{default:o(()=>[n(E,{disabled:l.saving,class:"fcom_primary_button",onClick:i[9]||(i[9]=t=>p.createOrUpdateLink())},{default:o(()=>[g(r(l.saving?e.$t("Saving..."):e.$t("Save")),1)]),_:1},8,["disabled"])]),_:1})]),_:1},8,["disabled"])])):u("",!0)]),_:1},8,["modelValue","size","before-close","has-close-confirmation","close-confirmation-message"])],64)}const De=Z($,[["render",ve]]);export{De as M}; |
|
1
|
+import{a as H,E as G,q as x,g as z,v as J,I as q,n as W,s as Y,t as K,h as Q,b as X,x as Z}from"./element-plus.js?ver=2.11.0";import"./dayjs.js?ver=2.11.0";import{bH as $,v as ee,j as te,bS as ie}from"./vendor.js?ver=2.11.0";import{S as le,F as se,c as ne,D as oe,A as ae}from"./app.js?ver=2.11.0";import{ae as h,D as l,F as d,K as r,B as re,Q as m,S as a,I as o,P as p,O as _,R as f,E as u,a7 as de,ak as me,ab as E}from"./vue.js?ver=2.11.0";import{_ as ue}from"./emoji-picker.js?ver=2.11.0";const ce={name:"MenuGroupSettings",components:{SpaceCourseSelector:le,FluentDnD:se,LogoEmojiSelector:ne,Drawer:oe,ActionPopover:ae,Lock:$,View:ee,Hide:te,Edit:ie},data(){return{editingItem:null,originalItem:null,openEditLinkDrawer:!1,isDragging:!1,isSpaceDragging:!1,draggingIndex:null,draggedSpaceIndex:null,mode:null,urlErrors:[],validationAttempt:0}},computed:{isDirty(){return!this.editingItem||!this.originalItem?!1:JSON.stringify(this.editingItem)!==JSON.stringify(this.originalItem)},showLinkTypes(){var e;return!!this.page_options.length&&((e=this.editingItem)==null?void 0:e.is_system)!="yes"},showPagePicker(){var e;return this.showLinkTypes&&((e=this.editingItem)==null?void 0:e.link_type)==="space_page"},showDrawerDelete(){var e;return this.menu_rows&&this.mode==="edit"&&((e=this.editingItem)==null?void 0:e.is_system)!="yes"},systemLinkPath(){var i;const e=(i=this.editingItem)==null?void 0:i.route;if(!e)return"";try{return window.location.origin+this.$router.resolve(e).href}catch{return""}},showPlacement(){var e,i;return!!this.placement_options.length&&((e=this.editingItem)==null?void 0:e.is_system)!="yes"&&((i=this.editingItem)==null?void 0:i.link_type)!=="space_page"},enabledCount(){return this.menuItems.filter(e=>e.enabled!="no").length}},emits:["save","move"],props:{menuItems:{type:Array,required:!0},saving:{type:Boolean,default:!1},title:{type:String,required:!0},has_svg:{type:Boolean,default:!0},use_icon_selector:{type:Boolean,default:!1},has_enable_disable:{type:Boolean,default:!0},custom_svg:{type:Boolean,default:!1},page_options:{type:Array,default:()=>[]},placement:{type:String,default:""},placement_options:{type:Array,default:()=>[]},source_labels:{type:Object,default:()=>({})},menu_rows:{type:Boolean,default:!1},min_enabled:{type:Number,default:0}},methods:{rowActionLabel(e,i){return e==="locked"?this.$t("%s cannot be hidden",i.title):e==="show"?this.$t("Show %s",i.title):e==="hide"?this.$t("Hide %s",i.title):this.$t("Edit %s",i.title)},sourceLabel(e){return this.source_labels[e.source]||""},toggleEnabled(e){if(this.saving||e.is_locked=="yes")return;const i=e.enabled!="no";if(i&&this.enabledCount<=this.min_enabled){this.$notify.info(this.$t("At least one menu item has to stay visible. Turn another one on first."));return}e.enabled=i?"no":"yes",this.saveMenuItems()},removeEditingLink(){const e=this.menuItems.findIndex(i=>i.slug===this.editingItem.slug);this.openEditLinkDrawer=!1,this.editingItem=null,this.originalItem=null,this.mode=null,e!==-1&&this.removeLink(e)},linkRowActions(e,i){const s=[{label:this.$t("Edit"),action:()=>this.initEditLink(e,"edit")}];return e.is_system!="yes"&&s.push({label:this.$t("Delete"),type:"danger",action:()=>this.removeLink(i)}),s},validateLinkForm(){return this.urlErrors=[],this.validationAttempt++,(!this.editingItem.title||!this.editingItem.title.trim())&&this.urlErrors.push(this.$t("Link title cannot be empty.")),this.showPagePicker?this.editingItem.page_slug||this.urlErrors.push(this.$t("Please select a page.")):this.editingItem.is_system!=="yes"&&(!this.editingItem.permalink||!this.editingItem.permalink.trim())&&this.urlErrors.push(this.$t("URL or path cannot be empty.")),this.urlErrors.length===0},initEditLink(e,i="create"){e.privacy||(e.privacy="public",e.membership_ids=e.membership_ids||[]),this.page_options.length&&e.is_system!="yes"&&!e.link_type&&(e.link_type="url"),this.placement_options.length&&e.is_system!="yes"&&!e.placement&&(e.placement=this.placement),this.mode=i,this.urlErrors=[],this.originalItem=e,this.editingItem=JSON.parse(JSON.stringify(e||{})),this.$nextTick(()=>{this.openEditLinkDrawer=!0})},removeLink(e){this.$confirm(this.$t("Are you sure you want to remove this link?"),this.$t("Warning"),{confirmButtonText:this.$t("Yes"),cancelButtonText:this.$t("Cancel"),confirmButtonClass:"fcom_primary_button",cancelButtonClass:"fcom_secondary_button",type:"warning"}).then(()=>{this.menuItems.splice(e,1),this.saveMenuItems({customSuccessMessage:this.$t("Link deleted successfully.")})})},createOrUpdateLink(){if(this.saving||!this.validateLinkForm())return;const e=this.editingItem;if(this.showPagePicker?e.permalink="":this.page_options.length&&e.is_system!="yes"&&(e.link_type="url",e.page_slug=""),!e.slug)e.slug="fcom_custom_"+e.title.toLowerCase().replace(/[^a-z0-9]/g,"_"),e.is_custom="yes",this.menuItems.push(e);else{const i=this.menuItems.findIndex(s=>s.slug===e.slug);i!==-1?Object.assign(this.menuItems[i],e):this.menuItems.push(e)}if(this.openEditLinkDrawer=!1,this.editingItem=null,this.placement&&e.placement&&e.placement!==this.placement){const i=this.menuItems.findIndex(s=>s.slug===e.slug);i!==-1&&this.menuItems.splice(i,1),this.$emit("move",{item:e,to:e.placement});return}this.saveMenuItems()},saveMenuItems({customSuccessMessage:e=null}={}){this.$emit("save",{customSuccessMessage:e})},drop({index:e}){this.saving||(this.draggingIndex=null,this.saveMenuItems())},beforeCloseDrawer(e){if(this.saving){this.$notify.info(this.$t("Please wait to complete."));return}this.editingItem=null,this.originalItem=null,this.mode=null,e()}}},_e={key:0,class:"fcom_section_primary fcom_menu_group_settings"},ge={class:"fcom_section_primary_item"},he={class:"fcom_section_primary_item_title"},pe={class:"fcom_heading_item"},be={class:"fcom_section_item_actions"},ye={class:"fcom_section_items menu-items-container"},fe={key:0,style:{padding:"1rem"}},ve={class:"fcom_section_item_title"},ke={class:"fcom_heading_item"},Ie={key:0,class:"fcom_menu_row_grip","aria-hidden":"true"},we={key:1,class:"fcom_drag_handle"},Le={key:2,class:"community_avatar"},Ee=["src"],Ve={key:3,class:"fcom_emoji"},Se={key:4,class:"fcom_shape"},Ce=["innerHTML"],De={class:"fcom_section_item_actions"},Pe=["aria-label"],Ae=["disabled","aria-label","onClick"],Ue=["disabled","aria-label","onClick"],Be={key:0},Me={key:1},Te={key:0},je={class:"fcom_help_text"},Ne={class:"fcom_help_text"},Oe={key:0},Fe={key:1},Re={key:2},He={class:"fcom_help_text"};function Ge(e,i,s,xe,n,c){const k=H,y=G,v=x,S=h("Lock"),C=h("View"),D=h("Hide"),P=h("Edit"),A=h("action-popover"),U=h("FluentDnD"),B=h("logo-emoji-selector"),I=z,g=J,b=q,w=W,M=Y,T=K,V=Q,j=h("SpaceCourseSelector"),N=X,O=Z,F=h("drawer");return l(),d(f,null,[s.menuItems?(l(),d("div",_e,[r("div",ge,[r("div",he,[r("div",pe,[re(e.$slots,"title",{},()=>[r("h4",null,m(s.title),1)])])]),r("div",be,[a(k,{class:"fcom_primary_button",onClick:i[0]||(i[0]=t=>c.initEditLink({enabled:"yes",privacy:"public",membership_ids:[],new_tab:"yes"}))},{default:o(()=>[p(m(e.$t("Add New")),1)]),_:1})])]),r("div",ye,[s.menuItems.length?_("",!0):(l(),d("div",fe,[r("p",null,m(e.$t("No link has been added for this section")),1)])),a(U,{items:s.menuItems,"row-key":"slug",onDrop:c.drop,draggable:!s.saving,"item-class":"fcom_section_item fcom_space_item_padding"+(s.saving?"":" fcom_cursor_move")},{item:o(({data:t,index:L})=>[r("div",ve,[r("p",ke,[s.use_icon_selector?(l(),d(f,{key:0},[s.menu_rows?(l(),d("span",Ie,[...i[16]||(i[16]=[r("svg",{width:"12",height:"16",viewBox:"0 0 12 16",fill:"currentColor"},[r("circle",{cx:"3.5",cy:"3",r:"1.4"}),r("circle",{cx:"8.5",cy:"3",r:"1.4"}),r("circle",{cx:"3.5",cy:"8",r:"1.4"}),r("circle",{cx:"8.5",cy:"8",r:"1.4"}),r("circle",{cx:"3.5",cy:"13",r:"1.4"}),r("circle",{cx:"8.5",cy:"13",r:"1.4"})],-1)])])):(l(),d("div",we," ⋮⋮ ")),t.icon_image?(l(),d("div",Le,[a(y,null,{default:o(()=>[r("img",{alt:"",style:{"max-width":"16px","max-height":"16px"},src:t.icon_image},null,8,Ee)]),_:2},1024)])):t.emoji?(l(),d("span",Ve,m(t.emoji),1)):t.shape_svg?(l(),d("span",Se,[a(y,{innerHTML:t.shape_svg},null,8,["innerHTML"])])):_("",!0)],64)):t.icon_svg?(l(),u(y,{key:1},{default:o(()=>[r("span",{innerHTML:t.icon_svg},null,8,Ce)]),_:2},1024)):_("",!0),r("span",null,m(t.title),1),c.sourceLabel(t)?(l(),u(v,{key:2,class:"fcom_menu_source_tag",type:"info",size:"small"},{default:o(()=>[p(m(c.sourceLabel(t)),1)]),_:2},1024)):_("",!0),t.is_unavailable=="yes"?(l(),u(v,{key:3,type:"danger"},{default:o(()=>[p(m(e.$t("unavailable")),1)]),_:1})):t.enabled=="yes"?(l(),u(v,{key:4,type:"success"},{default:o(()=>[p(m(e.$t("enabled")),1)]),_:1})):(l(),u(v,{key:5,type:"info"},{default:o(()=>[p(m(e.$t("disabled")),1)]),_:1}))])]),r("div",De,[s.menu_rows?(l(),d(f,{key:0},[t.is_locked=="yes"?(l(),d("button",{key:0,type:"button",class:"fcom_menu_row_btn is_locked",disabled:"","aria-label":c.rowActionLabel("locked",t)},[a(y,null,{default:o(()=>[a(S)]),_:1})],8,Pe)):(l(),d("button",{key:1,type:"button",class:"fcom_menu_row_btn",disabled:s.saving,"aria-label":c.rowActionLabel(t.enabled=="no"?"show":"hide",t),onClick:R=>c.toggleEnabled(t)},[a(y,null,{default:o(()=>[t.enabled!="no"?(l(),u(C,{key:0})):(l(),u(D,{key:1}))]),_:2},1024)],8,Ae)),r("button",{type:"button",class:"fcom_menu_row_btn",disabled:s.saving,"aria-label":c.rowActionLabel("edit",t),onClick:R=>c.initEditLink(t,"edit")},[a(y,null,{default:o(()=>[a(P)]),_:1})],8,Ue)],64)):(l(),u(A,{key:1,items:c.linkRowActions(t,L),placement:"bottom-end"},null,8,["items"]))])]),_:1},8,["items","onDrop","draggable","item-class"])])])):_("",!0),a(F,{modelValue:n.openEditLinkDrawer,"onUpdate:modelValue":i[15]||(i[15]=t=>n.openEditLinkDrawer=t),size:e.drawerWidth,"before-close":c.beforeCloseDrawer,id:"fluent_comminity_body","close-on-click-modal":!0,"has-close-confirmation":c.isDirty&&!s.saving,"close-confirmation-message":e.$t("Closing will discard your changes. Are you sure?")},{header:o(()=>[n.mode==="edit"?(l(),d("h4",Be,m(e.$t("Edit Link")),1)):(l(),d("h4",Me,m(e.$t("Add Custom Link")),1))]),default:o(()=>[n.editingItem?(l(),d("div",Te,[a(O,{onSubmit:i[14]||(i[14]=de(t=>e.doNothing(),["prevent"])),"label-position":"top",disabled:s.saving},{default:o(()=>[a(g,{label:e.$t("Name of the Link")},{default:o(()=>[a(I,{disabled:s.saving,placeholder:e.$t("Public Name of the item"),modelValue:n.editingItem.title,"onUpdate:modelValue":i[2]||(i[2]=t=>n.editingItem.title=t)},me({_:2},[s.use_icon_selector?{name:"prepend",fn:o(()=>[a(B,{custom_svg:s.custom_svg,fallback_mark:"<span style='font-size: 20px;'>☺</span>",onUpdate:i[1]||(i[1]=t=>{s.saving||(n.editingItem.emoji=t.emoji,n.editingItem.icon_image=t.logo,n.editingItem.shape_svg=t.shape_svg)}),config:{logo:n.editingItem.icon_image,emoji:n.editingItem.emoji||"",shape_svg:n.editingItem.shape_svg||""}},null,8,["custom_svg","config"])]),key:"0"}:void 0]),1032,["disabled","placeholder","modelValue"])]),_:1},8,["label"]),c.showLinkTypes?(l(),u(g,{key:0,label:e.$t("Link to")},{default:o(()=>[a(w,{disabled:s.saving,modelValue:n.editingItem.link_type,"onUpdate:modelValue":i[3]||(i[3]=t=>n.editingItem.link_type=t)},{default:o(()=>[a(b,{label:e.$t("Space Page"),value:"space_page"},null,8,["label"]),a(b,{label:e.$t("Custom URL"),value:"url"},null,8,["label"])]),_:1},8,["disabled","modelValue"])]),_:1},8,["label"])):_("",!0),c.showPagePicker?(l(),u(g,{key:1,label:e.$t("Space Page")},{default:o(()=>[a(T,{disabled:s.saving,modelValue:n.editingItem.page_slug,"onUpdate:modelValue":i[4]||(i[4]=t=>n.editingItem.page_slug=t),filterable:"",style:{width:"100%"},placeholder:e.$t("Select a page")},{default:o(()=>[(l(!0),d(f,null,E(s.page_options,t=>(l(),u(M,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["disabled","modelValue","placeholder"]),r("div",je,[r("p",null,m(e.$t("The page keeps its own visibility. Linking it here replaces its automatic menu entry, so it is never listed twice.")),1)])]),_:1},8,["label"])):(l(),u(g,{key:2,label:e.$t("URL")},{default:o(()=>[a(I,{disabled:s.saving||n.editingItem.is_system=="yes",type:"text",placeholder:e.$t("URL or path (e.g. https://example.com or /members)"),"model-value":n.editingItem.is_system=="yes"?c.systemLinkPath:n.editingItem.permalink,"onUpdate:modelValue":i[5]||(i[5]=t=>n.editingItem.permalink=t)},null,8,["disabled","placeholder","model-value"]),r("div",Ne,[n.editingItem.is_system=="yes"&&n.editingItem.source==="space_page"?(l(),d("p",Oe,m(e.$t("This is a page link, edit the page's slug to change the URL.")),1)):n.editingItem.is_system=="yes"?(l(),d("p",Fe,m(e.$t("This is a built-in link, the URL can't be edited.")),1)):(l(),d("p",Re,m(e.$t("For internal links, start with / (e.g. /members).")),1))])]),_:1},8,["label"])),c.showPlacement?(l(),u(g,{key:3,label:e.$t("Placement")},{default:o(()=>[a(w,{disabled:s.saving,modelValue:n.editingItem.placement,"onUpdate:modelValue":i[6]||(i[6]=t=>n.editingItem.placement=t)},{default:o(()=>[(l(!0),d(f,null,E(s.placement_options,t=>(l(),u(b,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["disabled","modelValue"])]),_:1},8,["label"])):_("",!0),s.has_svg?(l(),u(g,{key:4,label:e.$t("SVG Code for Icon (Simplified SVG Code) / Emoji")},{default:o(()=>[a(I,{disabled:s.saving,placeholder:e.$t("SVG Code. No url please / You can use emoji"),type:"textarea",rows:3,modelValue:n.editingItem.icon_svg,"onUpdate:modelValue":i[7]||(i[7]=t=>n.editingItem.icon_svg=t)},null,8,["disabled","placeholder","modelValue"])]),_:1},8,["label"])):_("",!0),s.has_enable_disable?(l(),u(g,{key:5,style:{"margin-bottom":"5px"}},{default:o(()=>[a(V,{disabled:s.saving,"true-value":"yes","false-value":"no",modelValue:n.editingItem.enabled,"onUpdate:modelValue":i[8]||(i[8]=t=>n.editingItem.enabled=t),class:"fcom_checkbox"},{default:o(()=>[p(m(e.$t("Enable this link")),1)]),_:1},8,["disabled","modelValue"])]),_:1})):_("",!0),n.editingItem.is_system!="yes"?(l(),u(g,{key:6},{default:o(()=>[a(V,{disabled:s.saving,"true-value":"yes","false-value":"no",modelValue:n.editingItem.new_tab,"onUpdate:modelValue":i[9]||(i[9]=t=>n.editingItem.new_tab=t),class:"fcom_checkbox"},{default:o(()=>[p(m(e.$t("Open this link in a new tab.")),1)]),_:1},8,["disabled","modelValue"])]),_:1})):_("",!0),a(g,{label:e.$t("Visibility")},{default:o(()=>[a(w,{disabled:s.saving,modelValue:n.editingItem.privacy,"onUpdate:modelValue":i[10]||(i[10]=t=>n.editingItem.privacy=t)},{default:o(()=>[a(b,{label:e.$t("Everyone"),value:"public"},null,8,["label"]),a(b,{label:e.$t("Logged-in only"),value:"logged_in"},null,8,["label"]),a(b,{label:e.$t("Public only"),value:"logged_out_only"},null,8,["label"]),a(b,{label:e.$t("By Space/Course Memberships"),value:"members_only"},null,8,["label"])]),_:1},8,["disabled","modelValue"]),r("div",He,m(e.$t("Select who can see this link.")),1)]),_:1},8,["label"]),n.editingItem.privacy=="members_only"?(l(),u(g,{key:7,label:e.$t("Select Space/Course Memberships")},{default:o(()=>[a(j,{disabled:s.saving,modelValue:n.editingItem.membership_ids,"onUpdate:modelValue":i[11]||(i[11]=t=>n.editingItem.membership_ids=t),placeholder_text:e.$t("Select Memberships"),is_multiple:!0},null,8,["disabled","modelValue","placeholder_text"])]),_:1},8,["label"])):_("",!0),n.urlErrors.length?(l(),u(N,{key:n.validationAttempt,type:"warning",closable:!0,"show-icon":"",style:{margin:"8px 0"}},{title:o(()=>[r("div",null,[r("ul",null,[(l(!0),d(f,null,E(n.urlErrors,(t,L)=>(l(),d("li",{style:{"margin-bottom":"0"},key:L},m(t),1))),128))])])]),_:1})):_("",!0),a(g,null,{default:o(()=>[a(k,{disabled:s.saving,class:"fcom_primary_button",onClick:i[12]||(i[12]=t=>c.createOrUpdateLink())},{default:o(()=>[p(m(s.saving?e.$t("Saving..."):e.$t("Save")),1)]),_:1},8,["disabled"]),c.showDrawerDelete?(l(),u(k,{key:0,disabled:s.saving,type:"danger",plain:"",onClick:i[13]||(i[13]=t=>c.removeEditingLink())},{default:o(()=>[p(m(e.$t("Delete")),1)]),_:1},8,["disabled"])):_("",!0)]),_:1})]),_:1},8,["disabled"])])):_("",!0)]),_:1},8,["modelValue","size","before-close","has-close-confirmation","close-confirmation-message"])],64)}const Qe=ue(ce,[["render",Ge]]);export{Qe as M}; |