UNPKG

@nextcloud/vue

Version:
4 lines (3 loc) 2.86 kB
"use strict";const d=require("@nextcloud/router");/* empty css */const b=require("./_plugin-vue2_normalizer-764a4c12.cjs"),g=require("./Linkify-a4db36a9.cjs"),h=require("escape-html"),s=require("striptags"),_=require("vue"),y={name:"NcMentionBubble",props:{id:{type:String,required:!0},title:{type:String,required:!0},icon:{type:String,required:!0},iconUrl:{type:[String,null],default:null},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl(){return this.iconUrl?this.iconUrl:this.id&&this.source==="users"?this.getAvatarUrl(this.id,44):null},mentionText(){return!this.id.includes(" ")&&!this.id.includes("/")?`@${this.id}`:`@"${this.id}"`}},methods:{getAvatarUrl(t,e){return d.generateUrl("/avatar/{user}/{size}",{user:t,size:e})}}};var v=function(){var t=this,e=t._self._c;return e("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":t.primary},attrs:{contenteditable:"false"}},[e("span",{staticClass:"mention-bubble__wrapper"},[e("span",{staticClass:"mention-bubble__content"},[e("span",{staticClass:"mention-bubble__icon",class:[t.icon,`mention-bubble__icon--${t.avatarUrl?"with-avatar":""}`],style:t.avatarUrl?{backgroundImage:`url(${t.avatarUrl})`}:null}),e("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:t.title}})]),e("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[t._v(t._s(t.mentionText))])])])},C=[],$=b.normalizeComponent(y,v,C,!1,null,"357e6d0e",null,null);const l=$.exports,o="(?:^|\\s)",u="(?:[^a-z]|$)",c=new RegExp(`${o}(@[a-zA-Z0-9_.@\\-']+)(${u})`,"gi"),p=new RegExp(`${o}(@&quot;[a-zA-Z0-9 _.@\\-']+&quot;)(${u})`,"gi"),q={props:{userData:{type:Object,default:()=>({})}},methods:{renderContent(t){return h(t).split(c).map(e=>e.split(p)).flat().map(e=>{if(!e.startsWith("@"))return g.Linkify(e);const n=e.slice(1).replace(/&quot;/gi,"");return" "+this.genSelectTemplate(n)}).join("").replace(/\n/gmi,"<br>").replace(/&amp;/gmi,"&")},parseContent(t){let e=t.replace(/<br>/gmi,` `);return e=e.replace(/&nbsp;/gmi," "),e=e.replace(/&amp;/gmi,"&"),e=e.replace(/<\/div>/gmi,` `),e=s(e,"<div>"),e=s(e),e},genSelectTemplate(t){if(typeof t>"u")return`${this.autocompleteTribute.current.collection.trigger}${this.autocompleteTribute.current.mentionText}`;const e=this.userData[t];return e?this.renderComponentHtml(e,l).replace(/[\n\t]/gmi,""):!t.includes(" ")&&!t.includes("/")?`@${t}`:`@"${t}"`},renderComponentHtml(t,e){const n=_.extend(e),i=new n({propsData:t}),r=document.createElement("div"),a=document.createElement("div");r.style.display="none",r.appendChild(a),document.body.appendChild(r),i.$mount(a);const m=r.innerHTML;return i.$destroy(),r.remove(),m}}};exports.NcMentionBubble=l,exports.USERID_REGEX=c,exports.USERID_REGEX_WITH_SPACE=p,exports.richEditor=q;