@signageos/front-applet 4.11.0
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/CHANGELOG.md +207 -0
- package/README.md +3 -0
- package/dist/bundle.js +9 -0
- package/dist/bundle.js.map +1 -0
- package/docs/README.md +5 -0
- package/docs/js-api/js-api-introduction.md +73 -0
- package/docs/js-api/js-applet-basics.md +294 -0
- package/docs/js-api/js-applet-resources.md +172 -0
- package/docs/js-api/js-browser.md +170 -0
- package/docs/js-api/js-command.md +208 -0
- package/docs/js-api/js-display.md +48 -0
- package/docs/js-api/js-file-system.md +568 -0
- package/docs/js-api/js-hardware-serial.md +142 -0
- package/docs/js-api/js-hardware.md +70 -0
- package/docs/js-api/js-iframes.md +88 -0
- package/docs/js-api/js-input.md +84 -0
- package/docs/js-api/js-loading-fonts.md +138 -0
- package/docs/js-api/js-monitoring-commands.md +108 -0
- package/docs/js-api/js-monitors.md +55 -0
- package/docs/js-api/js-offline-cache-media-files.md +314 -0
- package/docs/js-api/js-offline-cache-simple-data.md +134 -0
- package/docs/js-api/js-sensors.md +70 -0
- package/docs/js-api/js-sync-playback.md +197 -0
- package/docs/js-api/js-timing.md +54 -0
- package/docs/js-api/js-video-inputs-internal-ports.md +149 -0
- package/docs/js-api/js-video-stream.md +230 -0
- package/docs/js-api/js-video.md +282 -0
- package/docs/management-api/1-js-management.md +133 -0
- package/docs/management-api/10-js-management-application.md +123 -0
- package/docs/management-api/11-js-management-network.md +185 -0
- package/docs/management-api/12-js-management-security.md +86 -0
- package/docs/management-api/13-js-management-wifi.md +357 -0
- package/docs/management-api/2-js-management-firmware.md +93 -0
- package/docs/management-api/3-js-management-remote-control.md +73 -0
- package/docs/management-api/4-js-management-power.md +94 -0
- package/docs/management-api/5-js-management-screen.md +263 -0
- package/docs/management-api/6-js-management-time.md +166 -0
- package/docs/management-api/7-js-management-volume.md +46 -0
- package/docs/management-api/8-js-management-package.md +62 -0
- package/docs/management-api/9-js-management-debug.md +53 -0
- package/es6/FrontApplet/Browser/Browser.d.ts +24 -0
- package/es6/FrontApplet/Browser/Browser.js +73 -0
- package/es6/FrontApplet/Browser/Browser.js.map +1 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +174 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js +55 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -0
- package/es6/FrontApplet/Browser/events.d.ts +15 -0
- package/es6/FrontApplet/Browser/events.js +14 -0
- package/es6/FrontApplet/Browser/events.js.map +1 -0
- package/es6/FrontApplet/Browser/messages.d.ts +5 -0
- package/es6/FrontApplet/Browser/messages.js +3 -0
- package/es6/FrontApplet/Browser/messages.js.map +1 -0
- package/es6/FrontApplet/Command/Command.d.ts +16 -0
- package/es6/FrontApplet/Command/Command.js +68 -0
- package/es6/FrontApplet/Command/Command.js.map +1 -0
- package/es6/FrontApplet/Command/ICommand.d.ts +4 -0
- package/es6/FrontApplet/Command/ICommand.js +3 -0
- package/es6/FrontApplet/Command/ICommand.js.map +1 -0
- package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.d.ts +6 -0
- package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js +3 -0
- package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js.map +1 -0
- package/es6/FrontApplet/Command/ICommandEvent.d.ts +6 -0
- package/es6/FrontApplet/Command/ICommandEvent.js +3 -0
- package/es6/FrontApplet/Command/ICommandEvent.js.map +1 -0
- package/es6/FrontApplet/Command/ICommandEventListener.d.ts +6 -0
- package/es6/FrontApplet/Command/ICommandEventListener.js +3 -0
- package/es6/FrontApplet/Command/ICommandEventListener.js.map +1 -0
- package/es6/FrontApplet/Debug/Debug.d.ts +22 -0
- package/es6/FrontApplet/Debug/Debug.js +35 -0
- package/es6/FrontApplet/Debug/Debug.js.map +1 -0
- package/es6/FrontApplet/Display/Display.d.ts +11 -0
- package/es6/FrontApplet/Display/Display.js +35 -0
- package/es6/FrontApplet/Display/Display.js.map +1 -0
- package/es6/FrontApplet/Error/AppletCommandError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletCommandError.js +11 -0
- package/es6/FrontApplet/Error/AppletCommandError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletError.d.ts +7 -0
- package/es6/FrontApplet/Error/AppletError.js +10 -0
- package/es6/FrontApplet/Error/AppletError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletHardwareError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletHardwareError.js +11 -0
- package/es6/FrontApplet/Error/AppletHardwareError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletOfflineCacheError.d.ts +8 -0
- package/es6/FrontApplet/Error/AppletOfflineCacheError.js +10 -0
- package/es6/FrontApplet/Error/AppletOfflineCacheError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletResourcesError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletResourcesError.js +11 -0
- package/es6/FrontApplet/Error/AppletResourcesError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletSecurityError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletSecurityError.js +11 -0
- package/es6/FrontApplet/Error/AppletSecurityError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletStreamError.d.ts +8 -0
- package/es6/FrontApplet/Error/AppletStreamError.js +10 -0
- package/es6/FrontApplet/Error/AppletStreamError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletVideoError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletVideoError.js +11 -0
- package/es6/FrontApplet/Error/AppletVideoError.js.map +1 -0
- package/es6/FrontApplet/Error/ErrorCodes.d.ts +18 -0
- package/es6/FrontApplet/Error/ErrorCodes.js +23 -0
- package/es6/FrontApplet/Error/ErrorCodes.js.map +1 -0
- package/es6/FrontApplet/Error/ErrorCodesMessages.d.ts +3 -0
- package/es6/FrontApplet/Error/ErrorCodesMessages.js +22 -0
- package/es6/FrontApplet/Error/ErrorCodesMessages.js.map +1 -0
- package/es6/FrontApplet/Error/ErrorSuggestions.d.ts +6 -0
- package/es6/FrontApplet/Error/ErrorSuggestions.js +10 -0
- package/es6/FrontApplet/Error/ErrorSuggestions.js.map +1 -0
- package/es6/FrontApplet/Error/FileNotFoundError.d.ts +8 -0
- package/es6/FrontApplet/Error/FileNotFoundError.js +10 -0
- package/es6/FrontApplet/Error/FileNotFoundError.js.map +1 -0
- package/es6/FrontApplet/Error/SosError.d.ts +20 -0
- package/es6/FrontApplet/Error/SosError.js +22 -0
- package/es6/FrontApplet/Error/SosError.js.map +1 -0
- package/es6/FrontApplet/Error/errorHelper.d.ts +12 -0
- package/es6/FrontApplet/Error/errorHelper.js +50 -0
- package/es6/FrontApplet/Error/errorHelper.js.map +1 -0
- package/es6/FrontApplet/Exchange/Exchange.d.ts +7 -0
- package/es6/FrontApplet/Exchange/Exchange.js +28 -0
- package/es6/FrontApplet/Exchange/Exchange.js.map +1 -0
- package/es6/FrontApplet/FileSystem/FileSystem.d.ts +30 -0
- package/es6/FrontApplet/FileSystem/FileSystem.js +210 -0
- package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -0
- package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.d.ts +4 -0
- package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js +3 -0
- package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js.map +1 -0
- package/es6/FrontApplet/FileSystem/types.d.ts +66 -0
- package/es6/FrontApplet/FileSystem/types.js +20 -0
- package/es6/FrontApplet/FileSystem/types.js.map +1 -0
- package/es6/FrontApplet/Font/fontFaceGenerator.d.ts +6 -0
- package/es6/FrontApplet/Font/fontFaceGenerator.js +46 -0
- package/es6/FrontApplet/Font/fontFaceGenerator.js.map +1 -0
- package/es6/FrontApplet/FrontApplet.d.ts +56 -0
- package/es6/FrontApplet/FrontApplet.js +183 -0
- package/es6/FrontApplet/FrontApplet.js.map +1 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +30 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +92 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.d.ts +5 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js +3 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js.map +1 -0
- package/es6/FrontApplet/Hardware/Hardware.d.ts +20 -0
- package/es6/FrontApplet/Hardware/Hardware.js +51 -0
- package/es6/FrontApplet/Hardware/Hardware.js.map +1 -0
- package/es6/FrontApplet/Hardware/ISerialPortDataMessage.d.ts +6 -0
- package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js +3 -0
- package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js.map +1 -0
- package/es6/FrontApplet/Hardware/ISerialPortOptions.d.ts +15 -0
- package/es6/FrontApplet/Hardware/ISerialPortOptions.js +11 -0
- package/es6/FrontApplet/Hardware/ISerialPortOptions.js.map +1 -0
- package/es6/FrontApplet/Hardware/Led/ISetColorMessage.d.ts +5 -0
- package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js +3 -0
- package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js.map +1 -0
- package/es6/FrontApplet/Hardware/Led/Led.d.ts +11 -0
- package/es6/FrontApplet/Hardware/Led/Led.js +38 -0
- package/es6/FrontApplet/Hardware/Led/Led.js.map +1 -0
- package/es6/FrontApplet/Hardware/SerialPort.d.ts +14 -0
- package/es6/FrontApplet/Hardware/SerialPort.js +45 -0
- package/es6/FrontApplet/Hardware/SerialPort.js.map +1 -0
- package/es6/FrontApplet/Hash/generator.d.ts +1 -0
- package/es6/FrontApplet/Hash/generator.js +10 -0
- package/es6/FrontApplet/Hash/generator.js.map +1 -0
- package/es6/FrontApplet/IMessage.d.ts +6 -0
- package/es6/FrontApplet/IMessage.js +3 -0
- package/es6/FrontApplet/IMessage.js.map +1 -0
- package/es6/FrontApplet/IPostMessage.d.ts +5 -0
- package/es6/FrontApplet/IPostMessage.js +3 -0
- package/es6/FrontApplet/IPostMessage.js.map +1 -0
- package/es6/FrontApplet/Iframe/Iframe.d.ts +24 -0
- package/es6/FrontApplet/Iframe/Iframe.js +51 -0
- package/es6/FrontApplet/Iframe/Iframe.js.map +1 -0
- package/es6/FrontApplet/Input/IInputKeyMessage.d.ts +6 -0
- package/es6/FrontApplet/Input/IInputKeyMessage.js +3 -0
- package/es6/FrontApplet/Input/IInputKeyMessage.js.map +1 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.d.ts +6 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.js +3 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.js.map +1 -0
- package/es6/FrontApplet/Input/IKeyUpEventListener.d.ts +5 -0
- package/es6/FrontApplet/Input/IKeyUpEventListener.js +3 -0
- package/es6/FrontApplet/Input/IKeyUpEventListener.js.map +1 -0
- package/es6/FrontApplet/Input/Input.d.ts +20 -0
- package/es6/FrontApplet/Input/Input.js +35 -0
- package/es6/FrontApplet/Input/Input.js.map +1 -0
- package/es6/FrontApplet/Management/App.d.ts +37 -0
- package/es6/FrontApplet/Management/App.js +50 -0
- package/es6/FrontApplet/Management/App.js.map +1 -0
- package/es6/FrontApplet/Management/Audio.d.ts +9 -0
- package/es6/FrontApplet/Management/Audio.js +40 -0
- package/es6/FrontApplet/Management/Audio.js.map +1 -0
- package/es6/FrontApplet/Management/Debug.d.ts +11 -0
- package/es6/FrontApplet/Management/Debug.js +50 -0
- package/es6/FrontApplet/Management/Debug.js.map +1 -0
- package/es6/FrontApplet/Management/Firmware.d.ts +37 -0
- package/es6/FrontApplet/Management/Firmware.js +50 -0
- package/es6/FrontApplet/Management/Firmware.js.map +1 -0
- package/es6/FrontApplet/Management/FirmwareType.d.ts +4 -0
- package/es6/FrontApplet/Management/FirmwareType.js +8 -0
- package/es6/FrontApplet/Management/FirmwareType.js.map +1 -0
- package/es6/FrontApplet/Management/IBatteryStatus.d.ts +7 -0
- package/es6/FrontApplet/Management/IBatteryStatus.js +3 -0
- package/es6/FrontApplet/Management/IBatteryStatus.js.map +1 -0
- package/es6/FrontApplet/Management/IBrightness.d.ts +6 -0
- package/es6/FrontApplet/Management/IBrightness.js +3 -0
- package/es6/FrontApplet/Management/IBrightness.js.map +1 -0
- package/es6/FrontApplet/Management/INetworkInfo.d.ts +53 -0
- package/es6/FrontApplet/Management/INetworkInfo.js +17 -0
- package/es6/FrontApplet/Management/INetworkInfo.js.map +1 -0
- package/es6/FrontApplet/Management/IOrientation.d.ts +4 -0
- package/es6/FrontApplet/Management/IOrientation.js +3 -0
- package/es6/FrontApplet/Management/IOrientation.js.map +1 -0
- package/es6/FrontApplet/Management/IWifiEvent.d.ts +11 -0
- package/es6/FrontApplet/Management/IWifiEvent.js +12 -0
- package/es6/FrontApplet/Management/IWifiEvent.js.map +1 -0
- package/es6/FrontApplet/Management/Management.d.ts +44 -0
- package/es6/FrontApplet/Management/Management.js +113 -0
- package/es6/FrontApplet/Management/Management.js.map +1 -0
- package/es6/FrontApplet/Management/Network.d.ts +26 -0
- package/es6/FrontApplet/Management/Network.js +83 -0
- package/es6/FrontApplet/Management/Network.js.map +1 -0
- package/es6/FrontApplet/Management/Package.d.ts +8 -0
- package/es6/FrontApplet/Management/Package.js +38 -0
- package/es6/FrontApplet/Management/Package.js.map +1 -0
- package/es6/FrontApplet/Management/Power.d.ts +13 -0
- package/es6/FrontApplet/Management/Power.js +78 -0
- package/es6/FrontApplet/Management/Power.js.map +1 -0
- package/es6/FrontApplet/Management/RemoteControl.d.ts +14 -0
- package/es6/FrontApplet/Management/RemoteControl.js +61 -0
- package/es6/FrontApplet/Management/RemoteControl.js.map +1 -0
- package/es6/FrontApplet/Management/Screen.d.ts +18 -0
- package/es6/FrontApplet/Management/Screen.js +114 -0
- package/es6/FrontApplet/Management/Screen.js.map +1 -0
- package/es6/FrontApplet/Management/Security.d.ts +21 -0
- package/es6/FrontApplet/Management/Security.js +56 -0
- package/es6/FrontApplet/Management/Security.js.map +1 -0
- package/es6/FrontApplet/Management/Time.d.ts +16 -0
- package/es6/FrontApplet/Management/Time.js +59 -0
- package/es6/FrontApplet/Management/Time.js.map +1 -0
- package/es6/FrontApplet/Management/Wifi.d.ts +29 -0
- package/es6/FrontApplet/Management/Wifi.js +151 -0
- package/es6/FrontApplet/Management/Wifi.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/DeviceHelper.d.ts +21 -0
- package/es6/FrontApplet/Management/helpers/DeviceHelper.js +16 -0
- package/es6/FrontApplet/Management/helpers/DeviceHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/SecurityHelper.d.ts +2 -0
- package/es6/FrontApplet/Management/helpers/SecurityHelper.js +21 -0
- package/es6/FrontApplet/Management/helpers/SecurityHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/TimerHelper.d.ts +25 -0
- package/es6/FrontApplet/Management/helpers/TimerHelper.js +23 -0
- package/es6/FrontApplet/Management/helpers/TimerHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/UpgradeHelper.d.ts +5 -0
- package/es6/FrontApplet/Management/helpers/UpgradeHelper.js +35 -0
- package/es6/FrontApplet/Management/helpers/UpgradeHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/VideoHelper.d.ts +4 -0
- package/es6/FrontApplet/Management/helpers/VideoHelper.js +8 -0
- package/es6/FrontApplet/Management/helpers/VideoHelper.js.map +1 -0
- package/es6/FrontApplet/Monitors/Monitors.d.ts +16 -0
- package/es6/FrontApplet/Monitors/Monitors.js +31 -0
- package/es6/FrontApplet/Monitors/Monitors.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/Cache.d.ts +38 -0
- package/es6/FrontApplet/Offline/Cache/Cache.js +199 -0
- package/es6/FrontApplet/Offline/Cache/Cache.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IChecksumMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IFile.d.ts +4 -0
- package/es6/FrontApplet/Offline/Cache/IFile.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IFile.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.d.ts +6 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContents.d.ts +4 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContents.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContents.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.d.ts +6 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFiles.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFiles.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFiles.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/AppendFlagController.d.ts +12 -0
- package/es6/FrontApplet/Offline/Flags/AppendFlagController.js +47 -0
- package/es6/FrontApplet/Offline/Flags/AppendFlagController.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/IFlag.d.ts +16 -0
- package/es6/FrontApplet/Offline/Flags/IFlag.js +8 -0
- package/es6/FrontApplet/Offline/Flags/IFlag.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/IFlagController.d.ts +12 -0
- package/es6/FrontApplet/Offline/Flags/IFlagController.js +3 -0
- package/es6/FrontApplet/Offline/Flags/IFlagController.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/IFlags.d.ts +7 -0
- package/es6/FrontApplet/Offline/Flags/IFlags.js +3 -0
- package/es6/FrontApplet/Offline/Flags/IFlags.js.map +1 -0
- package/es6/FrontApplet/Offline/IAddFont.d.ts +50 -0
- package/es6/FrontApplet/Offline/IAddFont.js +22 -0
- package/es6/FrontApplet/Offline/IAddFont.js.map +1 -0
- package/es6/FrontApplet/Offline/IElement.d.ts +7 -0
- package/es6/FrontApplet/Offline/IElement.js +6 -0
- package/es6/FrontApplet/Offline/IElement.js.map +1 -0
- package/es6/FrontApplet/Offline/IFileType.d.ts +3 -0
- package/es6/FrontApplet/Offline/IFileType.js +4 -0
- package/es6/FrontApplet/Offline/IFileType.js.map +1 -0
- package/es6/FrontApplet/Offline/ISaveFile.d.ts +49 -0
- package/es6/FrontApplet/Offline/ISaveFile.js +26 -0
- package/es6/FrontApplet/Offline/ISaveFile.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.d.ts +7 -0
- package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js +26 -0
- package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFile.d.ts +8 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js +3 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.d.ts +8 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js +3 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.d.ts +7 -0
- package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js +25 -0
- package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js.map +1 -0
- package/es6/FrontApplet/Offline/Offline.d.ts +27 -0
- package/es6/FrontApplet/Offline/Offline.js +105 -0
- package/es6/FrontApplet/Offline/Offline.js.map +1 -0
- package/es6/FrontApplet/Offline/Types.d.ts +7 -0
- package/es6/FrontApplet/Offline/Types.js +9 -0
- package/es6/FrontApplet/Offline/Types.js.map +1 -0
- package/es6/FrontApplet/Sensors/Proximity.d.ts +16 -0
- package/es6/FrontApplet/Sensors/Proximity.js +36 -0
- package/es6/FrontApplet/Sensors/Proximity.js.map +1 -0
- package/es6/FrontApplet/Sensors/Sensors.d.ts +11 -0
- package/es6/FrontApplet/Sensors/Sensors.js +18 -0
- package/es6/FrontApplet/Sensors/Sensors.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamEvent.d.ts +6 -0
- package/es6/FrontApplet/Stream/IStreamEvent.js +3 -0
- package/es6/FrontApplet/Stream/IStreamEvent.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamEventListener.d.ts +5 -0
- package/es6/FrontApplet/Stream/IStreamEventListener.js +3 -0
- package/es6/FrontApplet/Stream/IStreamEventListener.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamMessage.d.ts +6 -0
- package/es6/FrontApplet/Stream/IStreamMessage.js +3 -0
- package/es6/FrontApplet/Stream/IStreamMessage.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamProperties.d.ts +10 -0
- package/es6/FrontApplet/Stream/IStreamProperties.js +3 -0
- package/es6/FrontApplet/Stream/IStreamProperties.js.map +1 -0
- package/es6/FrontApplet/Stream/Stream.d.ts +22 -0
- package/es6/FrontApplet/Stream/Stream.js +131 -0
- package/es6/FrontApplet/Stream/Stream.js.map +1 -0
- package/es6/FrontApplet/Stream/StreamProtocol.d.ts +9 -0
- package/es6/FrontApplet/Stream/StreamProtocol.js +13 -0
- package/es6/FrontApplet/Stream/StreamProtocol.js.map +1 -0
- package/es6/FrontApplet/Stream/streamEvents.d.ts +8 -0
- package/es6/FrontApplet/Stream/streamEvents.js +3 -0
- package/es6/FrontApplet/Stream/streamEvents.js.map +1 -0
- package/es6/FrontApplet/Sync/ISyncEvent.d.ts +4 -0
- package/es6/FrontApplet/Sync/ISyncEvent.js +3 -0
- package/es6/FrontApplet/Sync/ISyncEvent.js.map +1 -0
- package/es6/FrontApplet/Sync/ISyncSetValueMessage.d.ts +7 -0
- package/es6/FrontApplet/Sync/ISyncSetValueMessage.js +3 -0
- package/es6/FrontApplet/Sync/ISyncSetValueMessage.js.map +1 -0
- package/es6/FrontApplet/Sync/Sync.d.ts +20 -0
- package/es6/FrontApplet/Sync/Sync.js +102 -0
- package/es6/FrontApplet/Sync/Sync.js.map +1 -0
- package/es6/FrontApplet/Sync/syncEvents.d.ts +6 -0
- package/es6/FrontApplet/Sync/syncEvents.js +3 -0
- package/es6/FrontApplet/Sync/syncEvents.js.map +1 -0
- package/es6/FrontApplet/Timing/Timing.d.ts +10 -0
- package/es6/FrontApplet/Timing/Timing.js +16 -0
- package/es6/FrontApplet/Timing/Timing.js.map +1 -0
- package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.d.ts +2 -0
- package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js +4 -0
- package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js.map +1 -0
- package/es6/FrontApplet/Timing/Triggers/Triggers.d.ts +11 -0
- package/es6/FrontApplet/Timing/Triggers/Triggers.js +33 -0
- package/es6/FrontApplet/Timing/Triggers/Triggers.js.map +1 -0
- package/es6/FrontApplet/Touch/ITouchEventMessage.d.ts +6 -0
- package/es6/FrontApplet/Touch/ITouchEventMessage.js +3 -0
- package/es6/FrontApplet/Touch/ITouchEventMessage.js.map +1 -0
- package/es6/FrontApplet/Touch/Touch.d.ts +13 -0
- package/es6/FrontApplet/Touch/Touch.js +54 -0
- package/es6/FrontApplet/Touch/Touch.js.map +1 -0
- package/es6/FrontApplet/Validate/Validate.d.ts +43 -0
- package/es6/FrontApplet/Validate/Validate.js +266 -0
- package/es6/FrontApplet/Validate/Validate.js.map +1 -0
- package/es6/FrontApplet/Validate/ValidateObjectInterface.d.ts +8 -0
- package/es6/FrontApplet/Validate/ValidateObjectInterface.js +140 -0
- package/es6/FrontApplet/Validate/ValidateObjectInterface.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoEvent.d.ts +8 -0
- package/es6/FrontApplet/Video/IVideoEvent.js +6 -0
- package/es6/FrontApplet/Video/IVideoEvent.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoEventListener.d.ts +5 -0
- package/es6/FrontApplet/Video/IVideoEventListener.js +3 -0
- package/es6/FrontApplet/Video/IVideoEventListener.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoMessage.d.ts +4 -0
- package/es6/FrontApplet/Video/IVideoMessage.js +3 -0
- package/es6/FrontApplet/Video/IVideoMessage.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoProperties.d.ts +8 -0
- package/es6/FrontApplet/Video/IVideoProperties.js +3 -0
- package/es6/FrontApplet/Video/IVideoProperties.js.map +1 -0
- package/es6/FrontApplet/Video/Video.d.ts +39 -0
- package/es6/FrontApplet/Video/Video.js +242 -0
- package/es6/FrontApplet/Video/Video.js.map +1 -0
- package/es6/FrontApplet/createFrontApplet.d.ts +2 -0
- package/es6/FrontApplet/createFrontApplet.js +9 -0
- package/es6/FrontApplet/createFrontApplet.js.map +1 -0
- package/es6/Monitoring/Console/consoleCommands.d.ts +6 -0
- package/es6/Monitoring/Console/consoleCommands.js +4 -0
- package/es6/Monitoring/Console/consoleCommands.js.map +1 -0
- package/es6/Monitoring/Html/htmlCommands.d.ts +9 -0
- package/es6/Monitoring/Html/htmlCommands.js +5 -0
- package/es6/Monitoring/Html/htmlCommands.js.map +1 -0
- package/es6/Monitoring/Montoring.d.ts +12 -0
- package/es6/Monitoring/Montoring.js +159 -0
- package/es6/Monitoring/Montoring.js.map +1 -0
- package/es6/Monitoring/Offline/Cache/offlineCacheCommands.d.ts +20 -0
- package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js +7 -0
- package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js.map +1 -0
- package/es6/Monitoring/Timing/timingCommands.d.ts +4 -0
- package/es6/Monitoring/Timing/timingCommands.js +4 -0
- package/es6/Monitoring/Timing/timingCommands.js.map +1 -0
- package/es6/Monitoring/Video/videoCommands.d.ts +10 -0
- package/es6/Monitoring/Video/videoCommands.js +4 -0
- package/es6/Monitoring/Video/videoCommands.js.map +1 -0
- package/es6/Monitoring/monitoringCommands.d.ts +8 -0
- package/es6/Monitoring/monitoringCommands.js +5 -0
- package/es6/Monitoring/monitoringCommands.js.map +1 -0
- package/es6/Sensors/IButton.d.ts +9 -0
- package/es6/Sensors/IButton.js +8 -0
- package/es6/Sensors/IButton.js.map +1 -0
- package/es6/Sensors/IRfidAntenna.d.ts +10 -0
- package/es6/Sensors/IRfidAntenna.js +8 -0
- package/es6/Sensors/IRfidAntenna.js.map +1 -0
- package/es6/bundle.d.ts +12 -0
- package/es6/bundle.js +13 -0
- package/es6/bundle.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Offline Cache for media files
|
|
3
|
+
author: Miroslav Behina
|
|
4
|
+
date: 22.11.2018
|
|
5
|
+
type: js-api
|
|
6
|
+
tags:
|
|
7
|
+
- applet
|
|
8
|
+
- applet_api
|
|
9
|
+
- api
|
|
10
|
+
- js_api
|
|
11
|
+
description: "[Content JS API] File API allows files (video files, media files etc.) to be stored for offline usage."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Offline Cache for media files (File API)
|
|
15
|
+
File API allows files (video files, media files etc.) to be stored for offline usage.
|
|
16
|
+
|
|
17
|
+
## All methods
|
|
18
|
+
|
|
19
|
+
::: table-responsive
|
|
20
|
+
| Methods | Description | Supported since |
|
|
21
|
+
| ------ | -------- | ----- | :-------------: |
|
|
22
|
+
| `listFiles()` | Return list of files of existing directory | 2.0.0 |
|
|
23
|
+
| `saveFile()` | Download file to selected directory | 1.0.3 |
|
|
24
|
+
| `loadFile()` | Load file from cache | 1.0.3 |
|
|
25
|
+
| `loadOrSaveFile()` | Download and load file from directory | 1.0.9 |
|
|
26
|
+
| `deleteFile()` | Delete file from directory | 2.0.0 |
|
|
27
|
+
| `getChecksumFile()` | Get checksum of a file | 2.0.0 |
|
|
28
|
+
| `validateChecksumFile()` | Validate that file's checksum matches expected value | 2.0.0 |
|
|
29
|
+
| `decompressFile()` | Decompress a compressed file or archive | 2.1.0 |
|
|
30
|
+
:::
|
|
31
|
+
|
|
32
|
+
::: alert alert--warning
|
|
33
|
+
Emulator has certain limitations while handling offline files. [Read more here](/knowledge-base/box-emulator-limitations)
|
|
34
|
+
:::
|
|
35
|
+
|
|
36
|
+
## listFiles()
|
|
37
|
+
This method is used to get a list of uids of all files, saved by the current applet.
|
|
38
|
+
|
|
39
|
+
### Javascript example
|
|
40
|
+
```javascript
|
|
41
|
+
// List uids of all files
|
|
42
|
+
await sos.offline.cache.listFiles().then((fileUids) => {
|
|
43
|
+
console.log("Loaded", fileUids);
|
|
44
|
+
}).catch((error) => { console.error(error); });
|
|
45
|
+
```
|
|
46
|
+
### Returns
|
|
47
|
+
```javascript
|
|
48
|
+
["video-3", "video-2", "video-1", "image-9", "image-8", "image-7", "image-6", "image-5", "image-4", "image-3", "image-2", "image-13", "image-12", "image-11", "image-10", "image-1"]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## saveFile()
|
|
53
|
+
Method `saveFile()` is used to save files from remote a destination into the device internal memory.
|
|
54
|
+
|
|
55
|
+
### Parameters
|
|
56
|
+
|
|
57
|
+
::: table-responsive
|
|
58
|
+
| Param | Type | Required | Description |
|
|
59
|
+
| ---------------- | --------------------- | :------: |---------------------------------------------- |
|
|
60
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters, slash / is supported since Front-display version 6.0.0 |
|
|
61
|
+
| `uri` | string | <div class="red">Yes</div> | URL address to retrieve the file |
|
|
62
|
+
| `headers` | object | <div class="yellow">No</div> | Key, value pairs of HTTP headers to send along with the request. Used when the target file is protected by a password or if any other specific headers are needed to access it. |
|
|
63
|
+
:::
|
|
64
|
+
|
|
65
|
+
::: alert alert--warning
|
|
66
|
+
`headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
|
|
67
|
+
:::
|
|
68
|
+
|
|
69
|
+
::: alert alert--warning
|
|
70
|
+
`uid` should have the same file extension (e.g.: mp4, svg, jpg) as the original file.
|
|
71
|
+
:::
|
|
72
|
+
|
|
73
|
+
### Javascript example
|
|
74
|
+
```javascript
|
|
75
|
+
// Example saving files into internal memory, unique id could be salted md5 hash, uri directs to our CDN
|
|
76
|
+
await sos.offline.cache.saveFile('9d66725ba2105f1833731ade5b7f334e.mp4', 'https://cdn.my-cms.com/files/video.mp4', { "Authorization": "Basic Zm9vOmJhcg==" })
|
|
77
|
+
.then(() => { console.log('Saved'); })
|
|
78
|
+
.catch((error) => { console.error(error); });
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
::: alert alert--info
|
|
82
|
+
Local device file path differs from device to device. It can point to file:// or http://localhost etc.
|
|
83
|
+
:::
|
|
84
|
+
|
|
85
|
+
## loadFile()
|
|
86
|
+
Method `loadFile()` is used for individual file retrieval from internal memory.
|
|
87
|
+
|
|
88
|
+
### Parameters
|
|
89
|
+
|
|
90
|
+
| Param | Type | Required | Description |
|
|
91
|
+
| --------- | ------------ | :---------: | --------------- |
|
|
92
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
93
|
+
|
|
94
|
+
::: alert alert--warning
|
|
95
|
+
`uid` should have the same file extension (e.g.: mp4, svg, jpg) as the original file.
|
|
96
|
+
:::
|
|
97
|
+
|
|
98
|
+
### Javascript Example
|
|
99
|
+
```javascript
|
|
100
|
+
await sos.offline.cache.loadFile('9d66725ba2105f1833731ade5b7f334e.mp4')
|
|
101
|
+
.then((file) => { console.log('Loaded', file); })
|
|
102
|
+
.catch((error) => { console.error(error); });
|
|
103
|
+
|
|
104
|
+
// Logs into console
|
|
105
|
+
{
|
|
106
|
+
filePath: '/real/device/path/to/file/9d66725ba2105f1833731ade5b7f334e.mp4',
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
::: alert alert--info
|
|
111
|
+
Local device file path differs from device to device. It can point to file:// or http://localhost etc.
|
|
112
|
+
:::
|
|
113
|
+
|
|
114
|
+
### Returns
|
|
115
|
+
* SUCCESS: File object
|
|
116
|
+
* FAIL: No file of such uid is available, it throws error into promise
|
|
117
|
+
|
|
118
|
+
## loadOrSaveFile()
|
|
119
|
+
Method `loadOrSaveFile()` is used for individual file retrieval & save in case when file is not saved in local storage yet.
|
|
120
|
+
To get file from internal memory & save it when not yet exists we prepared `loadOrSaveFile()` method:
|
|
121
|
+
|
|
122
|
+
::: alert alert--info
|
|
123
|
+
* The file URI has to return the file. If your URI leads to a 303 redirect (e.g. from http to http**s**), the API will not work.
|
|
124
|
+
* Emulator has certain limitations while handling offline files. [Read more here](knowledge-base/box-emulator-limitations)
|
|
125
|
+
:::
|
|
126
|
+
|
|
127
|
+
### Parameters
|
|
128
|
+
|
|
129
|
+
| Param | Type | Required | Description |
|
|
130
|
+
| --------------- | -------------- | :-------: |---------------------------------------------- |
|
|
131
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
132
|
+
| `uri` | string | <div class="red">Yes</div> | URL address where to get the file |
|
|
133
|
+
| `headers` | object | <div class="yellow">No</div> | Key, value pairs of HTTP headers to send along with the request. Used when the target file is protected by a password or if any other specific headers are needed to access it. |
|
|
134
|
+
|
|
135
|
+
::: alert alert--warning
|
|
136
|
+
`uid` should have the same file extension (e.g.: mp4, svg, jpg) as the original file.
|
|
137
|
+
:::
|
|
138
|
+
|
|
139
|
+
### Javascript Example
|
|
140
|
+
```javascript
|
|
141
|
+
await sos.offline.cache.loadOrSaveFile('9d66725ba2105f1833731ade5b7f334e.mp4', 'https://cdn.my-cms.com/files/video.mp4', { "Authorization": "Basic Zm9vOmJhcg==" })
|
|
142
|
+
.then((file) => { console.log('Loaded or Saved', file); })
|
|
143
|
+
.catch((error) => { console.error(error); });
|
|
144
|
+
|
|
145
|
+
// Logs into console
|
|
146
|
+
{
|
|
147
|
+
filePath: '/real/device/path/to/file/9d66725ba2105f1833731ade5b7f334e.mp4',
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
::: alert alert--info
|
|
152
|
+
Local device file path differs from device to device. It can point to file:// or http://localhost etc.
|
|
153
|
+
:::
|
|
154
|
+
|
|
155
|
+
### Returns
|
|
156
|
+
* SUCCESS: File object
|
|
157
|
+
* FAIL: No file of such uid is available, it will download it to local storage & then return saved file.
|
|
158
|
+
|
|
159
|
+
<div class="row d-flex align-content-stretch force-padding-20">
|
|
160
|
+
<div class="col-12 d-flex">
|
|
161
|
+
<a class="wide-box wide-box--white d-flex align-content-stretch widebox-kb-color" target="_blank" href="https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/offline-files">
|
|
162
|
+
<div>
|
|
163
|
+
<div class="wide-box__image d-flex align-items-center">
|
|
164
|
+
<i class="fab fa-github svg-black"></i>
|
|
165
|
+
</div>
|
|
166
|
+
<div>
|
|
167
|
+
<h3 class="wide-box__title wide-box__title__small pl-85">Example of managing offline files</h3>
|
|
168
|
+
<div class="wide-box__description">Working example on our Github</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
</a>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
<div class="row d-flex align-content-stretch force-padding-10">
|
|
176
|
+
<div class="col-12 d-flex">
|
|
177
|
+
<a class="wide-box wide-box--white d-flex align-content-stretch widebox-kb-color" target="_blank" href="https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/video-loop-offline">
|
|
178
|
+
<div>
|
|
179
|
+
<div class="wide-box__image d-flex align-items-center">
|
|
180
|
+
<i class="fab fa-github svg-black"></i>
|
|
181
|
+
</div>
|
|
182
|
+
<div>
|
|
183
|
+
<h3 class="wide-box__title wide-box__title__small pl-85">Example of playing video in loop</h3>
|
|
184
|
+
<div class="wide-box__description">Working example on our Github</div>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</a>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
## deleteFile()
|
|
192
|
+
Method `deleteFile()` is used for deleting previously saved file from internal memory.
|
|
193
|
+
|
|
194
|
+
### Parameters
|
|
195
|
+
|
|
196
|
+
| Param | Type | Required | Description |
|
|
197
|
+
| -------------- | -------------| :-------: |-------------------------------------------- |
|
|
198
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
199
|
+
|
|
200
|
+
### Javascript example
|
|
201
|
+
```javascript
|
|
202
|
+
await sos.offline.cache.deleteFile('9d66725ba2105f1833731ade5b7f334e.mp4')
|
|
203
|
+
.then(() => { console.log('Deleted'); })
|
|
204
|
+
.catch((error) => { console.error(error); });
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## getChecksumFile()
|
|
208
|
+
Method `getChecksumFile()` is used for getting the checksum of file from internal memory.
|
|
209
|
+
|
|
210
|
+
### Parameters:
|
|
211
|
+
| Param | Type | Required | Description |
|
|
212
|
+
| -------------- | ----------------| :-------: |-------------------------------------------- |
|
|
213
|
+
| `uid` | string | <div class="red">Yes</div> |Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
214
|
+
| `hashType` | string | <div class="red">Yes</div> |Type of checksum has. Currently supported hashType is just md5 |
|
|
215
|
+
|
|
216
|
+
### Javascript example
|
|
217
|
+
```javascript
|
|
218
|
+
await sos.offline.cache.getChecksumFile('9d66725ba2105f1833731ade5b7f334e.mp4', 'md5')
|
|
219
|
+
.then((checksum) => { console.log('MD5 checksum is ' + checksum); })
|
|
220
|
+
.catch((error) => { console.error(error); });
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
<div class="row d-flex align-content-stretch force-padding-20">
|
|
224
|
+
<div class="col-12 d-flex">
|
|
225
|
+
<a class="wide-box wide-box--white d-flex align-content-stretch widebox-kb-color" target="_blank" href="https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/md5-checksum">
|
|
226
|
+
<div>
|
|
227
|
+
<div class="wide-box__image d-flex align-items-center">
|
|
228
|
+
<i class="fab fa-github svg-black"></i>
|
|
229
|
+
</div>
|
|
230
|
+
<div>
|
|
231
|
+
<h3 class="wide-box__title wide-box__title__small pl-85">Example of checking checksum of file</h3>
|
|
232
|
+
<div class="wide-box__description">Working example on our Github</div>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
</a>
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
|
|
239
|
+
## validateChecksumFile()
|
|
240
|
+
Method `validateChecksumFile()` is used for validating the checksum of the previously saved file in from internal memory.
|
|
241
|
+
|
|
242
|
+
### Parameters:
|
|
243
|
+
|
|
244
|
+
| Param | Type | Required | Description |
|
|
245
|
+
| -------------- | -----------------| :-------: |-------------------------------------------- |
|
|
246
|
+
| `uid` | string | <div class="red">Yes</div> |Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
247
|
+
| `hash` | string | <div class="red">Yes</div> |Hexa decimal representation of file checksum to be validated against |
|
|
248
|
+
| `hashType` | string | <div class="red">Yes</div> |Type of checksum hash. Currently supported hashType is just md5 |
|
|
249
|
+
|
|
250
|
+
### Javascript example
|
|
251
|
+
```javascript
|
|
252
|
+
// validate file checksum against internal memory
|
|
253
|
+
await sos.offline.cache.validateChecksumFile(uid, '23dc936691f46d2bbef631f18a02f94f', 'md5')
|
|
254
|
+
.then((valid) => { console.log('MD5 checksum is ' + (valid ? 'valid' : 'not valid')); })
|
|
255
|
+
.catch((error) => { console.error(error); });
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## decompressFile() (ZIP)
|
|
259
|
+
Method `decompressFile()` is used to decompress (extract ZIP) file previously saved to internal memory.
|
|
260
|
+
|
|
261
|
+
### Parameters
|
|
262
|
+
|
|
263
|
+
| Param | Type | Required | Description |
|
|
264
|
+
| --------------- | ------------ | :-------: |----------------------------------------------------------------- |
|
|
265
|
+
| `zipUid` | string | <div class="red">Yes</div> | Unique file identifier of a previously downloaded ZIP file |
|
|
266
|
+
| `destinationUid` | string | <div class="red">Yes</div> | Unique directory identifier (prefix of file) to extract ZIP file to |
|
|
267
|
+
| `method` | string | <div class="red">Yes</div> | Method of compression algorithm, currently only zip is supported |
|
|
268
|
+
|
|
269
|
+
### Javascript example
|
|
270
|
+
```javascript
|
|
271
|
+
// validate file checksum against internal memory
|
|
272
|
+
await sos.offline.cache.decompressFile(zipUid, destinationDirectoryUid, 'zip')
|
|
273
|
+
.then(() => { console.log('ZIP file extracted'); })
|
|
274
|
+
.catch((error) => { console.error(error); });
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
<div class="row d-flex align-content-stretch force-padding-20">
|
|
278
|
+
<div class="col-12 d-flex">
|
|
279
|
+
<a class="wide-box wide-box--white d-flex align-content-stretch widebox-kb-color" target="_blank" href="https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/offline-zip-decompress">
|
|
280
|
+
<div>
|
|
281
|
+
<div class="wide-box__image d-flex align-items-center">
|
|
282
|
+
<i class="fab fa-github svg-black"></i>
|
|
283
|
+
</div>
|
|
284
|
+
<div>
|
|
285
|
+
<h3 class="wide-box__title wide-box__title__small pl-85">Example of decompressing ZIP files</h3>
|
|
286
|
+
<div class="wide-box__description">Working example on our Github</div>
|
|
287
|
+
</div>
|
|
288
|
+
</div>
|
|
289
|
+
</a>
|
|
290
|
+
</div>
|
|
291
|
+
</div>
|
|
292
|
+
|
|
293
|
+
## More examples
|
|
294
|
+
|
|
295
|
+
* [Managing files](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/file-system)
|
|
296
|
+
* [Sample applet from Box](https://github.com/signageos/applet-examples/blob/master/index.html)
|
|
297
|
+
* All other examples are available in Knowledge Base under [Applet Examples](/knowledge-base/applet-examples)
|
|
298
|
+
|
|
299
|
+
## Errors
|
|
300
|
+
Although we are doing our best, following errors may occur when working with the offline cache.
|
|
301
|
+
|
|
302
|
+
| Code | Type | Message |
|
|
303
|
+
| ---- | ---- | ------- |
|
|
304
|
+
| 40105 | AppletResourceError | Already loading file: `$$FILE_NAME$$` |
|
|
305
|
+
|^^|^^| Please, check your code for multiple occurrences of addFile/s methods. |
|
|
306
|
+
| 40106 | AppletResourceError | Already existing file: `$$FILE_NAME$$` |
|
|
307
|
+
|^^|^^| Please, check your code for occurrences of addFile/s methods on lines before this error. |
|
|
308
|
+
| 49902 | FileNotFoundError | File was not found `$$FILE_ID$$` |
|
|
309
|
+
| 40901 | AppletOfflineCacheError | Uid contains invalid characters, allowed: `$$ALLOWED_CHARS$$`, got `$$ACTUAL_UID$$` |
|
|
310
|
+
|^^|^^| Please, check if the used URL is correct. |
|
|
311
|
+
| 40902 | AppletOfflineCacheError | Invalid headers `$$HEADERS$$` |
|
|
312
|
+
| 50901 | InternalOfflineCacheError | Couldn't not read the files from the offline cache. |
|
|
313
|
+
| 50902 | InternalOfflineCacheError | File wasn't saved correctly. |
|
|
314
|
+
| 50903 | InternalOfflineCacheError | Reading the file from the offline cache failed. |
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Offline Cache for storing data
|
|
3
|
+
author: Miroslav Behina
|
|
4
|
+
date: 22.11.2018
|
|
5
|
+
type: js-api
|
|
6
|
+
tags:
|
|
7
|
+
- applet
|
|
8
|
+
- applet_api
|
|
9
|
+
- api
|
|
10
|
+
- js_api
|
|
11
|
+
description: "[Content JS API] This API provides you with approach similar to the HTML5's Local Storage, but implemented internally via native device API and completely device agnostic."
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Offline Cache for storing simple data
|
|
15
|
+
|
|
16
|
+
Use when you need to save some data into local memory.
|
|
17
|
+
This API provides you with approach similar to the HTML5's Local Storage, but implemented internally via native device API and completely device agnostic.
|
|
18
|
+
We do not recommend using a different storage type then Offline Cache or full featured [File System API](/api/js/content/js-file-system) that will provide you with more low-level methods.
|
|
19
|
+
|
|
20
|
+
## All methods
|
|
21
|
+
::: table-responsive
|
|
22
|
+
| Method | Description | Supported Since |
|
|
23
|
+
| ------ | -------- | ----- | :--------: |
|
|
24
|
+
| `loadContent()` | Loads content from internal storage | 1.0.3 |
|
|
25
|
+
| `saveContent()` | Saves content to internal storage | 1.0.3 |
|
|
26
|
+
| `listContents()` | List all content items saved previously to internal storage | 2.0.0 |
|
|
27
|
+
| `deleteContent()` | Delete content item previously saved to internal storage | 2.0.0 |
|
|
28
|
+
:::
|
|
29
|
+
|
|
30
|
+
::: alert alert--warning
|
|
31
|
+
Emulator has certain limitations while handling offline files. [Read more here](/knowledge-base/box-emulator-limitations)
|
|
32
|
+
:::
|
|
33
|
+
|
|
34
|
+
## loadContent()
|
|
35
|
+
Method `loadContent()` loads content from internal storage.
|
|
36
|
+
|
|
37
|
+
### Parameters
|
|
38
|
+
::: table-responsive
|
|
39
|
+
| Param | Type | Required | Description |
|
|
40
|
+
| -------------- | ------ | :-------: | ----------- |
|
|
41
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters | |
|
|
42
|
+
:::
|
|
43
|
+
|
|
44
|
+
### Javascript example
|
|
45
|
+
```javascript
|
|
46
|
+
await sos.offline.cache.saveContent('ApplicationSecret', '123SuperSecretHash');
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## saveContent()
|
|
50
|
+
Method for saving content into internal storage.
|
|
51
|
+
|
|
52
|
+
### Parameters
|
|
53
|
+
::: table-responsive
|
|
54
|
+
| Param | Type | Required | Description |
|
|
55
|
+
| -------------- | ------ | :-------: | ----------- |
|
|
56
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
57
|
+
| `content` | string | <div class="red">Yes</div> | Only string variables enabled. For JSON values use `JSON.Stringify()` |
|
|
58
|
+
:::
|
|
59
|
+
|
|
60
|
+
### Javascript Example
|
|
61
|
+
```javascript
|
|
62
|
+
sos.offline.cache.saveContent('ApplicationSecret', '123SuperSecretHash')
|
|
63
|
+
.then(() => {
|
|
64
|
+
//Content was successfully saved, retrieve it.
|
|
65
|
+
return sos.offline.cache.loadContent('ApplicationSecret');
|
|
66
|
+
})
|
|
67
|
+
.then((content) => {
|
|
68
|
+
console.log('Loaded', content); // print 123SuperSecretHash
|
|
69
|
+
})
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## listContents()
|
|
73
|
+
List all content items saved previously to internal storage
|
|
74
|
+
|
|
75
|
+
### Javascript example
|
|
76
|
+
```javascript
|
|
77
|
+
await sos.offline.cache.listContents();
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## deleteContent()
|
|
81
|
+
Delete content item previously saved to internal storage.
|
|
82
|
+
|
|
83
|
+
### Parameters
|
|
84
|
+
::: table-responsive
|
|
85
|
+
| Param | Type | Required | Description |
|
|
86
|
+
| -------------- | ------ | :-------: | ----------- |
|
|
87
|
+
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters | |
|
|
88
|
+
:::
|
|
89
|
+
|
|
90
|
+
### Javascript example
|
|
91
|
+
```javascript
|
|
92
|
+
//Store
|
|
93
|
+
sos.offline.cache.saveContent('ApplicationSecret', '123SuperSecretHash')
|
|
94
|
+
.then(() => {
|
|
95
|
+
//Content was successfully saved, retrieve it.
|
|
96
|
+
return sos.offline.cache.loadContent('ApplicationSecret');
|
|
97
|
+
})
|
|
98
|
+
.then((content) => {
|
|
99
|
+
console.log('Loaded', content); // print 123SuperSecretHash
|
|
100
|
+
|
|
101
|
+
// Let's delete the content now
|
|
102
|
+
return sos.offline.cache.deleteContent('ApplicationSecret')
|
|
103
|
+
})
|
|
104
|
+
.then(() => {
|
|
105
|
+
console.log("Deleted");
|
|
106
|
+
})
|
|
107
|
+
.catch((error) => { console.error(error); });
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Usage with Typescript
|
|
111
|
+
You can also use all these methods with [signageOS TypeScript](/knowledge-base/dev-tools-cli-typescript).
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
loadContent(uid: string): Promise<string>;
|
|
115
|
+
saveContent(uid: string, content: string): Promise<void>;
|
|
116
|
+
|
|
117
|
+
listContents(): Promise<string[]>;
|
|
118
|
+
deleteContent(uid: string): Promise<void>;
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Errors
|
|
122
|
+
Although we are doing our best, following errors may occur when working with the offline cache.
|
|
123
|
+
|
|
124
|
+
::: table-responsive
|
|
125
|
+
| Code | Type | Message |
|
|
126
|
+
| ---- | ---- | ------- |
|
|
127
|
+
| 41001 | AppletNativeCacheError | Already saving the file with UID: ```uid``` |
|
|
128
|
+
| 51001 | InternalNativeCacheError | Couldn't not read the files from the offline cache. |
|
|
129
|
+
| 51001 | InternalNativeCacheError | Couldn\'t load the file from offline cache. |
|
|
130
|
+
| 51001 | InternalNativeCacheError | Couldn\'t load the file before deleting it. |
|
|
131
|
+
| 51002 | InternalNativeCacheError | Couldn\'t save the file to the offline cache. |
|
|
132
|
+
| 51003 | InternalNativeCacheError | File wasn\'t deleted correctly. |
|
|
133
|
+
| 40901 | AppletOfflineCacheError | Uid contains invalid characters, allowed: $$ALLOWED_CHARS$$, got $$ACTUAL_UID$$ |
|
|
134
|
+
:::
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Sensors
|
|
3
|
+
author: Michal Artazov
|
|
4
|
+
date: 28.9.2020
|
|
5
|
+
type: js-api
|
|
6
|
+
tags:
|
|
7
|
+
- applet
|
|
8
|
+
- applet_api
|
|
9
|
+
- api
|
|
10
|
+
- js_api
|
|
11
|
+
- sensors
|
|
12
|
+
description: "[Content JS API] We don't directly provide any sensors API but we provide a set of tools to implement your own integration of the hardware that you want to use."
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Sensors
|
|
16
|
+
|
|
17
|
+
We don't directly provide any sensors API but we provide a set of tools to implement your own integration of
|
|
18
|
+
the hardware that you want to use.
|
|
19
|
+
|
|
20
|
+
## Sensors interfaces
|
|
21
|
+
|
|
22
|
+
We provide a set of interfaces, that any integration should implement.
|
|
23
|
+
If every implementation implements the same set of interfaces, it's easy to swap it for a different implementation.
|
|
24
|
+
It also requires less code to be written to use various types of hardware.
|
|
25
|
+
If possible, you should always implement these interfaces.
|
|
26
|
+
|
|
27
|
+
::: alert alert--info
|
|
28
|
+
Right now, the list of interfaces is very short. We will be adding more types soon.
|
|
29
|
+
If there's any particular type of interfaces you'd like, kindly let us know.
|
|
30
|
+
:::
|
|
31
|
+
|
|
32
|
+
### Button
|
|
33
|
+
|
|
34
|
+
A regular button, that can be pressed or released.
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
interface IButton {
|
|
38
|
+
isPressed(): Promise<boolean>;
|
|
39
|
+
on(event: 'pressed' | 'released', listener: () => void): void;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### RFID Antenna
|
|
44
|
+
|
|
45
|
+
Antenna that detects presence of RFID tags. An RFID tag is simply a number.
|
|
46
|
+
Whenever a tag is placed at close proximity to the antenna, it will emit a `placed` event.
|
|
47
|
+
Whenever a tag is picked and is no longer detected by the antenna, it will emit a `picked` event.
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
interface IRfidAntenna {
|
|
51
|
+
getPlacedTags(): Promise<number[]>;
|
|
52
|
+
on(event: 'picked' | 'placed', listener: (rfidTag: number) => void): void;
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Ready to use integrations
|
|
57
|
+
|
|
58
|
+
We already did the hard work for you and implemented some of the popular hardware. All you have to do is use it in your project.
|
|
59
|
+
For more information read [this article](/knowledge-base/sensors-supported-sensors).
|
|
60
|
+
|
|
61
|
+
## Writing your own implementation
|
|
62
|
+
|
|
63
|
+
Sometimes you might want to use hardware that we don't support out of the box yet.
|
|
64
|
+
|
|
65
|
+
Firstly, you will need to read the documentation for the [serial API](/api/js/content/js-hardware-serial).
|
|
66
|
+
Most often, the hardware you will decide to use connects to the device via USB and internally uses a serial communication, like RS232.
|
|
67
|
+
In that case you will use the serial API.
|
|
68
|
+
|
|
69
|
+
You can approach this any way you like, but remember that you should always implement the [interfaces defined by us](/api/js/content/js-sensors#sensors-interfaces).
|
|
70
|
+
That will allow for greater code reusability and readability.
|