From 9d904b144bde5f9aac440a30fea2a8f25f72eed6 Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Wed, 1 Mar 2023 16:59:09 -0800 Subject: [PATCH] Add avatar contact img description Signed-off-by: Christopher Ng --- core/src/OC/contactsmenu.js | 5 +++++ core/src/OC/contactsmenu/contact.handlebars | 4 ++-- dist/core-login.js | 4 ++-- dist/core-login.js.map | 2 +- dist/core-main.js | 4 ++-- dist/core-main.js.map | 2 +- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/src/OC/contactsmenu.js b/core/src/OC/contactsmenu.js index b9f4b0fc064..58d319a03c0 100644 --- a/core/src/OC/contactsmenu.js +++ b/core/src/OC/contactsmenu.js @@ -55,6 +55,11 @@ const Contact = Model.extend({ } else { this.set('hasManyActions', true) } + + const fullName = this.get('fullName') + if (this.get('avatar') && fullName) { + this.set('avatarLabel', t('core', 'Avatar of {fullName}', { fullName })) + } } }) diff --git a/core/src/OC/contactsmenu/contact.handlebars b/core/src/OC/contactsmenu/contact.handlebars index afb2f627663..483cb3e93d5 100644 --- a/core/src/OC/contactsmenu/contact.handlebars +++ b/core/src/OC/contactsmenu/contact.handlebars @@ -2,11 +2,11 @@ {{#if contact.profileUrl}} {{#if contact.profileTitle}} - + {{contact.avatarLabel}} {{/if}} {{else}} - + {{contact.avatarLabel}} {{/if}} {{else}} {{#if contact.profileUrl}} diff --git a/dist/core-login.js b/dist/core-login.js index 8dfe02976b3..cfc3c367821 100644 --- a/dist/core-login.js +++ b/dist/core-login.js @@ -1,3 +1,3 @@ /*! For license information please see core-login.js.LICENSE.txt */ -!function(){var e,o={39977:function(e,o,i){"use strict";var r=i(20144),a=i(78595),s=i(19755),l=i.n(s),c=i(79753),u=i(25108),d={},f=[],p=i(18181),h=i(64024),m=i(25108),g={updatableNotification:null,getDefaultNotificationFunction:null,setDefault:function(t){this.getDefaultNotificationFunction=t},hide:function(t,e){p.ZP.isFunction(t)&&(e=t,t=void 0),t?(t.each((function(){l()(this)[0].toastify?l()(this)[0].toastify.hideToast():m.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)})),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):m.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml:function(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:h.Rl;var n=(0,h.PV)(t,e);return n.toastElement.toastify=n,l()(n.toastElement)},show:function(t,e){(e=e||{}).timeout=e.timeout?e.timeout:h.Rl;var n=(0,h.PV)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return n.toastElement.toastify=n,l()(n.toastElement)},showUpdate:function(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,h.PV)(t,{timeout:h.Rl}),this.updatableNotification.toastElement.toastify=this.updatableNotification,l()(this.updatableNotification.toastElement)},showTemporary:function(t,e){(e=e||{}).timeout=e.timeout||h.TN;var n=(0,h.PV)(t,e);return n.toastElement.toastify=n,l()(n.toastElement)},isHidden:function(){return!l()("#content").find(".toastify").length}},v=p.ZP.throttle((function(){g.showTemporary(t("core","Connection to server lost"))}),7e3,{trailing:!1}),y={enableDynamicSlideToggle:function(){},showAppSidebar:function(t){(t||l()("#app-sidebar")).removeClass("disappear").show(),l()("#app-content").trigger(new(l().Event)("appresized"))},hideAppSidebar:function(t){(t||l()("#app-sidebar")).hide().addClass("disappear"),l()("#app-content").trigger(new(l().Event)("appresized"))}};function w(t,e,n){"post"!==t&&"delete"!==t||!Bt.PasswordConfirmation.requiresPasswordConfirmation()?(n=n||{},l().ajax({type:t.toUpperCase(),url:(0,c.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps")+e,data:n.data||{},success:n.success,error:n.error})):Bt.PasswordConfirmation.requirePasswordConfirmation(_.bind(w,this,t,e,n))}var b=window.oc_appconfig||{},P={getValue:function(t,e,n,o){!function(t,e,n,o){(o=o||{}).data={defaultValue:n},w("get","/"+t+"/"+e,o)}(t,e,n,{success:o})},setValue:function(t,e,n){!function(t,e,n,o){(o=o||{}).data={value:n},w("post","/"+t+"/"+e,o)}(t,e,n)},getApps:function(t){!function(t){w("get","",t)}({success:t})},getKeys:function(t,e){!function(t,e){w("get","/"+t,e)}(t,{success:e})},deleteKey:function(t,e){!function(t,e,n){w("delete","/"+t+"/"+e,void 0)}(t,e)}},C=i(25108),A=void 0!==window._oc_appswebroots&&window._oc_appswebroots,k=i(72316),x=i.n(k),O=i(76591),T=i(25108),j={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function E(t,e){if(p.ZP.isArray(t))return p.ZP.map(t,(function(t){return E(t,e)}));var n={href:t.href};return p.ZP.each(t.propStat,(function(t){if("HTTP/1.1 200 OK"===t.status)for(var o in t.properties){var i=o;o in e&&(i=e[o]),n[i]=t.properties[o]}})),n.id||(n.id=S(n.href)),n}function S(t){var e=t.indexOf("?");e>0&&(t=t.substr(0,e));var n,o=t.split("/");do{n=o[o.length-1],o.pop()}while(!n&&o.length>0);return n}function L(t){return t>=200&&t<=299}function N(t,e,n,o){return t.propPatch(e.url,function(t,e){var n,o={};for(n in t){var i=e[n],r=t[n];i||(T.warn('No matching DAV property for property "'+n),i=n),(p.ZP.isBoolean(r)||p.ZP.isNumber(r))&&(r=""+r),o[i]=r}return o}(n.changed,e.davProperties),o).then((function(t){L(t.status)?p.ZP.isFunction(e.success)&&e.success(n.toJSON()):p.ZP.isFunction(e.error)&&e.error(t)}))}var I=x().noConflict();Object.assign(I,{davCall:function(t,e){var n=new O.dav.Client({baseUrl:t.url,xmlNamespaces:p.ZP.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});n.resolveUrl=function(){return t.url};var o=p.ZP.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,n,o){return t.propFind(e.url,p.ZP.values(e.davProperties)||[],e.depth,o).then((function(t){if(L(t.status)){if(p.ZP.isFunction(e.success)){var n=p.ZP.invert(e.davProperties),o=E(t.body,n);e.depth>0&&o.shift(),e.success(o)}}else p.ZP.isFunction(e.error)&&e.error(t)}))}(n,t,0,o):"PROPPATCH"===t.type?N(n,t,e,o):"MKCOL"===t.type?function(t,e,n,o){return t.request(e.type,e.url,o,null).then((function(i){L(i.status)?N(t,e,n,o):p.ZP.isFunction(e.error)&&e.error(i)}))}(n,t,e,o):function(t,e,n,o){return o["Content-Type"]="application/json",t.request(e.type,e.url,o,e.data).then((function(t){if(L(t.status)){if(p.ZP.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){var o=t.body||n.toJSON(),i=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&i&&(o.id=S(i)),void e.success(o)}if(207===t.status){var r=p.ZP.invert(e.davProperties);e.success(E(t.body,r))}else e.success(t.body)}}else p.ZP.isFunction(e.error)&&e.error(t)}))}(n,t,e,o)},davSync:function(t){return function(e,n,o){var i={type:j[e]||e},r=n instanceof t.Collection;if("update"===e&&(n.hasInnerCollection?i.type="MKCOL":(n.usePUT||n.collection&&n.collection.usePUT)&&(i.type="PUT")),o.url||(i.url=p.ZP.result(n,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=o.data||!n||"create"!==e&&"update"!==e&&"patch"!==e||(i.data=JSON.stringify(o.attrs||n.toJSON(o))),"PROPFIND"!==i.type&&(i.processData=!1),"PROPFIND"===i.type||"PROPPATCH"===i.type){var a=n.davProperties;!a&&n.model&&(a=n.model.prototype.davProperties),a&&(p.ZP.isFunction(a)?i.davProperties=a.call(n):i.davProperties=a),i.davProperties=p.ZP.extend(i.davProperties||{},o.davProperties),p.ZP.isUndefined(o.depth)&&(o.depth=r?1:0)}var s=o.error;o.error=function(t,e,n){o.textStatus=e,o.errorThrown=n,s&&s.call(o.context,t,e,n)};var l=o.xhr=t.davCall(p.ZP.extend(i,o),n);return n.trigger("request",n,l,o),l}}(I)});var U=I,$=i(65358),R=window._oc_config||{},F=i(25108),M=k.Model.extend({defaults:{fullName:"",lastMessage:"",actions:[],hasOneAction:!1,hasTwoActions:!1,hasManyActions:!1},initialize:function(){0===this.get("actions").length?this.set("hasOneAction",!0):1===this.get("actions").length?(this.set("hasTwoActions",!0),this.set("secondAction",this.get("actions")[0])):this.set("hasManyActions",!0)}}),B=k.Collection.extend({model:M}),z=k.View.extend({_collection:void 0,_subViews:[],initialize:function(t){this._collection=t.collection},render:function(){var t=this;return t.$el.html(""),t._subViews=[],t._collection.forEach((function(e){var n=new D({model:e});n.render(),t.$el.append(n.$el),n.on("toggle:actionmenu",t._onChildActionMenuToggle,t),t._subViews.push(n)})),t},_onChildActionMenuToggle:function(t){this._subViews.forEach((function(e){e.trigger("parent:toggle:actionmenu",t)}))}}),D=k.View.extend({className:"contact",_template:void 0,_model:void 0,_actionMenuShown:!1,events:{"click .icon-more":"_onToggleActionsMenu"},contactTemplate:i(10944),template:function(t){return this.contactTemplate(t)},initialize:function(t){this._model=t.model,this.on("parent:toggle:actionmenu",this._onOtherActionMenuOpened,this)},render:function(){return this.$el.html(this.template({contact:this._model.toJSON()})),this.delegateEvents(),this.$("div.avatar").imageplaceholder(this._model.get("fullName")),this.$(".top-action").tooltip({placement:"left"}),this.$(".second-action").tooltip({placement:"left"}),this},_onToggleActionsMenu:function(){this._actionMenuShown=!this._actionMenuShown,this._actionMenuShown?this.$(".menu").show():this.$(".menu").hide(),this.trigger("toggle:actionmenu",this.$el)},_onOtherActionMenuOpened:function(t){this.$el.is(t)||(this._actionMenuShown=!1,this.$(".menu").hide())}}),Z=k.View.extend({_loadingTemplate:void 0,_errorTemplate:void 0,_contentTemplate:void 0,_contactsTemplate:void 0,_contacts:void 0,_searchTerm:"",events:{"input #contactsmenu-search":"_onSearch"},templates:{loading:i(95386),error:i(20421),menu:i(66115),list:i(34083)},_onSearch:p.ZP.debounce((function(t){var e=this.$("#contactsmenu-search").val();e!==this._searchTerm&&(this.trigger("search",this.$("#contactsmenu-search").val()),this._searchTerm=e)}),700),loadingTemplate:function(t){return this.templates.loading(t)},errorTemplate:function(e){return this.templates.error(p.ZP.extend({couldNotLoadText:t("core","Could not load your contacts")},e))},contentTemplate:function(e){return this.templates.menu(p.ZP.extend({searchContactsText:t("core","Search contacts …")},e))},contactsTemplate:function(e){return this.templates.list(p.ZP.extend({noContactsFoundText:t("core","No contacts found"),showAllContactsText:t("core","Show all contacts …"),contactsAppMgmtText:t("core","Install the Contacts app")},e))},initialize:function(t){this.options=t},showLoading:function(t){this.render(),this._contacts=void 0,this.$(".content").html(this.loadingTemplate({loadingText:t}))},showError:function(){this.render(),this._contacts=void 0,this.$(".content").html(this.errorTemplate())},showContacts:function(t,e){this._contacts=t.contacts,this.render({contacts:t.contacts});var n=new z({collection:t.contacts});n.render(),this.$(".content").html(this.contactsTemplate({contacts:t.contacts,searchTerm:e,contactsAppEnabled:t.contactsAppEnabled,contactsAppURL:Bt.generateUrl("/apps/contacts"),canInstallApp:Bt.isUserAdmin(),contactsAppMgmtURL:Bt.generateUrl("/settings/apps/social/contacts")})),this.$("#contactsmenu-contacts").html(n.$el)},render:function(t){var e=this.$("#contactsmenu-search").val();return this.$el.html(this.contentTemplate(t)),this.$("#contactsmenu-search").val(e),this.$("#contactsmenu-search").focus(),this}}),H=function(t){this.initialize(t)};H.prototype={$el:void 0,_view:void 0,_contactsPromise:void 0,initialize:function(t){this.$el=l()(t.el),this._view=new Z({el:this.$el}),this._view.on("search",(function(t){this.loadContacts(t)}),this)},_getContacts:function(t){var e=Bt.generateUrl("/contactsmenu/contacts");return Promise.resolve(l().ajax(e,{method:"POST",data:{filter:t}}))},loadContacts:function(e){var n=this;return n._contactsPromise||(n._contactsPromise=n._getContacts(e)),p.ZP.isUndefined(e)||""===e?n._view.showLoading(t("core","Loading your contacts …")):n._view.showLoading(t("core","Looking for {term} …",{term:e})),n._contactsPromise.then((function(t){t.contacts=new B(t.contacts),n._view.showContacts(t,e)}),(function(t){n._view.showError(),F.error("There was an error loading your contacts",t)})).then((function(){delete n._contactsPromise})).catch(F.error.bind(this))}};var Y=H,q=document.getElementsByTagName("head")[0].getAttribute("data-user"),K=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),V=void 0!==q&&q,G=i(25108);function W(t){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},W(t)}function J(t,e){for(var n=0;n");f.attr("type",a?"password":"text").attr("id",c+"-input").attr("placeholder",r);var h=l()("