diva.js 6.0.2 → 7.2.3
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/.clang-format +7 -0
- package/.github/workflows/npm-publish.yml +45 -0
- package/LICENSE +55 -0
- package/Makefile +75 -0
- package/README.md +15 -114
- package/elm.json +32 -0
- package/package.json +12 -59
- package/review/elm.json +52 -0
- package/review/src/ReviewConfig.elm +87 -0
- package/scripts/elm-esm.sh +40 -0
- package/scripts/minify-css.mjs +31 -0
- package/src/Filters.elm +1044 -0
- package/src/Main.elm +1217 -0
- package/src/Model.elm +213 -0
- package/src/Msg.elm +59 -0
- package/src/Utilities.elm +46 -0
- package/src/View/CollectionExplorer.elm +172 -0
- package/src/View/Helpers.elm +86 -0
- package/src/View/HtmlRenderer.elm +136 -0
- package/src/View/Icons.elm +159 -0
- package/src/View/ManifestInfoModal.elm +363 -0
- package/src/View/PageViewModal.elm +1046 -0
- package/src/View/Sidebar.elm +786 -0
- package/src/View/Toolbar.elm +189 -0
- package/src/View.elm +244 -0
- package/src/diva.ts +802 -0
- package/src/filters.ts +1843 -0
- package/src/styles/app.css +328 -0
- package/src/styles/collection.css +75 -0
- package/src/styles/modal.css +388 -0
- package/src/styles/sidebar.css +215 -0
- package/src/styles/theme.css +39 -0
- package/src/styles/toolbar.css +154 -0
- package/src/viewer-element.ts +1307 -0
- package/testing/index.html +52 -0
- package/testing/testing.html +231 -0
- package/tsconfig.json +12 -0
- package/AUTHORS +0 -22
- package/build/diva.css +0 -554
- package/build/diva.css.map +0 -1
- package/build/diva.js +0 -9
- package/build/diva.js.map +0 -1
- package/build/plugins/download.js +0 -2
- package/build/plugins/download.js.map +0 -1
- package/build/plugins/manipulation.js +0 -2
- package/build/plugins/manipulation.js.map +0 -1
- package/build/plugins/metadata.js +0 -2
- package/build/plugins/metadata.js.map +0 -1
- package/index.html +0 -28
- package/karma.conf.js +0 -87
- package/source/css/_mixins.scss +0 -43
- package/source/css/_variables.scss +0 -50
- package/source/css/_viewer.scss +0 -462
- package/source/css/diva.scss +0 -15
- package/source/css/plugins/_manipulation.scss +0 -228
- package/source/css/plugins/_metadata.scss +0 -31
- package/source/img/adjust.svg +0 -11
- package/source/img/book-view.svg +0 -6
- package/source/img/close.svg +0 -6
- package/source/img/download.svg +0 -6
- package/source/img/from-fullscreen.svg +0 -8
- package/source/img/grid-fewer.svg +0 -6
- package/source/img/grid-more.svg +0 -6
- package/source/img/grid-view.svg +0 -6
- package/source/img/link.svg +0 -6
- package/source/img/metadata.svg +0 -9
- package/source/img/page-view.svg +0 -6
- package/source/img/to-fullscreen.svg +0 -11
- package/source/img/zoom-in.svg +0 -6
- package/source/img/zoom-out.svg +0 -7
- package/source/js/composite-image.js +0 -174
- package/source/js/diva-global.js +0 -7
- package/source/js/diva.js +0 -1543
- package/source/js/document-handler.js +0 -180
- package/source/js/document-layout.js +0 -286
- package/source/js/exceptions.js +0 -26
- package/source/js/gesture-events.js +0 -190
- package/source/js/grid-handler.js +0 -122
- package/source/js/iiif-source-adapter.js +0 -63
- package/source/js/image-cache.js +0 -113
- package/source/js/image-manifest.js +0 -157
- package/source/js/image-request-handler.js +0 -76
- package/source/js/interpolate-animation.js +0 -122
- package/source/js/page-layouts/book-layout.js +0 -161
- package/source/js/page-layouts/grid-layout.js +0 -97
- package/source/js/page-layouts/index.js +0 -38
- package/source/js/page-layouts/page-dimensions.js +0 -9
- package/source/js/page-layouts/singles-layout.js +0 -27
- package/source/js/page-overlay-manager.js +0 -102
- package/source/js/page-tools-overlay.js +0 -95
- package/source/js/parse-iiif-manifest.js +0 -302
- package/source/js/plugins/_filters.js +0 -679
- package/source/js/plugins/download.js +0 -83
- package/source/js/plugins/manipulation.js +0 -837
- package/source/js/plugins/metadata.js +0 -190
- package/source/js/renderer.js +0 -584
- package/source/js/settings-view.js +0 -30
- package/source/js/tile-coverage-map.js +0 -25
- package/source/js/toolbar.js +0 -573
- package/source/js/utils/dragscroll.js +0 -106
- package/source/js/utils/elt.js +0 -94
- package/source/js/utils/events.js +0 -190
- package/source/js/utils/get-scrollbar-width.js +0 -29
- package/source/js/utils/hash-params.js +0 -86
- package/source/js/utils/parse-label-value.js +0 -34
- package/source/js/utils/vanilla.kinetic.js +0 -527
- package/source/js/validation-runner.js +0 -177
- package/source/js/viewer-core.js +0 -1514
- package/source/js/viewport.js +0 -143
- package/test/_setup.js +0 -13
- package/test/composite-image_test.js +0 -94
- package/test/diva_test.js +0 -43
- package/test/hash-params_test.js +0 -221
- package/test/image-cache_test.js +0 -106
- package/test/main.js +0 -6
- package/test/manifests/beromunsterManifest.json +0 -15514
- package/test/manifests/iiifv2.json +0 -11032
- package/test/manifests/iiifv2pages.json +0 -30437
- package/test/manifests/iiifv3.json +0 -10965
- package/test/navigation_test.js +0 -355
- package/test/parse-iiif-manifest_test.js +0 -68
- package/test/public_test.js +0 -881
- package/test/settings_test.js +0 -487
- package/test/utils/book-layout_test.js +0 -148
- package/test/utils/elt_test.js +0 -102
- package/test/utils/events_test.js +0 -245
- package/test/utils/hash-params_test.js +0 -79
- package/test/utils/parse-label-value_test.js +0 -45
- package/test/z_plugins_test.js +0 -180
- package/webpack.config.js +0 -58
- package/webpack.config.test.js +0 -45
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A simple plugin that implements a download button for individual images. Plugins
|
|
3
|
-
* should register themselves as a class in the global Diva namespace, e.g., global.Diva.DownloadPlugin.
|
|
4
|
-
* Plugins are then included as *uninstantiated* references within a plugin configuration. To enable them, simply include
|
|
5
|
-
* plugins: [Diva.DownloadPlugin] when creating a Diva instance.
|
|
6
|
-
* When the viewer is instantiated it will also instantiate the plugin, which
|
|
7
|
-
* will then configure itself.
|
|
8
|
-
*
|
|
9
|
-
* Plugin constructors should take one argument, which is an instance of a ViewerCore object.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Plugins should implement the following interface:
|
|
13
|
-
*
|
|
14
|
-
* {boolean} isPageTool - Added to the class prototype. Whether the plugin icon should be included for each page as a page tool
|
|
15
|
-
* {string} pluginName - Added to the class prototype. Defines the name for the plugin.
|
|
16
|
-
*
|
|
17
|
-
* @method createIcon - A div representing the icon. This *should* be implemented using SVG.
|
|
18
|
-
* @method handleClick - The click handler for the icon.
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
**/
|
|
22
|
-
export default class DownloadPlugin
|
|
23
|
-
{
|
|
24
|
-
constructor (core)
|
|
25
|
-
{
|
|
26
|
-
this.core = core;
|
|
27
|
-
this.pageToolsIcon = this.createIcon();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Open a new window with the page image.
|
|
32
|
-
*
|
|
33
|
-
**/
|
|
34
|
-
handleClick (event, settings, publicInstance, pageIndex)
|
|
35
|
-
{
|
|
36
|
-
let width = publicInstance.getPageDimensions(pageIndex).width;
|
|
37
|
-
let url = publicInstance.getPageImageURL(pageIndex, { width: width });
|
|
38
|
-
window.open(url);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
createIcon ()
|
|
42
|
-
{
|
|
43
|
-
/*
|
|
44
|
-
* See img/download.svg for the standalone source code for this.
|
|
45
|
-
* */
|
|
46
|
-
|
|
47
|
-
const pageToolsIcon = document.createElement('div');
|
|
48
|
-
pageToolsIcon.classList.add('diva-download-icon');
|
|
49
|
-
|
|
50
|
-
let root = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
51
|
-
root.setAttribute("x", "0px");
|
|
52
|
-
root.setAttribute("y", "0px");
|
|
53
|
-
root.setAttribute("viewBox", "0 0 25 25");
|
|
54
|
-
root.id = `${this.core.settings.selector}download-icon`;
|
|
55
|
-
|
|
56
|
-
let g = document.createElementNS("http://www.w3.org/2000/svg", "g");
|
|
57
|
-
g.id = `${this.core.settings.selector}download-icon-glyph`;
|
|
58
|
-
g.setAttribute("transform", "matrix(1, 0, 0, 1, -11.5, -11.5)");
|
|
59
|
-
g.setAttribute("class", "diva-pagetool-icon");
|
|
60
|
-
|
|
61
|
-
let path = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
62
|
-
path.setAttribute("d", "M36.25,24c0,6.755-5.495,12.25-12.25,12.25S11.75,30.755,11.75,24S17.245,11.75,24,11.75S36.25,17.245,36.25,24z M33,24c0-4.963-4.037-9-9-9s-9,4.037-9,9s4.037,9,9,9S33,28.963,33,24z M29.823,23.414l-5.647,7.428c-0.118,0.152-0.311,0.117-0.428-0.035L18.1,23.433C17.982,23.28,18.043,23,18.235,23H21v-4.469c0-0.275,0.225-0.5,0.5-0.5h5c0.275,0,0.5,0.225,0.5,0.5V23h2.688C29.879,23,29.941,23.263,29.823,23.414z");
|
|
63
|
-
|
|
64
|
-
g.appendChild(path);
|
|
65
|
-
root.appendChild(g);
|
|
66
|
-
|
|
67
|
-
pageToolsIcon.appendChild(root);
|
|
68
|
-
|
|
69
|
-
return pageToolsIcon;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
DownloadPlugin.prototype.pluginName = "download";
|
|
74
|
-
DownloadPlugin.prototype.isPageTool = true;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Make this plugin available in the global context
|
|
78
|
-
* as part of the 'Diva' namespace.
|
|
79
|
-
**/
|
|
80
|
-
(function (global)
|
|
81
|
-
{
|
|
82
|
-
global.Diva.DownloadPlugin = DownloadPlugin;
|
|
83
|
-
})(window);
|