retold-remote 0.0.23 → 0.0.26
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/css/retold-remote.css +343 -20
- package/docs/.nojekyll +0 -0
- package/docs/README.md +64 -12
- package/docs/_cover.md +6 -6
- package/docs/_sidebar.md +2 -0
- package/docs/_topbar.md +1 -1
- package/docs/_version.json +7 -0
- package/docs/collections.md +30 -0
- package/docs/css/docuserve.css +327 -0
- package/docs/ebook-reader.md +75 -1
- package/docs/image-explorer.md +62 -2
- package/docs/index.html +39 -0
- package/docs/retold-catalog.json +254 -0
- package/docs/retold-keyword-index.json +31216 -0
- package/docs/server-setup.md +122 -91
- package/docs/stack-launcher.md +218 -0
- package/docs/synology.md +585 -0
- package/docs/ultravisor-configuration.md +5 -5
- package/docs/ultravisor-integration.md +4 -2
- package/package.json +20 -14
- package/source/Pict-Application-RetoldRemote.js +22 -0
- package/source/RetoldRemote-ExtensionMaps.js +1 -1
- package/source/cli/RetoldRemote-Server-Setup.js +460 -7
- package/source/cli/RetoldRemote-Stack-Launcher.js +563 -0
- package/source/cli/RetoldRemote-Stack-Run.js +41 -0
- package/source/cli/commands/RetoldRemote-Command-Serve.js +129 -54
- package/source/providers/CollectionManager-AddItems.js +166 -0
- package/source/providers/Pict-Provider-GalleryNavigation.js +55 -0
- package/source/providers/Pict-Provider-OperationStatus.js +597 -0
- package/source/providers/keyboard-handlers/KeyHandler-ImageExplorer.js +20 -1
- package/source/providers/keyboard-handlers/KeyHandler-Viewer.js +23 -0
- package/source/server/RetoldRemote-AudioWaveformService.js +49 -3
- package/source/server/RetoldRemote-CollectionExportService.js +763 -0
- package/source/server/RetoldRemote-CollectionService.js +5 -0
- package/source/server/RetoldRemote-EbookService.js +218 -3
- package/source/server/RetoldRemote-ImageService.js +221 -46
- package/source/server/RetoldRemote-MediaService.js +63 -4
- package/source/server/RetoldRemote-MetadataCache.js +25 -5
- package/source/server/RetoldRemote-OperationBroadcaster.js +363 -0
- package/source/server/RetoldRemote-SubimageService.js +680 -0
- package/source/server/RetoldRemote-ToolDetector.js +50 -0
- package/source/server/RetoldRemote-UltravisorBeacon.js +18 -3
- package/source/server/RetoldRemote-UltravisorDispatcher.js +65 -491
- package/source/server/RetoldRemote-UltravisorOperations.js +133 -20
- package/source/server/RetoldRemote-VideoFrameService.js +302 -9
- package/source/views/MediaViewer-EbookViewer.js +419 -1
- package/source/views/MediaViewer-PdfViewer.js +1050 -0
- package/source/views/PictView-Remote-AudioExplorer.js +77 -1
- package/source/views/PictView-Remote-CollectionsPanel.js +213 -0
- package/source/views/PictView-Remote-Gallery.js +365 -64
- package/source/views/PictView-Remote-ImageExplorer.js +1529 -44
- package/source/views/PictView-Remote-ImageViewer.js +2 -2
- package/source/views/PictView-Remote-Layout.js +58 -0
- package/source/views/PictView-Remote-MediaViewer.js +100 -25
- package/source/views/PictView-Remote-RegionsBrowser.js +554 -0
- package/source/views/PictView-Remote-SubimagesPanel.js +353 -0
- package/source/views/PictView-Remote-TopBar.js +1 -0
- package/source/views/PictView-Remote-VideoExplorer.js +77 -1
- package/web-application/css/docuserve.css +277 -23
- package/web-application/css/retold-remote.css +343 -20
- package/web-application/docs/README.md +64 -12
- package/web-application/docs/_cover.md +6 -6
- package/web-application/docs/_sidebar.md +2 -0
- package/web-application/docs/_topbar.md +1 -1
- package/web-application/docs/collections.md +30 -0
- package/web-application/docs/ebook-reader.md +75 -1
- package/web-application/docs/image-explorer.md +62 -2
- package/web-application/docs/server-setup.md +122 -91
- package/web-application/docs/stack-launcher.md +218 -0
- package/web-application/docs/synology.md +585 -0
- package/web-application/docs/ultravisor-configuration.md +5 -5
- package/web-application/docs/ultravisor-integration.md +4 -2
- package/web-application/js/pict-docuserve.min.js +12 -12
- package/web-application/js/pict.min.js +2 -2
- package/web-application/js/pict.min.js.map +1 -1
- package/web-application/retold-remote.js +6596 -1784
- package/web-application/retold-remote.js.map +1 -1
- package/web-application/retold-remote.min.js +75 -23
- package/web-application/retold-remote.min.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "retold-remote",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.26",
|
|
4
4
|
"description": "Retold Remote - NAS media browser with gallery views and keyboard navigation",
|
|
5
5
|
"main": "source/Pict-RetoldRemote-Bundle.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"retold-remote": "source/cli/RetoldRemote-CLI-Run.js",
|
|
8
|
-
"rr": "source/cli/RetoldRemote-CLI-Run.js"
|
|
8
|
+
"rr": "source/cli/RetoldRemote-CLI-Run.js",
|
|
9
|
+
"retold-stack": "source/cli/RetoldRemote-Stack-Run.js"
|
|
9
10
|
},
|
|
10
11
|
"files": [
|
|
11
12
|
"source/",
|
|
@@ -17,7 +18,8 @@
|
|
|
17
18
|
"LICENSE"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
|
-
"start": "node source/cli/RetoldRemote-CLI-Run.js
|
|
21
|
+
"start": "node source/cli/RetoldRemote-CLI-Run.js",
|
|
22
|
+
"stack": "node source/cli/RetoldRemote-Stack-Run.js",
|
|
21
23
|
"build": "npx quack build && npx quack copy",
|
|
22
24
|
"test": "npx mocha -u tdd --exit --timeout 30000 test/*_tests.js",
|
|
23
25
|
"prepack": "npm run build",
|
|
@@ -30,36 +32,40 @@
|
|
|
30
32
|
"author": "steven velozo <steven@velozo.com>",
|
|
31
33
|
"license": "MIT",
|
|
32
34
|
"dependencies": {
|
|
33
|
-
"@xmldom/xmldom": "^0.
|
|
35
|
+
"@xmldom/xmldom": "^0.9.9",
|
|
34
36
|
"dcraw": "^1.0.3",
|
|
35
37
|
"epubjs": "^0.3.93",
|
|
36
38
|
"exifr": "^7.1.3",
|
|
37
|
-
"fable": "^3.1.
|
|
39
|
+
"fable": "^3.1.70",
|
|
38
40
|
"fable-serviceproviderbase": "^3.0.19",
|
|
41
|
+
"fable-ultravisor-client": "^0.0.1",
|
|
39
42
|
"node-unrar-js": "^2.0.2",
|
|
40
43
|
"orator": "^6.0.4",
|
|
41
|
-
"orator-
|
|
44
|
+
"orator-conversion": "^1.0.9",
|
|
45
|
+
"orator-serviceserver-restify": "^2.0.10",
|
|
42
46
|
"parime": "^1.0.3",
|
|
43
47
|
"pdf-parse": "^2.4.5",
|
|
44
|
-
"pict": "^1.0.
|
|
48
|
+
"pict": "^1.0.364",
|
|
45
49
|
"pict-application": "^1.0.33",
|
|
46
|
-
"pict-docuserve": "^0.0.32",
|
|
47
50
|
"pict-provider": "^1.0.12",
|
|
48
51
|
"pict-section-code": "^1.0.4",
|
|
49
52
|
"pict-section-filebrowser": "^0.0.2",
|
|
50
53
|
"pict-service-commandlineutility": "^1.0.19",
|
|
51
|
-
"pict-view": "^1.0.
|
|
52
|
-
"retold-content-system": "^1.0.
|
|
53
|
-
"ultravisor
|
|
54
|
-
"
|
|
54
|
+
"pict-view": "^1.0.68",
|
|
55
|
+
"retold-content-system": "^1.0.17",
|
|
56
|
+
"ultravisor": "^1.0.23",
|
|
57
|
+
"ultravisor-beacon": "^0.0.11",
|
|
58
|
+
"ws": "^8.20.0",
|
|
59
|
+
"yauzl": "^3.3.0"
|
|
55
60
|
},
|
|
56
61
|
"optionalDependencies": {
|
|
57
62
|
"@img/sharp-wasm32": "^0.34.5",
|
|
58
63
|
"sharp": "^0.34.5"
|
|
59
64
|
},
|
|
60
65
|
"devDependencies": {
|
|
61
|
-
"
|
|
62
|
-
"
|
|
66
|
+
"pict-docuserve": "^0.1.5",
|
|
67
|
+
"puppeteer": "^24.41.0",
|
|
68
|
+
"quackage": "^1.1.2"
|
|
63
69
|
},
|
|
64
70
|
"copyFilesSettings": {
|
|
65
71
|
"whenFileExists": "overwrite"
|
|
@@ -10,6 +10,7 @@ const libProviderRetoldRemoteIcons = require('./providers/Pict-Provider-RetoldRe
|
|
|
10
10
|
const libProviderRetoldRemoteTheme = require('./providers/Pict-Provider-RetoldRemoteTheme.js');
|
|
11
11
|
const libProviderFormattingUtilities = require('./providers/Pict-Provider-FormattingUtilities.js');
|
|
12
12
|
const libProviderToastNotification = require('./providers/Pict-Provider-ToastNotification.js');
|
|
13
|
+
const libProviderOperationStatus = require('./providers/Pict-Provider-OperationStatus.js');
|
|
13
14
|
const libProviderCollectionManager = require('./providers/Pict-Provider-CollectionManager.js');
|
|
14
15
|
const libProviderAISortManager = require('./providers/Pict-Provider-AISortManager.js');
|
|
15
16
|
|
|
@@ -30,6 +31,8 @@ const libViewImageExplorer = require('./views/PictView-Remote-ImageExplorer.js')
|
|
|
30
31
|
const libViewVLCSetup = require('./views/PictView-Remote-VLCSetup.js');
|
|
31
32
|
const libViewCollectionsPanel = require('./views/PictView-Remote-CollectionsPanel.js');
|
|
32
33
|
const libViewFileInfoPanel = require('./views/PictView-Remote-FileInfoPanel.js');
|
|
34
|
+
const libViewSubimagesPanel = require('./views/PictView-Remote-SubimagesPanel.js');
|
|
35
|
+
const libViewRegionsBrowser = require('./views/PictView-Remote-RegionsBrowser.js');
|
|
33
36
|
|
|
34
37
|
// Application configuration
|
|
35
38
|
const _DefaultConfiguration = require('./Pict-Application-RetoldRemote-Configuration.json');
|
|
@@ -65,6 +68,8 @@ class RetoldRemoteApplication extends libContentEditorApplication
|
|
|
65
68
|
this.pict.addView('RetoldRemote-VLCSetup', libViewVLCSetup.default_configuration, libViewVLCSetup);
|
|
66
69
|
this.pict.addView('RetoldRemote-CollectionsPanel', libViewCollectionsPanel.default_configuration, libViewCollectionsPanel);
|
|
67
70
|
this.pict.addView('RetoldRemote-FileInfoPanel', libViewFileInfoPanel.default_configuration, libViewFileInfoPanel);
|
|
71
|
+
this.pict.addView('RetoldRemote-SubimagesPanel', libViewSubimagesPanel.default_configuration, libViewSubimagesPanel);
|
|
72
|
+
this.pict.addView('RetoldRemote-RegionsBrowser', libViewRegionsBrowser.default_configuration, libViewRegionsBrowser);
|
|
68
73
|
|
|
69
74
|
// Add new providers
|
|
70
75
|
this.pict.addProvider('RetoldRemote-Provider', libProviderRetoldRemote.default_configuration, libProviderRetoldRemote);
|
|
@@ -74,6 +79,7 @@ class RetoldRemoteApplication extends libContentEditorApplication
|
|
|
74
79
|
this.pict.addProvider('RetoldRemote-Theme', libProviderRetoldRemoteTheme.default_configuration, libProviderRetoldRemoteTheme);
|
|
75
80
|
this.pict.addProvider('RetoldRemote-FormattingUtilities', libProviderFormattingUtilities.default_configuration, libProviderFormattingUtilities);
|
|
76
81
|
this.pict.addProvider('RetoldRemote-ToastNotification', libProviderToastNotification.default_configuration, libProviderToastNotification);
|
|
82
|
+
this.pict.addProvider('RetoldRemote-OperationStatus', libProviderOperationStatus.default_configuration, libProviderOperationStatus);
|
|
77
83
|
this.pict.addProvider('RetoldRemote-CollectionManager', libProviderCollectionManager.default_configuration, libProviderCollectionManager);
|
|
78
84
|
this.pict.addProvider('RetoldRemote-AISortManager', libProviderAISortManager.default_configuration, libProviderAISortManager);
|
|
79
85
|
}
|
|
@@ -505,6 +511,22 @@ class RetoldRemoteApplication extends libContentEditorApplication
|
|
|
505
511
|
tmpPath = this.pict.AppData.PictFileBrowser.CurrentLocation;
|
|
506
512
|
}
|
|
507
513
|
|
|
514
|
+
// Paint an immediate loading overlay in the gallery so the user gets
|
|
515
|
+
// visible feedback the moment a folder is clicked — before the fetch
|
|
516
|
+
// and before any rendering work. This prevents the "nothing happened"
|
|
517
|
+
// impression on folders with thousands of files.
|
|
518
|
+
let tmpGalleryView = tmpSelf.pict.views['RetoldRemote-Gallery'];
|
|
519
|
+
if (tmpGalleryView && typeof tmpGalleryView.showLoadingState === 'function')
|
|
520
|
+
{
|
|
521
|
+
tmpGalleryView.showLoadingState(tmpPath || '');
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
// Cancel any chunked render from a previous folder
|
|
525
|
+
if (tmpGalleryView && typeof tmpGalleryView.cancelActiveRender === 'function')
|
|
526
|
+
{
|
|
527
|
+
tmpGalleryView.cancelActiveRender();
|
|
528
|
+
}
|
|
529
|
+
|
|
508
530
|
let tmpURL = '/api/filebrowser/list';
|
|
509
531
|
if (tmpPath && tmpPath.length > 0)
|
|
510
532
|
{
|
|
@@ -41,7 +41,7 @@ for (let tmpKey in RawImageExtensions)
|
|
|
41
41
|
|
|
42
42
|
const VideoExtensions = { 'mp4': true, 'webm': true, 'mov': true, 'mkv': true, 'avi': true, 'wmv': true, 'flv': true, 'm4v': true, 'ogv': true, 'mpg': true, 'mpeg': true, 'mpe': true, 'mpv': true, 'm2v': true, 'ts': true, 'mts': true, 'm2ts': true, 'vob': true, '3gp': true, '3g2': true, 'f4v': true, 'rm': true, 'rmvb': true, 'divx': true, 'asf': true, 'mxf': true, 'dv': true, 'nsv': true, 'nuv': true, 'y4m': true, 'wtv': true, 'swf': true, 'dat': true };
|
|
43
43
|
const AudioExtensions = { 'mp3': true, 'wav': true, 'ogg': true, 'flac': true, 'aac': true, 'm4a': true, 'wma': true, 'oga': true };
|
|
44
|
-
const DocumentExtensions = { 'pdf': true, 'epub': true, 'mobi': true, 'doc': true, 'docx': true };
|
|
44
|
+
const DocumentExtensions = { 'pdf': true, 'epub': true, 'mobi': true, 'doc': true, 'docx': true, 'rtf': true, 'odt': true, 'wpd': true, 'wps': true, 'pages': true, 'odp': true, 'ppt': true, 'pptx': true, 'ods': true, 'xls': true, 'xlsx': true };
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* Get the media category for a file extension.
|