Map<String, dynamic> toJson() => { 'initialViewMode': initialViewMode.name, 'readerOnly': readerOnly, 'availableViewModes': availableViewModes.map((e) => e.name).toList() };