aboutsummaryrefslogtreecommitdiff
path: root/html/item_preview.js
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-01-22 13:49:40 +0100
committerWojtek Kosior <koszko@koszko.org>2022-01-22 13:49:40 +0100
commit7218849ae2f43aee6b3462a30e07caf5bac3d22b (patch)
tree3de3b31c07e532edf7373faf4a267f313dc2ed25 /html/item_preview.js
parent046b8a7b3e7259bf451926732e6221076b1d4153 (diff)
downloadbrowser-extension-7218849ae2f43aee6b3462a30e07caf5bac3d22b.tar.gz
browser-extension-7218849ae2f43aee6b3462a30e07caf5bac3d22b.zip
add a mapping/resources installation dialog
Diffstat (limited to 'html/item_preview.js')
-rw-r--r--html/item_preview.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/html/item_preview.js b/html/item_preview.js
index 474766c..dccf2d4 100644
--- a/html/item_preview.js
+++ b/html/item_preview.js
@@ -55,6 +55,7 @@ function populate_list(ul, items)
}
}
+/* Link click handler used in make_file_link(). */
async function file_link_clicked(preview_object, file_ref, event)
{
event.preventDefault();
@@ -71,6 +72,10 @@ async function file_link_clicked(preview_object, file_ref, event)
}
}
+/*
+ * The default function to use to create file preview link. Links it creates can
+ * be used to view files from IndexedDB.
+ */
function make_file_link(preview_object, file_ref)
{
const a = document.createElement("a");
@@ -82,7 +87,8 @@ function make_file_link(preview_object, file_ref)
return a;
}
-function resource_preview(resource, preview_object, dialog_context)
+function resource_preview(resource, preview_object, dialog_context,
+ make_link_cb=make_file_link)
{
if (preview_object === undefined)
preview_object = clone_template("resource_preview");
@@ -98,7 +104,7 @@ function resource_preview(resource, preview_object, dialog_context)
[...preview_object.dependencies.childNodes].forEach(n => n.remove());
populate_list(preview_object.dependencies, resource.dependencies);
- const link_maker = file_ref => make_file_link(preview_object, file_ref);
+ const link_maker = file_ref => make_link_cb(preview_object, file_ref);
[...preview_object.scripts.childNodes].forEach(n => n.remove());
populate_list(preview_object.scripts, resource.scripts.map(link_maker));
@@ -113,7 +119,8 @@ function resource_preview(resource, preview_object, dialog_context)
}
#EXPORT resource_preview
-function mapping_preview(mapping, preview_object, dialog_context)
+function mapping_preview(mapping, preview_object, dialog_context,
+ make_link_cb=make_file_link)
{
if (preview_object === undefined)
preview_object = clone_template("mapping_preview");
@@ -138,7 +145,7 @@ function mapping_preview(mapping, preview_object, dialog_context)
}
}
- const link_maker = file_ref => make_file_link(preview_object, file_ref);
+ const link_maker = file_ref => make_link_cb(preview_object, file_ref);
[...preview_object.copyright.childNodes].forEach(n => n.remove());
populate_list(preview_object.copyright,