@internetarchive/ia-book-actions 0.0.29 → 0.0.30

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/demo/index.html CHANGED
@@ -134,6 +134,25 @@
134
134
  });
135
135
  });
136
136
 
137
+ document.querySelectorAll('.searchParam input[type=checkbox]').forEach((item) => {
138
+ item.addEventListener('click', (e) => {
139
+ var searchParams = new URLSearchParams(window.location.search);
140
+ var separate = '';
141
+ if (e.target.checked) {
142
+ separate = '?';
143
+ searchParams.set('q', 'test');
144
+ } else {
145
+ separate = '';
146
+ searchParams.delete('q');
147
+ }
148
+
149
+ if (history.pushState) {
150
+ var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + separate + searchParams;
151
+ window.history.pushState({path:newurl},'',newurl);
152
+ }
153
+ });
154
+ });
155
+
137
156
  document.querySelectorAll('.errorEnable input[type=checkbox]').forEach((item) => {
138
157
  if (window.location.href.indexOf('?error=true') !== -1) {
139
158
  item.checked = true;
@@ -263,6 +282,9 @@
263
282
  <td class="titleBar">
264
283
  <label><input type="checkbox" name="title" value="title" />Title Bar</label>
265
284
  </td>
285
+ <td class="searchParam">
286
+ <label><input type="checkbox" name="search" value="Search Param" />Search Param</label>
287
+ </td>
266
288
  </tr>
267
289
  </table>
268
290
  </fieldset>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/ia-book-actions",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "description": "Bookreader actions for borrowable book",
5
5
  "author": "Internet Archive",
6
6
  "license": "AGPL-3.0-only",
@@ -147,7 +147,7 @@ export class CollapsibleActionGroup extends ActionsHandler {
147
147
  get renderSecondaryActions() {
148
148
  if (!this.secondaryActions.length) return nothing;
149
149
 
150
- return this.secondaryActions.map(action => this.renderActionLink(action));
150
+ return this.secondaryActions.map(action => this.renderActionButton(action));
151
151
  }
152
152
 
153
153
  /**
@@ -206,8 +206,6 @@ export default class ActionsConfig {
206
206
  id: 'adminAccess',
207
207
  text: 'Admin Access',
208
208
  title: 'You have administrative privileges to read this book',
209
- url: '?admin=1',
210
- target: '_self',
211
209
  className: 'danger',
212
210
  analyticsEvent: {
213
211
  category: this.analyticsCategories.adminAccess,
@@ -82,6 +82,11 @@ export default class ActionsHandler extends LitElement {
82
82
  this.addEventListener('adminAccess', ({ detail }) => {
83
83
  const { category, action } = detail.event;
84
84
  this.sendEvent(category, action);
85
+
86
+ // keep existing params and add new one
87
+ const url = new URL(window.location.href);
88
+ url.searchParams.append('admin', 1);
89
+ window.location.search = url.search;
85
90
  });
86
91
 
87
92
  this.addEventListener('exitAdminAccess', ({ detail }) => {
@@ -1,146 +0,0 @@
1
- <!doctype html>
2
- <html lang="en-GB">
3
-
4
- <head>
5
- <meta charset="utf-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
7
- <style>
8
- html {
9
- font-size: 10px;
10
- /* This is to match petabox's base font size */
11
- }
12
- body {
13
- margin: 0;
14
- text-align: center;
15
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
16
- }
17
- #demo {
18
- height: 50px;
19
- }
20
- ia-book-actions {
21
- --white: #fff;
22
- --black: #000;
23
- --primaryBGColor: var(--black);
24
- --secondaryBGColor: #222;
25
- --tertiaryBGColor: #333;
26
- --primaryTextColor: var(--white);
27
- --primaryCTAFill: #194880;
28
- --primaryCTABorder: #c5d1df;
29
- --secondaryCTAFill: #333;
30
- --secondaryCTABorder: #999;
31
- --secondaryCTAFillRGB: 51, 51, 51;
32
- --primaryErrorCTAFill: #e51c26;
33
- --primaryErrorCTABorder: #f8c6c8;
34
- --primaryCTAFillRGB: 25, 72, 128;
35
- --primaryErrorCTAFillRGB: 229, 28, 38;
36
- --primaryDisableCTAFill: #767676;
37
- }
38
-
39
- fieldset {
40
- width: fit-content;
41
- margin-top: 50px;
42
- }
43
- fieldset legend {
44
- text-align: left;
45
- font-size: 12px;
46
- }
47
- td {
48
- color: white;
49
- font-size: 14px;
50
- border-radius: 5%;
51
- display: table-cell;
52
- text-align: initial;
53
- margin: 5px 0;
54
- width: max-content;
55
- display: block;
56
- }
57
- label {
58
- padding: 10px;
59
- display: block;
60
- cursor: pointer;
61
- margin: 2px;
62
- background: #4e545a;
63
- border-radius: 10px;
64
- }
65
- input[type="radio"], input[type="checkbox"] {
66
- margin-top: 0;
67
- vertical-align: middle;
68
- }
69
-
70
- .initial td {
71
- float: left;
72
- margin: 2px;
73
- }
74
-
75
- body.modal-manager-open {
76
- overflow: hidden;
77
- }
78
-
79
- modal-manager[mode='closed'] {
80
- display: none;
81
- }
82
- </style>
83
- </head>
84
-
85
- <body>
86
- <ia-bookreader class="focus-on-child-only" signedin="" fullscreen="">
87
- <div slot="header">
88
- <ia-book-actions></ia-book-actions>
89
- </div>
90
- <div slot="main">
91
- <div id="BookReader"></div>
92
- </div>
93
- </ia-bookreader>
94
-
95
-
96
- <script type="module">
97
- /* eslint-disable */
98
- import '@internetarchive/bookreader';
99
- import '@internetarchive/bookreader/BookReader/jquery-1.10.1.js';
100
- import '@internetarchive/bookreader/BookReader/BookReader.js';
101
- import '../src/ia-book-actions.js';
102
- import {
103
- defaultLendingStatus,
104
- canBrowseAndBorrow,
105
- } from '../src/assets/data/lending-get-status-service.js';
106
- import { ModalConfig } from '@internetarchive/modal-manager';
107
-
108
- const userid = '@neeraj-archive';
109
- const identifier = 'naturalhistoryof00unse_4111';
110
- let bwbPurchaseUrl = 'https://www.betterworldbooks.com/product/detail/cambridge-ancient-hist-v04-0521044863';
111
-
112
- let iaBookActions = document.querySelector('ia-book-actions');
113
-
114
- // for debugging
115
- window.iaBookActions = iaBookActions;
116
-
117
- const modalConfig = new ModalConfig();
118
- modalConfig.headerColor = '#d9534f';
119
-
120
- let lendingBarPostInit = function lendingBarPostInit() {
121
- setTimeout(function() {
122
- console.log('executed', 'br.init()');
123
- }, 100);
124
- }
125
-
126
- // set defaultLendingStatus for unavailable (without borrowables) book
127
- iaBookActions.userid = userid;
128
- iaBookActions.identifier = identifier;
129
- iaBookActions.bookTitle = 'Contemporary Black biography. Volume 39 : profiles from the interContemporary Black biography. Volume 39';
130
- iaBookActions.lendingStatus = canBrowseAndBorrow;
131
- iaBookActions.bwbPurchaseUrl = '';
132
- iaBookActions.modalConfig = modalConfig;
133
- iaBookActions.lendingBarPostInit = lendingBarPostInit;
134
- iaBookActions.tokenDelay = 2000; // 2 seconds
135
- iaBookActions.returnUrl = 'https://openlibrary.org';
136
-
137
- let lendingStatus1 = iaBookActions.lendingStatus;
138
-
139
- const manifest = await fetch('https://ia801302.us.archive.org/BookReader/BookReaderJSIA.php?id=goody&itemPath=/29/items/goody&server=ia801302.us.archive.org&format=jsonp&subPrefix=goody&requestUri=/details/goody/mode/1up%3Fview%3Dtheater%26ui%3Dembed%26wrapper%3Dfalse');
140
-
141
- console.log('manifest ****', manifest).then(res => res.json());
142
- </script>
143
-
144
- </div>
145
- </body>
146
- </html>