FullCalendar прерывистая ошибка загрузки на Salesforce 1 - PullRequest
0 голосов
/ 09 ноября 2018

Я использую Полный календарь и у меня есть страница visualforce, которая включена для Classic и Salesforce 1, она отлично работает на Classic, но иногда наши инженеры сообщают, что они ошибаются при попытке загрузить страницу или при нажатии на одна из ссылок на записи на странице.

Ошибки: нетто: err_blocked_by-_Resource а также ошибка анализа ответа json 'Неожиданный токен <' вошли в систему? не определен </p>

Поскольку это временная проблема, я не могу отладить ее вообще. Мне было интересно, если кто-нибудь может предложить какое-либо понимание ошибок? Мой код ниже.

<apex:page controller="UserCalendarController" readOnly="true" >
<link href="{!$Resource.fullBasicCalendarMinCSS}" rel="stylesheet" />
<link href="{!$Resource.fullBasicCalendarPrintMinCSS}" rel="stylesheet" media="print" />

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="{!$Resource.MomentMin}"></script>
<script src="{!$Resource.fullBasicCalendarMinJS}"></script>
<script>
var WOTag = '{!WOTag}';
var PHTag = '{!PHTag}';
var PSTag = '{!PSTag}';
var TOINFINITY = moment().add(10, "days");
var TODAY = moment().add(1, "days");
var NOW = moment();
window.$userId = "{!$User.Id}";

function htmlEncode(value)
{
    return $('<div/>').html(value).text();
}

function newLineToBR(value)
{
    return value.replace(/(\n)+/g, '<br />'); 
}

$(document).ready(function() 
                  {
                      //Call the fullCallendar method. 
                      $('#calendar').fullCalendar(
                          {
                              schedulerLicenseKey: '0760513013-fcs-1521451920',
                              editable: false,
                              aspectRatio: 0.75,
                              eventOrder: 'displayOrder',
                              eventRender: function (event, element, view) 
                              {
                                  var title = element.find('.fc-title, .fc-list-item-title');   
                                  var titleNode = title[0].childNodes[0];
                                  var encoded = htmlEncode(titleNode.innerHTML);
                                  titleNode.innerHTML = encoded;
                                 //title.html(title.text());
                              },
                              eventMouseover: function(calEvent, jsEvent) 
                              {
                                  var tooltip = '';
                                  if (calEvent.tag == WOTag)
                                  {
                                      tooltip = '<div class=" tooltipevent WO-tooltipevent">'
                                      + calEvent.toolTipTitle +'<h3><br/>' + calEvent.toolTipContent + '<br/>'
                                      + '</div>';
                                  }
                                  else if (calEvent.tag == PHTag)
                                  {
                                      tooltip = '<div class="tooltipevent PH-tooltipevent">'
                                      + '<h3>' + calEvent.toolTipTitle +'<h3><br/>' + calEvent.toolTipContent + '<br/>'
                                      + '</div>';
                                  }
                                      else if (calEvent.tag == PSTag)
                                      {
                                          tooltip = '<div class="tooltipevent PS-tooltipevent">'
                                          + calEvent.toolTipTitle +'<h3><br/>' + calEvent.toolTipContent + '<br/>'
                                          + '</div>';
                                      }

                                  $("body").append(tooltip);
                                  $(this).mousemove(function(e) 
                                                    {
                                                        $('.tooltipevent').css('top', e.pageY + 1);
                                                        $('.tooltipevent').css('left', e.pageX + 2);
                                                    });
                              },                                 
                              eventMouseout: function(calEvent, jsEvent) 
                              {
                                  $(this).css('z-index', 8);
                                  $('.tooltipevent').remove();
                              }, 
                              eventClick: function(calEvent)
                              {
                                 /* alert('Event url: ' + calEvent.url);
                                  if (calEvent.url)
                                  {
                                      window.open(calEvent.url, '_parent');
                                      return false;
                                  }*/
                              },
                              header: 
                              {
                                  left: 'prev,next today',
                                  center: 'title',
                                  right: 'listToday, listNext10Days, month'
                              },
                              defaultView: 'listToday',
                              views: 
                              {             
                                  month: 
                                  {
                                      weekends: false,
                                      fixedWeekCount: false,
                                      buttonText: 'Month'
                                  },
                                  listNext10Days:
                                  {
                                      type: 'list',
                                      duration: {days:TOINFINITY.diff(NOW, 'days')},
                                      buttonText: 'Next 10 days',
                                      weekends: false,
                                      displayEventTime: false
                                  },
                                  listToday:
                                  {
                                      type: 'list',
                                      duration: {days:TODAY.diff(NOW, 'days')},
                                      buttonText: 'Today',
                                      weekends: false,
                                      displayEventTime: false
                                  }
                              },
                              events: function(start, end, timezone, callback)
                              {
                                  console.log('Getting events for ' + start.toDate() + ' - ' + end.toDate());
                                  $('.loader').toggle();
                                  Visualforce.remoting.Manager.invokeAction(
                                      '{!$RemoteAction.UserCalendarController.CalendarEvents}',
                                      start.toDate().toUTCString(),
                                      end.toDate().toUTCString(),
                                      function(result, event)
                                      {
                                          if (event.status)
                                          {
                                              for (var i = 0; i < result.length; i++)
                                              {
                                                  var r= result[i];
                                                  r.start = new Date(r.starts);
                                                  r.end = new Date(r.ends);
                                                  //r.toolTipContent = r.toolTipContent.replace(/(\n)+/g, '<br />');
                                                  //r.title = r.title.replace(/(\n)+/g, '<br />'); 
                                                  r.title = newLineToBR(htmlEncode(r.title));
                                                  r.toolTipContent = newLineToBR(htmlEncode(r.toolTipContent));
                                              }
                                              console.log(result);
                                              callback(result);
                                          }
                                          else
                                          {
                                              alert('ERROR:\n' + event.message + '\n' + event.where);
                                          }
                                          $('.loader').toggle();
                                      });                                     
                              }                                 
                          });                        
                  });
</script>

<style>
    .loader{display:none; position:fixed; top:50%; left:50%; border: 16px solid #f3f3f3; border-top: 16px solid #3498db; border-radius: 50%; width: 120px; height: 120px; animation: spin 2s linear infinite;}
    @keyframes spin {0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
    }

     <!--Scheduled event classes-->
    .workOrder-scheduled{background:red ;border-color:red; color: white !important;}
    <!--.workOrder-scheduled td{background:red ;border-color:red; color: white !important;}-->
    .psWork-scheduled-liveDay{background:green ;border-color:green;}
    .psWork-scheduled-liveDay .fc-list-item-title{color: white !important;}
    .psWork-scheduled-installDay{background:yellow ;border-color:yellow;}
    .psWork-scheduled-regDay{background:violet ;border-color:violet;}
    .psWork-scheduled-remoteInstall{background:teal ;border-color:teal;}
    .psWork-scheduled-remoteInstall .fc-list-item-title{color: white !important;}
    .psWork-scheduled-iDStoreFlip{background:sienna ;border-color:sienna;}
    .psWork-scheduled-training{background:SpringGreen ;border-color:SpringGreen;}
    .placeholder-scheduled-holidayHalf{background:skyBlue; border-color:SkyBlue; color: black !important;}
    .placeholder-scheduled-holidayFull{background:blue; border-color:blue;}
    .placeholder-scheduled-holidayFull .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-bankHoliday{background:DarkBlue; border-color:DarkBlue; }
    .placeholder-scheduled-bankHoliday .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-sickness{background:green; border-color:green; color: white !important;}
    .placeholder-scheduled-sickness .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-fs{background:red; border-color:red;}
    .placeholder-scheduled-fs .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-ps{background:orchid; border-color:orchid; color: black !important;}
    .placeholder-scheduled-support{background:darkViolet; border-color:darkViolet;}
    .placeholder-scheduled-support .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-training{background:orangeRed; border-color:orangeRed; color: black !important;}
    .placeholder-scheduled-unavailableAM{background:khaki; border-color:khaki; color: black !important;}
    .placeholder-scheduled-unavailablePM{background:khaki; border-color:khaki; color: black !important;}
    .placeholder-scheduled-office{background:DarkSeaGreen; border-color:DarkSeaGreen; color: black !important;}
    .placeholder-scheduled-garage{background:DarkSlateGray; border-color:DarkSlateGray;}
    .placeholder-scheduled-garage .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-shadowFS{background:DarkRed; border-color:DarkRed;}
    .placeholder-scheduled-shadowFS .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-shadowPS{background:PaleVioletRed; border-color:PaleVioletRed;}
    .placeholder-scheduled-shadowPS .fc-list-item-title{color: white !important;}
    .placeholder-scheduled-reminder{background:Gray border-color:Gray; color: white !important;}

    <!--Tooltip classes-->
    .tooltipevent {border-radius: 25px; padding: 20px; background:#98AFC7; position:absolute;z-index:10001;}
    .WO-tooltipevent {min-width:150px; min-height:100px; width:auto;  height:auto;}
    .PH-tooltipevent {min-width:150px; min-height:20px; max-width:150px;  height:auto; }
    .PS-tooltipevent {min-width:150px; min-height:50px; width:auto;  height:auto; }
</style>
<div id='calendar-container'>
    <div id='calendar'></div>
</div> 
<div class="loader"></div>

Большое спасибо за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...