]> git.mxchange.org Git - friendica.git/blobdiff - view/theme/frio/js/mod_events.js
Merge pull request #8302 from annando/allowed-chars
[friendica.git] / view / theme / frio / js / mod_events.js
index 4e900d06ca0e85dbb4b67746602af099329b279a..00e3f4fa9f129ff26cdf1750301b665ccbc96b02 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * @file view/theme/frio/js/mod_events.js
- * @brief Initialization of the fullCalendar and format the output.
+ * Initialization of the fullCalendar and format the output.
  */
 
 $(document).ready(function() {
@@ -56,7 +56,7 @@ $(document).ready(function() {
                                                        event.item['author-avatar'],
                                                        event.item['author-name'],
                                                        event.item.desc,
-                                                       formatEventLocationText(event.item.location)
+                                                       htmlToText(event.item.location)
                                        ));
                                break;
                                case "agendaDay":
@@ -66,7 +66,7 @@ $(document).ready(function() {
                                                        event.item['author-avatar'],
                                                        event.item['author-name'],
                                                        event.item.desc,
-                                                       formatEventLocationText(event.item.location)
+                                                       htmlToText(event.item.location)
                                        ));
                                        break;
                                case "listMonth":
@@ -82,6 +82,9 @@ $(document).ready(function() {
                                trigger: "hover",
                                placement: "auto",
                                template: '<div class="popover hovercard event-card"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
+                               sanitizeFn: function (content) {
+                                       return DOMPurify.sanitize(content)
+                               },
                        });
 
                }
@@ -127,17 +130,17 @@ function changeView(action, viewName) {
 function eventHoverBodyTemplate() {
        var template = '\
                <div class="event-card-basic-content media">\
-                       <div class="hover-card-details">\
-                               <div class="hover-card-header left-align">\
-                                       <div class="event-hover-left-date left-align">\
+                       <div class="event-card-details">\
+                               <div class="event-card-header">\
+                                       <div class="event-card-left-date">\
                                                <span class="event-date-wrapper medium">\
-                                                       <span class="event-hover-short-month">{5}</span>\
-                                                       <span class="event-hover-short-date">{6}</span>\
+                                                       <span class="event-card-short-month">{5}</span>\
+                                                       <span class="event-card-short-date">{6}</span>\
                                                </span>\
                                        </div>\
                                        <div class="event-card-content media-body">\
-                                               <div class="event-hover-title">{2}</div>\
-                                               <div class="event-property"><span class="event-hover-date">{4}</span>{3}\
+                                               <div class="event-card-title">{2}</div>\
+                                               <div class="event-property"><span class="event-card-date">{4}</span>{3}\
                                                {1}\
                                        </div>\
                                </div>\
@@ -150,14 +153,15 @@ function eventHoverBodyTemplate() {
 
 // The template for presenting the event location in the event hover-card
 function eventHoverLocationTemplate() {
-       var template = '<span class="event-hover-location"> {0}</span></div>';
+       var template = '<span role="presentation" aria-hidden="true"> ยท </span>\
+                       <span class="event-card-location"> {0}</span></div>';
        return template;
 }
 
 function eventHoverProfileNameTemplate() {
        var template = '\
-                       <div class="event-hover-profile-name profile-entry-name">\
-                               <span class="left-align1"><a href="{0}" class="userinfo">{1}</a></span>\
+                       <div class="event-card-profile-name profile-entry-name">\
+                               <a href="{0}" class="userinfo">{1}</a>\
                        </div>';
        return template;
 }
@@ -203,7 +207,7 @@ function eventHoverHtmlContent(event) {
 
        // Get only template data if there exists location data
        if (event.item.location) {
-               var eventLocationText = formatEventLocationText(event.item.location);
+               var eventLocationText = htmlToText(event.item.location);
                // Get the the html template for formatting the location
                var eventLocationTemplate = eventHoverLocationTemplate();
                // Format the event location data according to the the event location
@@ -252,18 +256,3 @@ function formatListViewEvent(event) {
 
        return formatted;
 }
-
-// Format event location in pure text
-function formatEventLocationText(location) {
-       // Friendica can store the event location as text or as html
-       // We need to check if the location is html. In this case we need
-       // to transform it into clean text
-       if (location.startsWith("<div")) {
-               var locationHtml = $.parseHTML( location );
-               var eventLocationText = locationHtml[0]['innerText'];
-       } else {
-               var eventLocationText = location.replace("<br>", " ");
-       };
-
-       return eventLocationText;
-}
\ No newline at end of file