diff --git a/src/components/bookPlayer/plugin.js b/src/components/bookPlayer/plugin.js
index 3893d7ada6..55b358306d 100644
--- a/src/components/bookPlayer/plugin.js
+++ b/src/components/bookPlayer/plugin.js
@@ -170,13 +170,32 @@ export class BookPlayer {
}
setCurrentSrc(elem, options) {
- let serverId = options.items[0].ServerId;
+ let item = options.items[0];
+ if (!item.Path.endsWith('.epub')) {
+ return new Promise((resolve, reject) => {
+ let errorDialog = dialogHelper.createDialog({
+ size: 'small',
+ autoFocus: false,
+ removeOnClose: true
+ });
+
+ errorDialog.innerHTML = '
This book type is not supported yet
';
+
+ this.stop();
+
+ dialogHelper.open(errorDialog);
+ loading.hide();
+
+ return resolve();
+ });
+ }
+ let serverId = item.ServerId;
let apiClient = connectionManager.getApiClient(serverId);
const self = this;
return new Promise(function (resolve, reject) {
require(['epubjs'], function (epubjs) {
- let downloadHref = apiClient.getItemDownloadUrl(options.items[0].Id);
+ let downloadHref = apiClient.getItemDownloadUrl(item.Id);
let book = epubjs.default(downloadHref, {openAs: 'epub'});
let rendition = book.renderTo(elem, {width: '100%', height: '97%'});
diff --git a/src/components/bookPlayer/style.css b/src/components/bookPlayer/style.css
index 581438a003..e37b995f31 100644
--- a/src/components/bookPlayer/style.css
+++ b/src/components/bookPlayer/style.css
@@ -33,3 +33,7 @@
.toc li {
margin-bottom: 5px;
}
+
+.bookplayerErrorMsg {
+ text-align: center;
+}