diff --git a/CHANGES.md b/CHANGES.md
index a924027..8815212 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,10 @@
## CHANGES
+v1.8.0
+- UI: Add 'Show All Pages' option to show non-seed pages that are previously only available via search
+- Embeds: add 'swName' option to allow customizing 'sw.js' to a different filename
+- Dependencies: Update to wabac.js 2.16.1 -- varioues loading improvements related to surt
+
v1.7.15
- UI: Loading: support URLs that have query/hashes after extension
- Dependencies: Update to wabac.js 2.16.0 -- improved support for Multi WACZ files
diff --git a/_data/package.json b/_data/package.json
index ecfd7af..25cfbe0 100644
--- a/_data/package.json
+++ b/_data/package.json
@@ -1,7 +1,7 @@
{
"name": "replaywebpage",
"productName": "ReplayWeb.page",
- "version": "1.7.15",
+ "version": "1.8.0",
"description": "Serverless Web Archive Replay",
"repository": "https://github.com/webrecorder/replayweb.page",
"homepage": "https://replayweb.page/",
@@ -14,7 +14,7 @@
"electron-log": "^4.4.1",
"electron-updater": "^5.3.0",
"fetch-ndjson": "^1.1.6",
- "flexsearch": "^0.7.21",
+ "flexsearch": "^0.7.31",
"keyword-mark-element": "^0.2.0",
"lit": "^2.1.1",
"marked": "^4.0.10",
diff --git a/package.json b/package.json
index ecfd7af..25cfbe0 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "replaywebpage",
"productName": "ReplayWeb.page",
- "version": "1.7.15",
+ "version": "1.8.0",
"description": "Serverless Web Archive Replay",
"repository": "https://github.com/webrecorder/replayweb.page",
"homepage": "https://replayweb.page/",
@@ -14,7 +14,7 @@
"electron-log": "^4.4.1",
"electron-updater": "^5.3.0",
"fetch-ndjson": "^1.1.6",
- "flexsearch": "^0.7.21",
+ "flexsearch": "^0.7.31",
"keyword-mark-element": "^0.2.0",
"lit": "^2.1.1",
"marked": "^4.0.10",
diff --git a/src/pages.js b/src/pages.js
index 0f4cf64..607e2a3 100644
--- a/src/pages.js
+++ b/src/pages.js
@@ -29,6 +29,9 @@ class Pages extends LitElement
this.loading = false;
this.updatingSearch = false;
+ this.showAllPages = false;
+ this.hasExtraPages = false;
+
this.currList = 0;
this.active = false;
@@ -77,6 +80,8 @@ class Pages extends LitElement
filteredPages: { type: Array },
sortedPages: { type: Array },
+ showAllPages: { type: Boolean },
+
query: { type: String },
defaultKey: { type: String },
@@ -120,7 +125,10 @@ class Pages extends LitElement
} else if (changedProperties.has("currList")) {
this.filter();
+ } else if (changedProperties.has("showAllPages")) {
+ this.filter();
}
+
if (changedProperties.has("active") && this.active) {
if (this.changeNeeded) {
this.filter();
@@ -173,6 +181,8 @@ class Pages extends LitElement
if (this.flex && this.query && this.textPages) {
const results = await this.flex.searchAsync(this.query, 25);
this.filteredPages = results.map(inx => this.textPages[inx]);
+ } else if (this.showAllPages && this.hasExtraPages) {
+ this.filteredPages = [...this.textPages];
} else {
this.filteredPages = [...this.collInfo.pages];
}
@@ -213,6 +223,9 @@ class Pages extends LitElement
this.flex = flex;
this.textPages = pages;
+ this.hasExtraPages = this.textPages && this.collInfo && this.collInfo.pages &&
+ this.textPages.length > this.collInfo.pages.length;
+
return Promise.all(pages.map((page, index) => {
let text = page.url;
if (page.title) {
@@ -526,7 +539,7 @@ class Pages extends LitElement
-
+
${this.editable && this.editing ? html`
@@ -535,7 +548,15 @@ class Pages extends LitElement
${this.editable ? html`
` : html``}
-
${this.formatResults()}
+ ${this.hasExtraPages ? html`
+
+
+ ` : ""}
+
+
${this.formatResults()}
${this.editable ? html`
@@ -855,19 +876,19 @@ class Pages extends LitElement
formatResults() {
// Default behavior: Count all available pages
if (!this.query) {
- const length = this.collInfo.pages.length;
+ const length = this.filteredPages.length;
if (length === this.sortedPages.length) {
- return `${length} Page${length ? "s" : ""} Found`;
+ return `${length} Page${length !== 1 ? "s" : ""}`;
} else {
- return `${this.sortedPages.length} of ${length} Pages Found`;
+ return `${this.sortedPages.length} of ${length} Pages Shown`;
}
}
// ... unless they were filtered
if (this.sortedPages.length === 1) {
- return "1 Page Found";
+ return "1 Page";
} else {
- return `${this.sortedPages.length} Pages Found`;
+ return `${this.sortedPages.length} Pages`;
}
}
diff --git a/sw.js b/sw.js
index 5383f5d..010a955 100644
--- a/sw.js
+++ b/sw.js
@@ -1,979 +1,121 @@
-/*! 'sw.js is part of ReplayWeb.page (https://replayweb.page) Copyright (C) 2020-2023, Webrecorder Software. Licensed under the Affero General Public License v3.' */(()=>{var __webpack_modules__={"./index.html":
-/*!********************!*\
- !*** ./index.html ***!
- \********************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\\n\\n\\n\\n\\n
ReplayWeb.page\\n\\n