Timeline.php in Views TimelineJS integration 8.3
File
src/TimelineJS/Timeline.php
View source
<?php
namespace Drupal\views_timelinejs\TimelineJS;
class Timeline implements TimelineInterface {
protected $scale = 'human';
protected $titleSlide;
protected $events = [];
protected $eras = [];
public function setTitleSlide(SlideInterface $slide) {
$this->titleSlide = $slide;
}
public function getTitleSlide() {
return $this->titleSlide;
}
public function addEvent(SlideInterface $slide) {
$this->events[] = $slide;
}
public function getEvents() {
return $this->events;
}
public function addEra(EraInterface $era) {
$this->eras[] = $era;
}
public function getEras() {
return $this->eras;
}
public function setScaleToHuman() {
$this->scale = 'human';
}
public function setScaleToCosomological() {
$this->scale = 'cosomological';
}
public function getScale() {
return $this->scale;
}
public function buildArray() {
$timeline = [
'scale' => $this->scale,
];
if (!empty($this->titleSlide)) {
$timeline['title'] = $this->titleSlide
->buildArray();
}
foreach ($this->events as $event) {
$timeline['events'][] = $event
->buildArray();
}
foreach ($this->eras as $era) {
$timeline['eras'][] = $era
->buildArray();
}
return $timeline;
}
}