@internetarchive/bookreader 5.0.0-88-alpha.10 → 5.0.0-88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BookReader/BookReader.css +3 -3
- package/BookReader/BookReader.js +1 -1
- package/BookReader/BookReader.js.map +1 -1
- package/BookReader/ia-bookreader-bundle.js +87 -108
- package/BookReader/ia-bookreader-bundle.js.map +1 -1
- package/BookReader/plugins/plugin.archive_analytics.js +1 -1
- package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
- package/BookReader/plugins/plugin.search.js +1 -1
- package/BookReader/plugins/plugin.search.js.map +1 -1
- package/BookReader/plugins/plugin.text_selection.js +1 -1
- package/BookReader/plugins/plugin.text_selection.js.map +1 -1
- package/BookReader/plugins/plugin.tts.js +1 -1
- package/BookReader/plugins/plugin.tts.js.map +1 -1
- package/BookReader/plugins/plugin.url.js +1 -1
- package/BookReader/plugins/plugin.url.js.map +1 -1
- package/CHANGELOG.md +4 -0
- package/babel.config.js +12 -30
- package/jsconfig.json +1 -3
- package/package.json +14 -16
- package/src/BookNavigator/search/search-results.js +1 -1
- package/src/BookReader/Mode1UpLit.js +56 -86
- package/src/BookReader/Mode2UpLit.js +2 -3
- package/src/BookReader/Navbar/Navbar.js +53 -11
- package/src/BookReader/options.js +3 -0
- package/src/BookReader.js +49 -1
- package/src/BookReaderPlugin.js +28 -0
- package/src/css/_BRnav.scss +0 -3
- package/src/css/_controls.scss +4 -0
- package/src/plugins/plugin.archive_analytics.js +84 -78
- package/src/plugins/plugin.chapters.js +17 -22
- package/src/plugins/plugin.text_selection.js +1 -1
- package/src/plugins/tts/plugin.tts.js +2 -2
- package/tests/jest/BookReader/Navbar/Navbar.test.js +16 -3
- package/tests/jest/plugins/plugin.archive_analytics.test.js +8 -11
- package/dist/esm/BookNavigator/assets/bookmark-colors.js +0 -4
- package/dist/esm/BookNavigator/assets/button-base.js +0 -4
- package/dist/esm/BookNavigator/assets/ia-logo.js +0 -4
- package/dist/esm/BookNavigator/assets/icon_checkmark.js +0 -8
- package/dist/esm/BookNavigator/assets/icon_close.js +0 -4
- package/dist/esm/BookNavigator/book-navigator.js +0 -612
- package/dist/esm/BookNavigator/bookmarks/bookmark-button.js +0 -35
- package/dist/esm/BookNavigator/bookmarks/bookmark-edit.js +0 -78
- package/dist/esm/BookNavigator/bookmarks/bookmarks-list.js +0 -160
- package/dist/esm/BookNavigator/bookmarks/bookmarks-loginCTA.js +0 -24
- package/dist/esm/BookNavigator/bookmarks/bookmarks-provider.js +0 -55
- package/dist/esm/BookNavigator/bookmarks/ia-bookmarks.js +0 -521
- package/dist/esm/BookNavigator/delete-modal-actions.js +0 -29
- package/dist/esm/BookNavigator/downloads/downloads-provider.js +0 -84
- package/dist/esm/BookNavigator/downloads/downloads.js +0 -69
- package/dist/esm/BookNavigator/search/search-provider.js +0 -238
- package/dist/esm/BookNavigator/search/search-results.js +0 -161
- package/dist/esm/BookNavigator/sharing.js +0 -26
- package/dist/esm/BookNavigator/viewable-files.js +0 -94
- package/dist/esm/BookNavigator/visual-adjustments/visual-adjustments-provider.js +0 -83
- package/dist/esm/BookNavigator/visual-adjustments/visual-adjustments.js +0 -131
- package/dist/esm/BookReader/BookModel.js +0 -575
- package/dist/esm/BookReader/DragScrollable.js +0 -224
- package/dist/esm/BookReader/ImageCache.js +0 -122
- package/dist/esm/BookReader/Mode1Up.js +0 -114
- package/dist/esm/BookReader/Mode1UpLit.js +0 -579
- package/dist/esm/BookReader/Mode2Up.js +0 -106
- package/dist/esm/BookReader/Mode2UpLit.js +0 -1020
- package/dist/esm/BookReader/ModeCoordinateSpace.js +0 -28
- package/dist/esm/BookReader/ModeSmoothZoom.js +0 -318
- package/dist/esm/BookReader/ModeThumb.js +0 -366
- package/dist/esm/BookReader/Navbar/Navbar.js +0 -253
- package/dist/esm/BookReader/PageContainer.js +0 -165
- package/dist/esm/BookReader/ReduceSet.js +0 -27
- package/dist/esm/BookReader/Toolbar/Toolbar.js +0 -242
- package/dist/esm/BookReader/events.js +0 -20
- package/dist/esm/BookReader/options.js +0 -331
- package/dist/esm/BookReader/utils/HTMLDimensionsCacher.js +0 -48
- package/dist/esm/BookReader/utils/ScrollClassAdder.js +0 -31
- package/dist/esm/BookReader/utils/SelectionObserver.js +0 -42
- package/dist/esm/BookReader/utils/classes.js +0 -37
- package/dist/esm/BookReader/utils.js +0 -315
- package/dist/esm/BookReader.js +0 -1827
- package/dist/esm/assets/icons/1up.svg +0 -12
- package/dist/esm/assets/icons/2up.svg +0 -15
- package/dist/esm/assets/icons/advance.svg +0 -26
- package/dist/esm/assets/icons/chevron-right.svg +0 -1
- package/dist/esm/assets/icons/close-circle-dark.svg +0 -1
- package/dist/esm/assets/icons/close-circle.svg +0 -1
- package/dist/esm/assets/icons/fullscreen.svg +0 -17
- package/dist/esm/assets/icons/fullscreen_exit.svg +0 -17
- package/dist/esm/assets/icons/hamburger.svg +0 -15
- package/dist/esm/assets/icons/left-arrow.svg +0 -12
- package/dist/esm/assets/icons/magnify-minus.svg +0 -12
- package/dist/esm/assets/icons/magnify-plus.svg +0 -13
- package/dist/esm/assets/icons/magnify.svg +0 -15
- package/dist/esm/assets/icons/pause.svg +0 -23
- package/dist/esm/assets/icons/play.svg +0 -22
- package/dist/esm/assets/icons/playback-speed.svg +0 -34
- package/dist/esm/assets/icons/read-aloud.svg +0 -22
- package/dist/esm/assets/icons/review.svg +0 -22
- package/dist/esm/assets/icons/thumbnails.svg +0 -17
- package/dist/esm/assets/icons/voice.svg +0 -1
- package/dist/esm/assets/icons/volume-full.svg +0 -22
- package/dist/esm/assets/images/BRicons.png +0 -0
- package/dist/esm/assets/images/BRicons.svg +0 -94
- package/dist/esm/assets/images/BRicons_ia.png +0 -0
- package/dist/esm/assets/images/back_pages.png +0 -0
- package/dist/esm/assets/images/book_bottom_icon.png +0 -0
- package/dist/esm/assets/images/book_down_icon.png +0 -0
- package/dist/esm/assets/images/book_left_icon.png +0 -0
- package/dist/esm/assets/images/book_leftmost_icon.png +0 -0
- package/dist/esm/assets/images/book_right_icon.png +0 -0
- package/dist/esm/assets/images/book_rightmost_icon.png +0 -0
- package/dist/esm/assets/images/book_top_icon.png +0 -0
- package/dist/esm/assets/images/book_up_icon.png +0 -0
- package/dist/esm/assets/images/books_graphic.svg +0 -177
- package/dist/esm/assets/images/booksplit.png +0 -0
- package/dist/esm/assets/images/control_pause_icon.png +0 -0
- package/dist/esm/assets/images/control_play_icon.png +0 -0
- package/dist/esm/assets/images/embed_icon.png +0 -0
- package/dist/esm/assets/images/icon-home-ia.png +0 -0
- package/dist/esm/assets/images/icon_OL-logo-xs.png +0 -0
- package/dist/esm/assets/images/icon_alert-xs.png +0 -0
- package/dist/esm/assets/images/icon_book.svg +0 -12
- package/dist/esm/assets/images/icon_bookmark.svg +0 -12
- package/dist/esm/assets/images/icon_close-pop.png +0 -0
- package/dist/esm/assets/images/icon_download.png +0 -0
- package/dist/esm/assets/images/icon_gear.svg +0 -14
- package/dist/esm/assets/images/icon_hamburger.svg +0 -20
- package/dist/esm/assets/images/icon_home.png +0 -0
- package/dist/esm/assets/images/icon_home.svg +0 -21
- package/dist/esm/assets/images/icon_home_ia.png +0 -0
- package/dist/esm/assets/images/icon_indicator.png +0 -0
- package/dist/esm/assets/images/icon_info.svg +0 -11
- package/dist/esm/assets/images/icon_one_page.svg +0 -8
- package/dist/esm/assets/images/icon_pause.svg +0 -1
- package/dist/esm/assets/images/icon_play.svg +0 -1
- package/dist/esm/assets/images/icon_playback-rate.svg +0 -15
- package/dist/esm/assets/images/icon_return.png +0 -0
- package/dist/esm/assets/images/icon_search_button.svg +0 -8
- package/dist/esm/assets/images/icon_share.svg +0 -9
- package/dist/esm/assets/images/icon_skip-ahead.svg +0 -6
- package/dist/esm/assets/images/icon_skip-back.svg +0 -13
- package/dist/esm/assets/images/icon_speaker.svg +0 -18
- package/dist/esm/assets/images/icon_speaker_open.svg +0 -10
- package/dist/esm/assets/images/icon_thumbnails.svg +0 -12
- package/dist/esm/assets/images/icon_toc.svg +0 -5
- package/dist/esm/assets/images/icon_two_pages.svg +0 -9
- package/dist/esm/assets/images/icon_zoomer.png +0 -0
- package/dist/esm/assets/images/loading.gif +0 -0
- package/dist/esm/assets/images/logo_icon.png +0 -0
- package/dist/esm/assets/images/marker_chap-off.png +0 -0
- package/dist/esm/assets/images/marker_chap-off.svg +0 -11
- package/dist/esm/assets/images/marker_chap-off_ia.png +0 -0
- package/dist/esm/assets/images/marker_chap-on.png +0 -0
- package/dist/esm/assets/images/marker_chap-on.svg +0 -11
- package/dist/esm/assets/images/marker_srch-on.svg +0 -11
- package/dist/esm/assets/images/marker_srchchap-off.png +0 -0
- package/dist/esm/assets/images/marker_srchchap-on.png +0 -0
- package/dist/esm/assets/images/nav_control-dn.png +0 -0
- package/dist/esm/assets/images/nav_control-dn_ia.png +0 -0
- package/dist/esm/assets/images/nav_control-up.png +0 -0
- package/dist/esm/assets/images/nav_control-up_ia.png +0 -0
- package/dist/esm/assets/images/nav_control.png +0 -0
- package/dist/esm/assets/images/one_page_mode_icon.png +0 -0
- package/dist/esm/assets/images/paper-badge.png +0 -0
- package/dist/esm/assets/images/print_icon.png +0 -0
- package/dist/esm/assets/images/progressbar.gif +0 -0
- package/dist/esm/assets/images/right_edges.png +0 -0
- package/dist/esm/assets/images/slider.png +0 -0
- package/dist/esm/assets/images/slider_ia.png +0 -0
- package/dist/esm/assets/images/thumbnail_mode_icon.png +0 -0
- package/dist/esm/assets/images/transparent.png +0 -0
- package/dist/esm/assets/images/two_page_mode_icon.png +0 -0
- package/dist/esm/assets/images/unviewable_page.png +0 -0
- package/dist/esm/assets/images/zoom_in_icon.png +0 -0
- package/dist/esm/assets/images/zoom_out_icon.png +0 -0
- package/dist/esm/css/BookReader.scss +0 -85
- package/dist/esm/css/_BRBookmarks.scss +0 -29
- package/dist/esm/css/_BRComponent.scss +0 -13
- package/dist/esm/css/_BRfloat.scss +0 -197
- package/dist/esm/css/_BRicon.scss +0 -54
- package/dist/esm/css/_BRmain.scss +0 -262
- package/dist/esm/css/_BRnav.scss +0 -354
- package/dist/esm/css/_BRpages.scss +0 -213
- package/dist/esm/css/_BRsearch.scss +0 -268
- package/dist/esm/css/_BRtoolbar.scss +0 -84
- package/dist/esm/css/_BRvendor.scss +0 -5
- package/dist/esm/css/_TextSelection.scss +0 -108
- package/dist/esm/css/_colorbox.scss +0 -52
- package/dist/esm/css/_controls.scss +0 -257
- package/dist/esm/css/_icons.scss +0 -121
- package/dist/esm/ia-bookreader/ia-bookreader.js +0 -141
- package/dist/esm/jquery-wrapper.js +0 -3
- package/dist/esm/plugins/plugin.archive_analytics.js +0 -72
- package/dist/esm/plugins/plugin.autoplay.js +0 -119
- package/dist/esm/plugins/plugin.chapters.js +0 -288
- package/dist/esm/plugins/plugin.iframe.js +0 -44
- package/dist/esm/plugins/plugin.iiif.js +0 -146
- package/dist/esm/plugins/plugin.resume.js +0 -66
- package/dist/esm/plugins/plugin.text_selection.js +0 -621
- package/dist/esm/plugins/plugin.vendor-fullscreen.js +0 -227
- package/dist/esm/plugins/search/plugin.search.js +0 -499
- package/dist/esm/plugins/search/utils.js +0 -42
- package/dist/esm/plugins/search/view.js +0 -360
- package/dist/esm/plugins/tts/AbstractTTSEngine.js +0 -282
- package/dist/esm/plugins/tts/FestivalTTSEngine.js +0 -192
- package/dist/esm/plugins/tts/PageChunk.js +0 -105
- package/dist/esm/plugins/tts/PageChunkIterator.js +0 -155
- package/dist/esm/plugins/tts/WebTTSEngine.js +0 -364
- package/dist/esm/plugins/tts/plugin.tts.js +0 -315
- package/dist/esm/plugins/tts/tooltip_dict.js +0 -14
- package/dist/esm/plugins/tts/utils.js +0 -79
- package/dist/esm/plugins/url/UrlPlugin.js +0 -197
- package/dist/esm/plugins/url/plugin.url.js +0 -212
- package/dist/esm/util/browserSniffing.js +0 -56
- package/dist/esm/util/debouncer.js +0 -25
- package/dist/esm/util/docCookies.js +0 -75
- package/dist/esm/util/strings.js +0 -34
- package/index.js +0 -2
@@ -1,521 +0,0 @@
|
|
1
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
4
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
6
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
-
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
8
|
-
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
9
|
-
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
10
|
-
import { LitElement, html, css, render } from 'lit';
|
11
|
-
// eslint-disable-next-line no-unused-vars
|
12
|
-
import { ModalConfig, ModalManager } from '@internetarchive/modal-manager';
|
13
|
-
import buttonStyles from '../assets/button-base.js';
|
14
|
-
import './bookmarks-loginCTA.js';
|
15
|
-
var api = {
|
16
|
-
endpoint: '/services/bookmarks.php',
|
17
|
-
headers: {
|
18
|
-
'Content-Type': 'application/json'
|
19
|
-
},
|
20
|
-
delete(page) {
|
21
|
-
return fetch("".concat(this.endpoint, "?identifier=").concat(this.identifier, "&page_num=").concat(page), {
|
22
|
-
credentials: 'same-origin',
|
23
|
-
method: 'DELETE',
|
24
|
-
headers: this.headers
|
25
|
-
});
|
26
|
-
},
|
27
|
-
get(page) {
|
28
|
-
return fetch("".concat(this.endpoint, "?identifier=").concat(this.identifier, "&page_num=").concat(page), {
|
29
|
-
credentials: 'same-origin',
|
30
|
-
method: 'GET',
|
31
|
-
headers: this.headers
|
32
|
-
});
|
33
|
-
},
|
34
|
-
getAll() {
|
35
|
-
return fetch("".concat(this.endpoint, "?identifier=").concat(this.identifier), {
|
36
|
-
credentials: 'same-origin',
|
37
|
-
method: 'GET',
|
38
|
-
headers: this.headers
|
39
|
-
});
|
40
|
-
},
|
41
|
-
post(bookmark) {
|
42
|
-
return this.sendBookmarkData(bookmark, 'POST');
|
43
|
-
},
|
44
|
-
put(bookmark) {
|
45
|
-
return this.sendBookmarkData(bookmark, 'POST');
|
46
|
-
},
|
47
|
-
sendBookmarkData(bookmark, method) {
|
48
|
-
var notes = {
|
49
|
-
note: bookmark.note,
|
50
|
-
color: bookmark.color
|
51
|
-
};
|
52
|
-
return fetch("".concat(this.endpoint, "?identifier=").concat(this.identifier, "&page_num=").concat(bookmark.id), {
|
53
|
-
credentials: 'same-origin',
|
54
|
-
method,
|
55
|
-
headers: this.headers,
|
56
|
-
body: JSON.stringify({
|
57
|
-
notes
|
58
|
-
})
|
59
|
-
});
|
60
|
-
}
|
61
|
-
};
|
62
|
-
class IABookmarks extends LitElement {
|
63
|
-
static get properties() {
|
64
|
-
return {
|
65
|
-
activeBookmarkID: {
|
66
|
-
type: String
|
67
|
-
},
|
68
|
-
bookmarks: {
|
69
|
-
type: Array
|
70
|
-
},
|
71
|
-
bookreader: {
|
72
|
-
type: Object
|
73
|
-
},
|
74
|
-
displayMode: {
|
75
|
-
type: String
|
76
|
-
},
|
77
|
-
editedBookmark: {
|
78
|
-
type: Object
|
79
|
-
},
|
80
|
-
deleteModalConfig: {
|
81
|
-
type: Object
|
82
|
-
},
|
83
|
-
modal: {
|
84
|
-
attribute: false
|
85
|
-
},
|
86
|
-
loginOptions: {
|
87
|
-
type: Object,
|
88
|
-
attribute: false
|
89
|
-
}
|
90
|
-
};
|
91
|
-
}
|
92
|
-
static get styles() {
|
93
|
-
var mainCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .bookmarks {\n height: 100%;\n overflow: hidden;\n padding-bottom: 20px;\n }\n\n .list ia-bookmark-edit {\n display: none;\n }\n\n .edit ia-bookmarks-list {\n display: none;\n }\n "])));
|
94
|
-
return [buttonStyles, mainCss];
|
95
|
-
}
|
96
|
-
static formatPage(page) {
|
97
|
-
return isNaN(+page) ? "(".concat(page.replace(/\D/g, ''), ")") : page;
|
98
|
-
}
|
99
|
-
constructor() {
|
100
|
-
super();
|
101
|
-
this.bookmarks = [];
|
102
|
-
this.bookreader = {};
|
103
|
-
this.editedBookmark = {};
|
104
|
-
/** @type {ModalManager} */
|
105
|
-
this.modal = undefined;
|
106
|
-
this.loginOptions = {
|
107
|
-
loginClicked: () => {},
|
108
|
-
loginUrl: ''
|
109
|
-
};
|
110
|
-
/**
|
111
|
-
* Toggles display to either bookmarks or login cta
|
112
|
-
* @param {('bookmarks'|'login')} displayMode
|
113
|
-
*/
|
114
|
-
this.displayMode = 'bookmarks';
|
115
|
-
this.bookmarkColors = [{
|
116
|
-
id: 0,
|
117
|
-
className: 'red'
|
118
|
-
}, {
|
119
|
-
id: 1,
|
120
|
-
className: 'blue'
|
121
|
-
}, {
|
122
|
-
id: 2,
|
123
|
-
className: 'green'
|
124
|
-
}];
|
125
|
-
|
126
|
-
// eslint-disable-next-line
|
127
|
-
this.defaultColor = this.bookmarkColors[0];
|
128
|
-
this.api = api;
|
129
|
-
this.deleteModalConfig = new ModalConfig({
|
130
|
-
title: 'Delete Bookmark',
|
131
|
-
headline: 'This bookmark contains a note. Deleting it will permanently delete the note. Are you sure?',
|
132
|
-
headerColor: '#194880'
|
133
|
-
});
|
134
|
-
}
|
135
|
-
updated(changed) {
|
136
|
-
if (changed.has('displayMode')) {
|
137
|
-
this.updateDisplay();
|
138
|
-
}
|
139
|
-
this.emitBookmarksChanged();
|
140
|
-
}
|
141
|
-
setup() {
|
142
|
-
this.api.identifier = this.getIdentifier();
|
143
|
-
if (this.displayMode === 'login') {
|
144
|
-
return;
|
145
|
-
}
|
146
|
-
this.fetchUserBookmarks();
|
147
|
-
this.setBREventListeners();
|
148
|
-
}
|
149
|
-
|
150
|
-
/**
|
151
|
-
* get identifier for current book including sub-files
|
152
|
-
*
|
153
|
-
* @returns Identifer
|
154
|
-
*/
|
155
|
-
getIdentifier() {
|
156
|
-
if (this.bookreader.bookId !== this.bookreader.subPrefix) {
|
157
|
-
return "".concat(this.bookreader.bookId, "/").concat(this.bookreader.subPrefix);
|
158
|
-
}
|
159
|
-
return this.bookreader.bookId;
|
160
|
-
}
|
161
|
-
updateDisplay() {
|
162
|
-
if (this.displayMode === 'bookmarks') {
|
163
|
-
this.fetchUserBookmarks();
|
164
|
-
}
|
165
|
-
}
|
166
|
-
fetchUserBookmarks() {
|
167
|
-
var _this = this;
|
168
|
-
return _asyncToGenerator(function* () {
|
169
|
-
if (!_this.api.identifier) {
|
170
|
-
return;
|
171
|
-
}
|
172
|
-
yield _this.fetchBookmarks();
|
173
|
-
_this.initializeBookmarks();
|
174
|
-
})();
|
175
|
-
}
|
176
|
-
setBREventListeners() {
|
177
|
-
['3PageViewSelected'].forEach(event => {
|
178
|
-
window.addEventListener("BookReader:".concat(event), e => {
|
179
|
-
setTimeout(() => {
|
180
|
-
// wait a lil bit so bookreader can draw its DOM to attach onto
|
181
|
-
this.renderBookmarkButtons();
|
182
|
-
}, 100);
|
183
|
-
});
|
184
|
-
});
|
185
|
-
['pageChanged', '1PageViewSelected', '2PageViewSelected'].forEach(event => {
|
186
|
-
window.addEventListener("BookReader:".concat(event), e => {
|
187
|
-
setTimeout(() => {
|
188
|
-
// wait a lil bit so bookreader can draw its DOM to attach onto
|
189
|
-
this.renderBookmarkButtons();
|
190
|
-
this.markActiveBookmark();
|
191
|
-
}, 100);
|
192
|
-
});
|
193
|
-
});
|
194
|
-
['zoomOut', 'zoomIn', 'resize'].forEach(event => {
|
195
|
-
window.addEventListener("BookReader:".concat(event), () => {
|
196
|
-
this.renderBookmarkButtons();
|
197
|
-
});
|
198
|
-
});
|
199
|
-
}
|
200
|
-
initializeBookmarks() {
|
201
|
-
this.renderBookmarkButtons();
|
202
|
-
this.markActiveBookmark(true);
|
203
|
-
this.emitBookmarksChanged();
|
204
|
-
}
|
205
|
-
|
206
|
-
/**
|
207
|
-
* @typedef {object} Bookmark
|
208
|
-
* @property {number} id - bookreader page index, becomes key store
|
209
|
-
* @property {number} color - color number
|
210
|
-
* @property {string} page - bookmark's page label to display
|
211
|
-
* @property {string} note - optional, note that one can add
|
212
|
-
* @property {string} thumbnail - optional, image url
|
213
|
-
*/
|
214
|
-
/**
|
215
|
-
* Formats bookmark view model
|
216
|
-
* @param {Object} bookmarkAttrs
|
217
|
-
* @param {number} bookmarkAttrs.leafNum
|
218
|
-
* @param {string} bookmarkAttrs.notes
|
219
|
-
*
|
220
|
-
* @returns Bookmark
|
221
|
-
*/
|
222
|
-
formatBookmark(_ref) {
|
223
|
-
var {
|
224
|
-
leafNum = '',
|
225
|
-
notes = {}
|
226
|
-
} = _ref;
|
227
|
-
var {
|
228
|
-
note = '',
|
229
|
-
color
|
230
|
-
} = notes;
|
231
|
-
var nomalizedParams = {
|
232
|
-
note,
|
233
|
-
color: this.getBookmarkColor(color) ? color : this.defaultColor.id
|
234
|
-
};
|
235
|
-
var page = IABookmarks.formatPage(this.bookreader.book.getPageNum(leafNum));
|
236
|
-
var thumbnail = this.bookreader.book.getPageURI("".concat(leafNum).replace(/\D/g, ''), 32); // Request thumbnail 1/32 the size of original image
|
237
|
-
var bookmark = _objectSpread(_objectSpread({}, nomalizedParams), {}, {
|
238
|
-
id: leafNum,
|
239
|
-
leafNum,
|
240
|
-
page,
|
241
|
-
thumbnail
|
242
|
-
});
|
243
|
-
return bookmark;
|
244
|
-
}
|
245
|
-
fetchBookmarks() {
|
246
|
-
var _this2 = this;
|
247
|
-
return _asyncToGenerator(function* () {
|
248
|
-
var resText = yield _this2.api.getAll().then(r => r.text());
|
249
|
-
var parsedResponse;
|
250
|
-
try {
|
251
|
-
parsedResponse = JSON.parse(resText);
|
252
|
-
} catch (e) {
|
253
|
-
parsedResponse = {
|
254
|
-
error: e.message
|
255
|
-
};
|
256
|
-
}
|
257
|
-
var {
|
258
|
-
success,
|
259
|
-
error = 'Something happened while fetching bookmarks.',
|
260
|
-
value: bkmrks = []
|
261
|
-
} = parsedResponse;
|
262
|
-
if (!success) {
|
263
|
-
var _console;
|
264
|
-
(_console = console) === null || _console === void 0 || _console.warn('Error fetching bookmarks', error);
|
265
|
-
}
|
266
|
-
var bookmarks = {};
|
267
|
-
Object.keys(bkmrks).forEach(leafNum => {
|
268
|
-
var bookmark = bkmrks[leafNum];
|
269
|
-
var formattedLeafNum = parseInt(leafNum, 10);
|
270
|
-
var formattedBookmark = _this2.formatBookmark(_objectSpread(_objectSpread({}, bookmark), {}, {
|
271
|
-
leafNum: formattedLeafNum
|
272
|
-
}));
|
273
|
-
bookmarks[leafNum] = formattedBookmark;
|
274
|
-
});
|
275
|
-
_this2.bookmarks = bookmarks;
|
276
|
-
return bookmarks;
|
277
|
-
})();
|
278
|
-
}
|
279
|
-
emitBookmarksChanged() {
|
280
|
-
this.dispatchEvent(new CustomEvent('bookmarksChanged', {
|
281
|
-
bubbles: true,
|
282
|
-
composed: true,
|
283
|
-
detail: {
|
284
|
-
bookmarks: this.bookmarks
|
285
|
-
}
|
286
|
-
}));
|
287
|
-
}
|
288
|
-
emitBookmarkButtonClicked() {
|
289
|
-
this.dispatchEvent(new CustomEvent('bookmarkButtonClicked', {
|
290
|
-
bubbles: true,
|
291
|
-
composed: true,
|
292
|
-
detail: {
|
293
|
-
editedBookmark: this.editedBookmark
|
294
|
-
}
|
295
|
-
}));
|
296
|
-
}
|
297
|
-
bookmarkButtonClicked(pageID) {
|
298
|
-
if (this.getBookmark(pageID)) {
|
299
|
-
this.confirmDeletion(pageID);
|
300
|
-
} else {
|
301
|
-
this.createBookmark(pageID);
|
302
|
-
}
|
303
|
-
}
|
304
|
-
renderBookmarkButtons() {
|
305
|
-
var pages = this.bookreader.$('.BRpagecontainer').not('.BRemptypage').get();
|
306
|
-
pages.forEach(pageEl => {
|
307
|
-
var existingButton = pageEl.querySelector('.bookmark-button');
|
308
|
-
if (existingButton) {
|
309
|
-
existingButton.remove();
|
310
|
-
}
|
311
|
-
var pageID = +pageEl.classList.value.match(/pagediv\d+/)[0].replace(/\D/g, '');
|
312
|
-
var pageBookmark = this.getBookmark(pageID);
|
313
|
-
var bookmarkState = pageBookmark ? 'filled' : 'hollow';
|
314
|
-
// eslint-disable-next-line
|
315
|
-
var pageData = this.bookreader.book.getPage(pageID);
|
316
|
-
var {
|
317
|
-
isViewable
|
318
|
-
} = pageData;
|
319
|
-
if (!isViewable) {
|
320
|
-
return;
|
321
|
-
}
|
322
|
-
var bookmarkButton = document.createElement('div');
|
323
|
-
['mousedown', 'mouseup'].forEach(event => {
|
324
|
-
bookmarkButton.addEventListener(event, e => e.stopPropagation());
|
325
|
-
});
|
326
|
-
bookmarkButton.classList.add('bookmark-button', bookmarkState);
|
327
|
-
if (pageBookmark) {
|
328
|
-
bookmarkButton.classList.add(this.getBookmarkColor(pageBookmark.color));
|
329
|
-
}
|
330
|
-
var pageSide = pageEl.getAttribute('data-side') === 'L' && this.bookreader.mode === this.bookreader.constMode2up ? 'left' : 'right';
|
331
|
-
render(html(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n <bookmark-button\n @bookmarkButtonClicked=", "\n state=", "\n side=", "\n ></bookmark-button>"])), () => this.bookmarkButtonClicked(pageID), bookmarkState, pageSide), bookmarkButton);
|
332
|
-
pageEl.appendChild(bookmarkButton);
|
333
|
-
});
|
334
|
-
}
|
335
|
-
|
336
|
-
/**
|
337
|
-
* Notes which bookmark is active
|
338
|
-
*
|
339
|
-
* @param {boolean} atSetup - denotes the first time this is fired
|
340
|
-
*/
|
341
|
-
markActiveBookmark() {
|
342
|
-
var atSetup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
343
|
-
var {
|
344
|
-
mode,
|
345
|
-
constMode2up,
|
346
|
-
constModeThumb
|
347
|
-
} = this.bookreader;
|
348
|
-
var currentIndex = this.bookreader.currentIndex();
|
349
|
-
if (mode === constModeThumb) {
|
350
|
-
// keep active bookmark the same
|
351
|
-
// no syncing until we can verify when a bookmark is "in view"
|
352
|
-
var requestedPageHasBookmark = this.bookmarks[currentIndex];
|
353
|
-
if (atSetup && requestedPageHasBookmark) {
|
354
|
-
this.activeBookmarkID = currentIndex;
|
355
|
-
}
|
356
|
-
return;
|
357
|
-
}
|
358
|
-
// In 2up, we prefer the right side of the page to bookmark
|
359
|
-
// so let's make sure we light that one up.
|
360
|
-
if (mode === constMode2up) {
|
361
|
-
var pagesInView = this.bookreader.displayedIndices;
|
362
|
-
var pagesHaveActiveBookmark = pagesInView.includes(+this.activeBookmarkID);
|
363
|
-
if (pagesHaveActiveBookmark) {
|
364
|
-
return;
|
365
|
-
}
|
366
|
-
}
|
367
|
-
|
368
|
-
// If a bookmark exists with the current index, set it as active
|
369
|
-
if (this.bookmarks[currentIndex]) {
|
370
|
-
this.activeBookmarkID = currentIndex;
|
371
|
-
return;
|
372
|
-
}
|
373
|
-
|
374
|
-
// No bookmark for this page
|
375
|
-
this.activeBookmarkID = '';
|
376
|
-
}
|
377
|
-
bookmarkEdited(_ref2) {
|
378
|
-
var {
|
379
|
-
detail
|
380
|
-
} = _ref2;
|
381
|
-
var closeEdit = detail.bookmark.id === this.editedBookmark.id;
|
382
|
-
this.editedBookmark = closeEdit ? {} : detail.bookmark;
|
383
|
-
}
|
384
|
-
|
385
|
-
/**
|
386
|
-
* Gets bookmark by pageindex
|
387
|
-
* @param {number} id
|
388
|
-
*/
|
389
|
-
getBookmark(id) {
|
390
|
-
return this.bookmarks[id];
|
391
|
-
}
|
392
|
-
getBookmarkColor(id) {
|
393
|
-
var _this$bookmarkColors$;
|
394
|
-
return (_this$bookmarkColors$ = this.bookmarkColors.find(m => m.id === id)) === null || _this$bookmarkColors$ === void 0 ? void 0 : _this$bookmarkColors$.className;
|
395
|
-
}
|
396
|
-
|
397
|
-
/**
|
398
|
-
* Adds bookmark for current page
|
399
|
-
*/
|
400
|
-
addBookmark() {
|
401
|
-
var pageID = this.bookreader.currentIndex();
|
402
|
-
if (this.bookreader.mode === this.bookreader.constMode2up) {
|
403
|
-
var pagesInView = this.bookreader.displayedIndices;
|
404
|
-
|
405
|
-
// add bookmark to right hand page
|
406
|
-
pageID = pagesInView[pagesInView.length - 1];
|
407
|
-
}
|
408
|
-
this.createBookmark(pageID);
|
409
|
-
}
|
410
|
-
|
411
|
-
/**
|
412
|
-
* Creates bookmark for a given page
|
413
|
-
* @param {number} pageID
|
414
|
-
*/
|
415
|
-
createBookmark(pageID) {
|
416
|
-
var existingBookmark = this.getBookmark(pageID);
|
417
|
-
if (existingBookmark) {
|
418
|
-
this.bookmarkEdited({
|
419
|
-
detail: {
|
420
|
-
bookmark: existingBookmark
|
421
|
-
}
|
422
|
-
});
|
423
|
-
this.emitBookmarkButtonClicked();
|
424
|
-
return;
|
425
|
-
}
|
426
|
-
this.editedBookmark = this.formatBookmark({
|
427
|
-
leafNum: pageID
|
428
|
-
});
|
429
|
-
this.api.post(this.editedBookmark);
|
430
|
-
this.bookmarks[pageID] = this.editedBookmark;
|
431
|
-
this.activeBookmarkID = pageID;
|
432
|
-
this.disableAddBookmarkButton = true;
|
433
|
-
this.renderBookmarkButtons();
|
434
|
-
this.emitBookmarkButtonClicked();
|
435
|
-
}
|
436
|
-
bookmarkSelected(_ref3) {
|
437
|
-
var {
|
438
|
-
detail
|
439
|
-
} = _ref3;
|
440
|
-
var {
|
441
|
-
leafNum
|
442
|
-
} = detail.bookmark;
|
443
|
-
this.bookreader.jumpToPage("".concat(this.bookreader.book.getPageNum("".concat(leafNum).replace(/\D/g, ''))));
|
444
|
-
this.activeBookmarkID = leafNum;
|
445
|
-
}
|
446
|
-
saveBookmark(_ref4) {
|
447
|
-
var {
|
448
|
-
detail
|
449
|
-
} = _ref4;
|
450
|
-
var existingBookmark = this.bookmarks[detail.bookmark.id];
|
451
|
-
Object.assign(existingBookmark, detail.bookmark);
|
452
|
-
this.api.put(existingBookmark);
|
453
|
-
this.editedBookmark = {};
|
454
|
-
this.renderBookmarkButtons();
|
455
|
-
}
|
456
|
-
confirmDeletion(pageID) {
|
457
|
-
var existingBookmark = this.getBookmark(pageID);
|
458
|
-
if (existingBookmark.note) {
|
459
|
-
this.displayDeletionModal(pageID);
|
460
|
-
return;
|
461
|
-
}
|
462
|
-
this.deleteBookmark({
|
463
|
-
detail: {
|
464
|
-
id: "".concat(pageID)
|
465
|
-
}
|
466
|
-
});
|
467
|
-
}
|
468
|
-
displayDeletionModal(pageID) {
|
469
|
-
var customModalContent = html(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n <delete-modal-actions\n .deleteAction=", "\n .cancelAction=", "\n .pageID=", "\n ></delete-modal-actions>\n "])), () => this.deleteBookmark({
|
470
|
-
detail: {
|
471
|
-
id: "".concat(pageID)
|
472
|
-
}
|
473
|
-
}), () => this.modal.closeModal(), pageID);
|
474
|
-
this.modal.showModal({
|
475
|
-
config: this.deleteModalConfig,
|
476
|
-
customModalContent
|
477
|
-
});
|
478
|
-
}
|
479
|
-
deleteBookmark(_ref5) {
|
480
|
-
var {
|
481
|
-
detail
|
482
|
-
} = _ref5;
|
483
|
-
var {
|
484
|
-
id
|
485
|
-
} = detail;
|
486
|
-
var currBookmarks = this.bookmarks;
|
487
|
-
delete currBookmarks[id];
|
488
|
-
this.bookmarks = _objectSpread({}, currBookmarks);
|
489
|
-
this.api.delete(detail.id);
|
490
|
-
this.editedBookmark = {};
|
491
|
-
this.modal.closeModal();
|
492
|
-
this.renderBookmarkButtons();
|
493
|
-
}
|
494
|
-
|
495
|
-
/**
|
496
|
-
* Tells us if we should allow user to add bookmark via menu panel
|
497
|
-
* returns { Boolean }
|
498
|
-
*/
|
499
|
-
get shouldEnableAddBookmarkButton() {
|
500
|
-
var pageToCheck = this.bookreader.mode === this.bookreader.constMode2up ? this.bookreader.displayedIndices[this.bookreader.displayedIndices.length - 1] : this.bookreader.currentIndex();
|
501
|
-
var pageHasBookmark = this.getBookmark(pageToCheck);
|
502
|
-
return !!pageHasBookmark;
|
503
|
-
}
|
504
|
-
get allowAddingBookmark() {
|
505
|
-
return this.bookreader.mode !== this.bookreader.constModeThumb;
|
506
|
-
}
|
507
|
-
get addBookmarkButton() {
|
508
|
-
return html(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n <button\n class=\"ia-button primary\"\n tabindex=\"-1\"\n ?disabled=", "\n @click=", ">\n Add bookmark\n </button>\n "])), this.shouldEnableAddBookmarkButton, this.addBookmark);
|
509
|
-
}
|
510
|
-
get bookmarksList() {
|
511
|
-
return html(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n <ia-bookmarks-list\n @bookmarkEdited=", "\n @bookmarkSelected=", "\n @saveBookmark=", "\n @deleteBookmark=", "\n .editedBookmark=", "\n .bookmarks=", "\n .activeBookmarkID=", "\n .bookmarkColors=", "\n .defaultBookmarkColor=", ">\n </ia-bookmarks-list>\n "])), this.bookmarkEdited, this.bookmarkSelected, this.saveBookmark, this.deleteBookmark, this.editedBookmark, _objectSpread({}, this.bookmarks), this.activeBookmarkID, this.bookmarkColors, this.defaultColor);
|
512
|
-
}
|
513
|
-
get bookmarkHelperMessage() {
|
514
|
-
return html(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["<p>Please use 1up or 2up view modes to add bookmark.</p>"])));
|
515
|
-
}
|
516
|
-
render() {
|
517
|
-
var bookmarks = html(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n ", "\n ", "\n "])), this.bookmarksList, this.allowAddingBookmark ? this.addBookmarkButton : this.bookmarkHelperMessage);
|
518
|
-
return html(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n <section class=\"bookmarks\">\n ", "\n </section>\n "])), this.displayMode === 'login' ? html(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["<bookmarks-login\n @click=", "\n .url=", "></bookmarks-login>"])), () => this.loginOptions.loginClicked(), this.loginOptions.loginUrl) : bookmarks);
|
519
|
-
}
|
520
|
-
}
|
521
|
-
customElements.define('ia-bookmarks', IABookmarks);
|
@@ -1,29 +0,0 @@
|
|
1
|
-
var _templateObject, _templateObject2;
|
2
|
-
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
3
|
-
import { LitElement, html, css } from 'lit';
|
4
|
-
export default class DeleteModalActions extends LitElement {
|
5
|
-
static get styles() {
|
6
|
-
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n div {\n display: flex;\n justify-content: center;\n padding-top: 2rem;\n }\n\n button {\n appearance: none;\n padding: 0.5rem 1rem;\n margin: 0 .5rem;\n box-sizing: border-box;\n font: 1.3rem \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n color: var(--primaryTextColor);\n border: none;\n border-radius: 4px;\n cursor: pointer;\n background: var(--primaryCTAFill);\n }\n\n .delete {\n background: var(--primaryErrorCTAFill);\n }\n "])));
|
7
|
-
}
|
8
|
-
static get properties() {
|
9
|
-
return {
|
10
|
-
cancelAction: {
|
11
|
-
type: Function
|
12
|
-
},
|
13
|
-
deleteAction: {
|
14
|
-
type: Function
|
15
|
-
},
|
16
|
-
pageID: {
|
17
|
-
type: String
|
18
|
-
}
|
19
|
-
};
|
20
|
-
}
|
21
|
-
render() {
|
22
|
-
return html(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n <div>\n <button class=\"delete\" @click=", ">Delete</button>\n <button @click=", ">Cancel</button>\n </div>\n "])), () => this.deleteAction({
|
23
|
-
detail: {
|
24
|
-
id: "".concat(this.pageID)
|
25
|
-
}
|
26
|
-
}), () => this.cancelAction());
|
27
|
-
}
|
28
|
-
}
|
29
|
-
customElements.define('delete-modal-actions', DeleteModalActions);
|
@@ -1,84 +0,0 @@
|
|
1
|
-
var _templateObject, _templateObject2;
|
2
|
-
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
3
|
-
import { html } from 'lit';
|
4
|
-
import '@internetarchive/icon-dl/icon-dl';
|
5
|
-
import './downloads';
|
6
|
-
var menuBase = {
|
7
|
-
pdf: {
|
8
|
-
type: 'Encrypted Adobe PDF',
|
9
|
-
url: '#',
|
10
|
-
note: 'PDF files contain high quality images of pages.'
|
11
|
-
},
|
12
|
-
lcppdf: {
|
13
|
-
type: 'Get LCP PDF',
|
14
|
-
url: '#',
|
15
|
-
note: 'PDF files contain high quality images of pages.'
|
16
|
-
},
|
17
|
-
lcpepub: {
|
18
|
-
type: 'Get LCP ePub',
|
19
|
-
url: '#',
|
20
|
-
note: 'ePub files are smaller in size, but may contain errors.'
|
21
|
-
},
|
22
|
-
epub: {
|
23
|
-
type: 'Encrypted Adobe ePub',
|
24
|
-
url: '#',
|
25
|
-
note: 'ePub files are smaller in size, but may contain errors.'
|
26
|
-
}
|
27
|
-
};
|
28
|
-
var publicMenuBase = {
|
29
|
-
pdf: "PDF",
|
30
|
-
epub: "ePub",
|
31
|
-
lcppdf: "LCP PDF",
|
32
|
-
lcpepub: "LCP ePub"
|
33
|
-
};
|
34
|
-
export default class DownloadsProvider {
|
35
|
-
constructor(_ref) {
|
36
|
-
var _bookreader$options;
|
37
|
-
var {
|
38
|
-
bookreader
|
39
|
-
} = _ref;
|
40
|
-
this.icon = html(_templateObject || (_templateObject = _taggedTemplateLiteral(["<ia-icon-dl style=\"width: var(--iconWidth); height: var(--iconHeight);\"></ia-icon-dl>"])));
|
41
|
-
this.label = 'Downloadable files';
|
42
|
-
this.menuDetails = '';
|
43
|
-
this.downloads = [];
|
44
|
-
this.id = 'downloads';
|
45
|
-
this.component = '';
|
46
|
-
this.isBookProtected = (bookreader === null || bookreader === void 0 || (_bookreader$options = bookreader.options) === null || _bookreader$options === void 0 ? void 0 : _bookreader$options.isProtected) || false;
|
47
|
-
}
|
48
|
-
update(downloadTypes) {
|
49
|
-
this.computeAvailableTypes(downloadTypes);
|
50
|
-
this.component = this.menu;
|
51
|
-
this.component.isBookProtected = this.isBookProtected;
|
52
|
-
var ending = this.downloads.length === 1 ? '' : 's';
|
53
|
-
this.menuDetails = "(".concat(this.downloads.length, " format").concat(ending, ")");
|
54
|
-
}
|
55
|
-
|
56
|
-
/**
|
57
|
-
* Generates Download Menu Info for available types
|
58
|
-
* sets global `downloads`
|
59
|
-
* @param availableTypes
|
60
|
-
*/
|
61
|
-
computeAvailableTypes() {
|
62
|
-
var _this = this;
|
63
|
-
var availableTypes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
64
|
-
var menuData = availableTypes.reduce(function (found) {
|
65
|
-
var incoming = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
66
|
-
var [type = '', link = ''] = incoming;
|
67
|
-
var formattedType = type.toLowerCase();
|
68
|
-
var downloadOption = menuBase[formattedType] || null;
|
69
|
-
if (downloadOption) {
|
70
|
-
var menuButtonText = _this.isBookProtected ? menuBase[formattedType].type : publicMenuBase[formattedType];
|
71
|
-
var menuInfo = Object.assign({}, downloadOption, {
|
72
|
-
url: link,
|
73
|
-
type: menuButtonText
|
74
|
-
});
|
75
|
-
found.push(menuInfo);
|
76
|
-
}
|
77
|
-
return found;
|
78
|
-
}, []);
|
79
|
-
this.downloads = menuData;
|
80
|
-
}
|
81
|
-
get menu() {
|
82
|
-
return html(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["<ia-book-downloads .downloads=", "></ia-book-downloads>"])), this.downloads);
|
83
|
-
}
|
84
|
-
}
|