big ui update, page search + full text

- split file chooser from coll index, insert as header, make file chooser collapsible
- revamp collection index to be responsive
- add separate sorter component, used for collection index and pages
- combine 'curated lists' + pages, with page search + narrative
- ensure page + narrative lists are collapsible
- page search: support title, url and full text search if available, using flexsearch
- page search: keyword highlighting, load all pages, showing in increments of 100
- page and resource search: delay search to 1/4 sec of inactivity to avoid too many queries
- electron app: ensure noCache is set to true for local files
- embedding: remove separate embed.js, just use ui.js for embed as well
- embedding: support embedding iframe in a local origin with just sw.js and ui.js: sw.js serves index.html,
<replay-web-page> embed injects ui.js into iframe
- sw.js, new service worker entry point
- sw and ww inited only from <replay-app-main>, ui.js loaded from <replay-web-page> embed component
This commit is contained in:
Ilya Kreymer
2020-05-26 14:43:28 -07:00
parent ff6de51132
commit 03023523b7
21 changed files with 1743 additions and 1069 deletions
+3 -7
View File
@@ -15,9 +15,6 @@ const HELPER_PROXY = "https://helper-proxy.webrecorder.workers.dev";
const GDRIVE_CLIENT_ID = "160798412227-tko4c82uopud11q105b2lvbogsj77hlg.apps.googleusercontent.com";
const electronMainConfig = (env, argv) => {
return {
target: 'electron-main',
@@ -65,8 +62,7 @@ const browserConfig = (env, argv) => {
mode: 'production',
entry: {
'ui': './src/ui.js',
'embed': './src/embed.js',
'sw': 'wabac/src/sw.js'
'sw': './src/sw.js'
},
output: {
@@ -92,7 +88,7 @@ const browserConfig = (env, argv) => {
plugins: [
new MiniCssExtractPlugin(),
new webpack.DefinePlugin({
__SW_PATH__: JSON.stringify('./sw.js'),
__SW_NAME__: JSON.stringify('sw.js'),
__APP_FILE_SERVE_PREFIX__ : JSON.stringify(APP_FILE_SERVE_PREFIX),
__HELPER_PROXY__ : JSON.stringify(HELPER_PROXY),
__GDRIVE_CLIENT_ID__ : JSON.stringify(GDRIVE_CLIENT_ID)
@@ -114,7 +110,7 @@ const browserConfig = (env, argv) => {
loaders: ['to-string-loader', 'css-loader', 'sass-loader']
},
{
test: /wombat.js|wombatWorkers.js$/i,
test: /wombat.js|wombatWorkers.js|index.html$/i,
loaders: ['raw-loader'],
}
]