2016-10-06 2 views
0

Некоторые из моих событий Fullcalendar имеют ссылки. Ссылки указывают на общедоступные веб-страницы, pdf-документы или веб-страницы, которые имеют ограниченный доступ.URL-адрес события fullcalendar - добавьте класс, если url содержит

Я хотел бы добавить класс для форматирования ссылок, чтобы добавить значок на основе строки url.
Если URL содержит:

  • "PDF" addclass "к-PDF"
  • "ограничено" addclass "к-замок"

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

http://jsfiddle.net/lbriquet/oez9Ltym/

$('#calendar').fullCalendar({ 
      header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'listDay,listWeek,month' 
      }, 
      views: { 
      listDay: { 
       buttonText: 'list day' 
      }, 
      listWeek: { 
       buttonText: 'list week' 
      } 
      }, 
      defaultView: 'listDay', 
      defaultDate: '2016-09-12', 
      navLinks: true, // can click day/week names to navigate views 
      events: [{ 
      title: 'Conference (website)', 
      start: '2016-09-11', 
      end: '2016-09-13', 
      url: "https://www.ted.com/talks" 
      }, { 
      title: 'Meeting (download document)', 
      start: '2016-09-12T10:30:00', 
      end: '2016-09-12T12:30:00', 
      url: "http://storage.ted.com/tedx/manuals/tedx_speaker_guide.pdf" 
      }, { 
      title: 'Lunch', 
      start: '2016-09-12T12:00:00' 
      }, { 
      title: 'Meeting (members only)', 
      start: '2016-09-12T14:30:00', 
      url: "http://www.dictionary.com/browse/restricted" 
      }, { 
      title: 'Happy Hour', 
      start: '2016-09-12T17:30:00' 
      }, { 
      title: 'Dinner', 
      start: '2016-09-12T20:00:00' 
      }], 
     eventRender: function eventRender(event, element, view) { 
     } 
     }); 

ответ

2

Как я получил это, чтобы работать было путем добавления типа к событиям просто потому, что я думаю, что было бы проще, чем иметь дело с регулярным выражением, которое не всегда может работать. Таким образом, событиям не нужен тип, но они могут иметь тип pdf, restricted или все, что вам нужно. В eventRender я добавил следующее:

eventRender: function eventRender(event, element, view) { 
    if(typeof event.type !== 'undefined') { 
    if(event.type === 'pdf') { 
     element.addClass('fc-pdf'); 
    } else if(event.type === 'restricted') { 
     element.addClass('fc-lock'); 
    } 
    } 
} 

проверка, чтобы увидеть, если тип предусмотрен или нет, а затем, если заявления для добавления класса на основе типа. Мне также пришлось внести небольшое изменение в селектор css, изменив a.fc-lock на .fc-lock a, чтобы он отображался правильно. Вот JS Fiddle, показывающий это.

+0

Большое спасибо @ Ryan89 Это делает то, что мне нужно! – lbriquet

 Смежные вопросы

  • Нет связанных вопросов^_^