3 namespace BookStack\Sorting;
8 * @var BookSortMapItem[]
10 protected $mapData = [];
12 public function addItem(BookSortMapItem $mapItem): void
14 $this->mapData[] = $mapItem;
18 * @return BookSortMapItem[]
20 public function all(): array
22 return $this->mapData;
25 public static function fromJson(string $json): self
27 $map = new BookSortMap();
28 $mapData = json_decode($json);
30 foreach ($mapData as $mapDataItem) {
31 $item = new BookSortMapItem(
32 intval($mapDataItem->id),
33 intval($mapDataItem->sort),
34 $mapDataItem->parentChapter ? intval($mapDataItem->parentChapter) : null,
36 intval($mapDataItem->book)