1(function($, global) { 2 3 var openDelay = 500; 4 var closeDelay = 250; 5 var profileUrlPattern = new RegExp('^(?:' + window.location.protocol + '//' + window.location.host + ')?' + $.telligent.evolution.site.getBaseUrl() + 'members/([^/]+)(/(?:default\\.aspx)?)?', 'i'); 6 7 function handleContentPeekMessages(context) { 8 $.telligent.evolution.messaging.subscribe('contentPeek.show', function(data){ 9 if (context.enabledContentTypes[data.contentTypeId.replace(/-/gi,'')]) { 10 $.telligent.evolution.contentPeek.show(data.element, { 11 contentTypeId: data.contentTypeId, 12 contentId: data.contentId, 13 }); 14 } 15 }) 16 $.telligent.evolution.messaging.subscribe('contentPeek.hide', function(data){ 17 $.telligent.evolution.contentPeek.hide(data.element); 18 }) 19 } 20 21 function getUser(profileUrl) { 22 return $.telligent.evolution.get({ 23 url: jQuery.telligent.evolution.site.getBaseUrl() + 'api.ashx/v2/remoting/url/entities.json', 24 data: { 25 Url: profileUrl 26 } 27 }); 28 } 29 30 function handleLegacyUserLinks(context) { 31 32 $(document) 33 .on('glowDelayedMouseEnter', '.internal-link.view-user-profile, .internal-link.view-profile, .avatar > a', openDelay, function(e) { 34 var link = $(this); 35 var url = link.attr('href'); 36 if (!link.attr('core_userhover') && link.data('userhover') != 'ignore' && profileUrlPattern.test(url)) { 37 getUser(url).then(function(r){ 38 if (r && r.UrlInformation && r.UrlInformation.Entities && r.UrlInformation.Entities.length > 0) { 39 var userEntities = r.UrlInformation.Entities.filter(function(e) { 40 return e.TypeName == "User" && !e.Relationship 41 }); 42 if (userEntities && userEntities.length > 0) { 43 $.telligent.evolution.contentPeek.show(link.get(0), { 44 contentTypeId: userEntities[0].ContentTypeId, 45 contentId: userEntities[0].ContentId 46 });
47 } 48 } 49 }); 50 } 51 }) 52 .on('glowDelayedMouseLeave', '.internal-link.view-user-profile, .internal-link.view-profile, .avatar > a', closeDelay, function(e) { 53 if(profileUrlPattern.test($(this).attr('href'))) { 54 $.telligent.evolution.contentPeek.hide(this); 55 } 56 }); 57 58 } 59 60 var api = { 61 register: function(context) { 62 context.enabledContentTypes = {}; 63 (context.contentTypeIds || '').split(',').forEach(function(id) { 64 context.enabledContentTypes[id.replace(/-/gi,'')] = true; 65 }) 66 handleContentPeekMessages(context); 67 if (context.includeLegacyUserLinks) 68 handleLegacyUserLinks(context); 69 } 70 }; 71 72 $.telligent = $.telligent || {}; 73 $.telligent.evolution = $.telligent.evolution || {}; 74 $.telligent.evolution.widgets = $.telligent.evolution.widgets || {}; 75 $.telligent.evolution.widgets.contentPeek = api; 76 77}(jQuery, window));
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.