@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.
Files changed (443) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/README.md +3 -0
  3. package/dist/bundle.js +9 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/docs/README.md +5 -0
  6. package/docs/js-api/js-api-introduction.md +73 -0
  7. package/docs/js-api/js-applet-basics.md +294 -0
  8. package/docs/js-api/js-applet-resources.md +172 -0
  9. package/docs/js-api/js-browser.md +170 -0
  10. package/docs/js-api/js-command.md +208 -0
  11. package/docs/js-api/js-display.md +48 -0
  12. package/docs/js-api/js-file-system.md +568 -0
  13. package/docs/js-api/js-hardware-serial.md +142 -0
  14. package/docs/js-api/js-hardware.md +70 -0
  15. package/docs/js-api/js-iframes.md +88 -0
  16. package/docs/js-api/js-input.md +84 -0
  17. package/docs/js-api/js-loading-fonts.md +138 -0
  18. package/docs/js-api/js-monitoring-commands.md +108 -0
  19. package/docs/js-api/js-monitors.md +55 -0
  20. package/docs/js-api/js-offline-cache-media-files.md +314 -0
  21. package/docs/js-api/js-offline-cache-simple-data.md +134 -0
  22. package/docs/js-api/js-sensors.md +70 -0
  23. package/docs/js-api/js-sync-playback.md +197 -0
  24. package/docs/js-api/js-timing.md +54 -0
  25. package/docs/js-api/js-video-inputs-internal-ports.md +149 -0
  26. package/docs/js-api/js-video-stream.md +230 -0
  27. package/docs/js-api/js-video.md +282 -0
  28. package/docs/management-api/1-js-management.md +133 -0
  29. package/docs/management-api/10-js-management-application.md +123 -0
  30. package/docs/management-api/11-js-management-network.md +185 -0
  31. package/docs/management-api/12-js-management-security.md +86 -0
  32. package/docs/management-api/13-js-management-wifi.md +357 -0
  33. package/docs/management-api/2-js-management-firmware.md +93 -0
  34. package/docs/management-api/3-js-management-remote-control.md +73 -0
  35. package/docs/management-api/4-js-management-power.md +94 -0
  36. package/docs/management-api/5-js-management-screen.md +263 -0
  37. package/docs/management-api/6-js-management-time.md +166 -0
  38. package/docs/management-api/7-js-management-volume.md +46 -0
  39. package/docs/management-api/8-js-management-package.md +62 -0
  40. package/docs/management-api/9-js-management-debug.md +53 -0
  41. package/es6/FrontApplet/Browser/Browser.d.ts +24 -0
  42. package/es6/FrontApplet/Browser/Browser.js +73 -0
  43. package/es6/FrontApplet/Browser/Browser.js.map +1 -0
  44. package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +174 -0
  45. package/es6/FrontApplet/Browser/IOpenLinkOptions.js +55 -0
  46. package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -0
  47. package/es6/FrontApplet/Browser/events.d.ts +15 -0
  48. package/es6/FrontApplet/Browser/events.js +14 -0
  49. package/es6/FrontApplet/Browser/events.js.map +1 -0
  50. package/es6/FrontApplet/Browser/messages.d.ts +5 -0
  51. package/es6/FrontApplet/Browser/messages.js +3 -0
  52. package/es6/FrontApplet/Browser/messages.js.map +1 -0
  53. package/es6/FrontApplet/Command/Command.d.ts +16 -0
  54. package/es6/FrontApplet/Command/Command.js +68 -0
  55. package/es6/FrontApplet/Command/Command.js.map +1 -0
  56. package/es6/FrontApplet/Command/ICommand.d.ts +4 -0
  57. package/es6/FrontApplet/Command/ICommand.js +3 -0
  58. package/es6/FrontApplet/Command/ICommand.js.map +1 -0
  59. package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.d.ts +6 -0
  60. package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js +3 -0
  61. package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js.map +1 -0
  62. package/es6/FrontApplet/Command/ICommandEvent.d.ts +6 -0
  63. package/es6/FrontApplet/Command/ICommandEvent.js +3 -0
  64. package/es6/FrontApplet/Command/ICommandEvent.js.map +1 -0
  65. package/es6/FrontApplet/Command/ICommandEventListener.d.ts +6 -0
  66. package/es6/FrontApplet/Command/ICommandEventListener.js +3 -0
  67. package/es6/FrontApplet/Command/ICommandEventListener.js.map +1 -0
  68. package/es6/FrontApplet/Debug/Debug.d.ts +22 -0
  69. package/es6/FrontApplet/Debug/Debug.js +35 -0
  70. package/es6/FrontApplet/Debug/Debug.js.map +1 -0
  71. package/es6/FrontApplet/Display/Display.d.ts +11 -0
  72. package/es6/FrontApplet/Display/Display.js +35 -0
  73. package/es6/FrontApplet/Display/Display.js.map +1 -0
  74. package/es6/FrontApplet/Error/AppletCommandError.d.ts +9 -0
  75. package/es6/FrontApplet/Error/AppletCommandError.js +11 -0
  76. package/es6/FrontApplet/Error/AppletCommandError.js.map +1 -0
  77. package/es6/FrontApplet/Error/AppletError.d.ts +7 -0
  78. package/es6/FrontApplet/Error/AppletError.js +10 -0
  79. package/es6/FrontApplet/Error/AppletError.js.map +1 -0
  80. package/es6/FrontApplet/Error/AppletHardwareError.d.ts +9 -0
  81. package/es6/FrontApplet/Error/AppletHardwareError.js +11 -0
  82. package/es6/FrontApplet/Error/AppletHardwareError.js.map +1 -0
  83. package/es6/FrontApplet/Error/AppletOfflineCacheError.d.ts +8 -0
  84. package/es6/FrontApplet/Error/AppletOfflineCacheError.js +10 -0
  85. package/es6/FrontApplet/Error/AppletOfflineCacheError.js.map +1 -0
  86. package/es6/FrontApplet/Error/AppletResourcesError.d.ts +9 -0
  87. package/es6/FrontApplet/Error/AppletResourcesError.js +11 -0
  88. package/es6/FrontApplet/Error/AppletResourcesError.js.map +1 -0
  89. package/es6/FrontApplet/Error/AppletSecurityError.d.ts +9 -0
  90. package/es6/FrontApplet/Error/AppletSecurityError.js +11 -0
  91. package/es6/FrontApplet/Error/AppletSecurityError.js.map +1 -0
  92. package/es6/FrontApplet/Error/AppletStreamError.d.ts +8 -0
  93. package/es6/FrontApplet/Error/AppletStreamError.js +10 -0
  94. package/es6/FrontApplet/Error/AppletStreamError.js.map +1 -0
  95. package/es6/FrontApplet/Error/AppletVideoError.d.ts +9 -0
  96. package/es6/FrontApplet/Error/AppletVideoError.js +11 -0
  97. package/es6/FrontApplet/Error/AppletVideoError.js.map +1 -0
  98. package/es6/FrontApplet/Error/ErrorCodes.d.ts +18 -0
  99. package/es6/FrontApplet/Error/ErrorCodes.js +23 -0
  100. package/es6/FrontApplet/Error/ErrorCodes.js.map +1 -0
  101. package/es6/FrontApplet/Error/ErrorCodesMessages.d.ts +3 -0
  102. package/es6/FrontApplet/Error/ErrorCodesMessages.js +22 -0
  103. package/es6/FrontApplet/Error/ErrorCodesMessages.js.map +1 -0
  104. package/es6/FrontApplet/Error/ErrorSuggestions.d.ts +6 -0
  105. package/es6/FrontApplet/Error/ErrorSuggestions.js +10 -0
  106. package/es6/FrontApplet/Error/ErrorSuggestions.js.map +1 -0
  107. package/es6/FrontApplet/Error/FileNotFoundError.d.ts +8 -0
  108. package/es6/FrontApplet/Error/FileNotFoundError.js +10 -0
  109. package/es6/FrontApplet/Error/FileNotFoundError.js.map +1 -0
  110. package/es6/FrontApplet/Error/SosError.d.ts +20 -0
  111. package/es6/FrontApplet/Error/SosError.js +22 -0
  112. package/es6/FrontApplet/Error/SosError.js.map +1 -0
  113. package/es6/FrontApplet/Error/errorHelper.d.ts +12 -0
  114. package/es6/FrontApplet/Error/errorHelper.js +50 -0
  115. package/es6/FrontApplet/Error/errorHelper.js.map +1 -0
  116. package/es6/FrontApplet/Exchange/Exchange.d.ts +7 -0
  117. package/es6/FrontApplet/Exchange/Exchange.js +28 -0
  118. package/es6/FrontApplet/Exchange/Exchange.js.map +1 -0
  119. package/es6/FrontApplet/FileSystem/FileSystem.d.ts +30 -0
  120. package/es6/FrontApplet/FileSystem/FileSystem.js +210 -0
  121. package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -0
  122. package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.d.ts +4 -0
  123. package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js +3 -0
  124. package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js.map +1 -0
  125. package/es6/FrontApplet/FileSystem/types.d.ts +66 -0
  126. package/es6/FrontApplet/FileSystem/types.js +20 -0
  127. package/es6/FrontApplet/FileSystem/types.js.map +1 -0
  128. package/es6/FrontApplet/Font/fontFaceGenerator.d.ts +6 -0
  129. package/es6/FrontApplet/Font/fontFaceGenerator.js +46 -0
  130. package/es6/FrontApplet/Font/fontFaceGenerator.js.map +1 -0
  131. package/es6/FrontApplet/FrontApplet.d.ts +56 -0
  132. package/es6/FrontApplet/FrontApplet.js +183 -0
  133. package/es6/FrontApplet/FrontApplet.js.map +1 -0
  134. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +30 -0
  135. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +92 -0
  136. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -0
  137. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.d.ts +5 -0
  138. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js +3 -0
  139. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js.map +1 -0
  140. package/es6/FrontApplet/Hardware/Hardware.d.ts +20 -0
  141. package/es6/FrontApplet/Hardware/Hardware.js +51 -0
  142. package/es6/FrontApplet/Hardware/Hardware.js.map +1 -0
  143. package/es6/FrontApplet/Hardware/ISerialPortDataMessage.d.ts +6 -0
  144. package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js +3 -0
  145. package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js.map +1 -0
  146. package/es6/FrontApplet/Hardware/ISerialPortOptions.d.ts +15 -0
  147. package/es6/FrontApplet/Hardware/ISerialPortOptions.js +11 -0
  148. package/es6/FrontApplet/Hardware/ISerialPortOptions.js.map +1 -0
  149. package/es6/FrontApplet/Hardware/Led/ISetColorMessage.d.ts +5 -0
  150. package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js +3 -0
  151. package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js.map +1 -0
  152. package/es6/FrontApplet/Hardware/Led/Led.d.ts +11 -0
  153. package/es6/FrontApplet/Hardware/Led/Led.js +38 -0
  154. package/es6/FrontApplet/Hardware/Led/Led.js.map +1 -0
  155. package/es6/FrontApplet/Hardware/SerialPort.d.ts +14 -0
  156. package/es6/FrontApplet/Hardware/SerialPort.js +45 -0
  157. package/es6/FrontApplet/Hardware/SerialPort.js.map +1 -0
  158. package/es6/FrontApplet/Hash/generator.d.ts +1 -0
  159. package/es6/FrontApplet/Hash/generator.js +10 -0
  160. package/es6/FrontApplet/Hash/generator.js.map +1 -0
  161. package/es6/FrontApplet/IMessage.d.ts +6 -0
  162. package/es6/FrontApplet/IMessage.js +3 -0
  163. package/es6/FrontApplet/IMessage.js.map +1 -0
  164. package/es6/FrontApplet/IPostMessage.d.ts +5 -0
  165. package/es6/FrontApplet/IPostMessage.js +3 -0
  166. package/es6/FrontApplet/IPostMessage.js.map +1 -0
  167. package/es6/FrontApplet/Iframe/Iframe.d.ts +24 -0
  168. package/es6/FrontApplet/Iframe/Iframe.js +51 -0
  169. package/es6/FrontApplet/Iframe/Iframe.js.map +1 -0
  170. package/es6/FrontApplet/Input/IInputKeyMessage.d.ts +6 -0
  171. package/es6/FrontApplet/Input/IInputKeyMessage.js +3 -0
  172. package/es6/FrontApplet/Input/IInputKeyMessage.js.map +1 -0
  173. package/es6/FrontApplet/Input/IKeyUpEvent.d.ts +6 -0
  174. package/es6/FrontApplet/Input/IKeyUpEvent.js +3 -0
  175. package/es6/FrontApplet/Input/IKeyUpEvent.js.map +1 -0
  176. package/es6/FrontApplet/Input/IKeyUpEventListener.d.ts +5 -0
  177. package/es6/FrontApplet/Input/IKeyUpEventListener.js +3 -0
  178. package/es6/FrontApplet/Input/IKeyUpEventListener.js.map +1 -0
  179. package/es6/FrontApplet/Input/Input.d.ts +20 -0
  180. package/es6/FrontApplet/Input/Input.js +35 -0
  181. package/es6/FrontApplet/Input/Input.js.map +1 -0
  182. package/es6/FrontApplet/Management/App.d.ts +37 -0
  183. package/es6/FrontApplet/Management/App.js +50 -0
  184. package/es6/FrontApplet/Management/App.js.map +1 -0
  185. package/es6/FrontApplet/Management/Audio.d.ts +9 -0
  186. package/es6/FrontApplet/Management/Audio.js +40 -0
  187. package/es6/FrontApplet/Management/Audio.js.map +1 -0
  188. package/es6/FrontApplet/Management/Debug.d.ts +11 -0
  189. package/es6/FrontApplet/Management/Debug.js +50 -0
  190. package/es6/FrontApplet/Management/Debug.js.map +1 -0
  191. package/es6/FrontApplet/Management/Firmware.d.ts +37 -0
  192. package/es6/FrontApplet/Management/Firmware.js +50 -0
  193. package/es6/FrontApplet/Management/Firmware.js.map +1 -0
  194. package/es6/FrontApplet/Management/FirmwareType.d.ts +4 -0
  195. package/es6/FrontApplet/Management/FirmwareType.js +8 -0
  196. package/es6/FrontApplet/Management/FirmwareType.js.map +1 -0
  197. package/es6/FrontApplet/Management/IBatteryStatus.d.ts +7 -0
  198. package/es6/FrontApplet/Management/IBatteryStatus.js +3 -0
  199. package/es6/FrontApplet/Management/IBatteryStatus.js.map +1 -0
  200. package/es6/FrontApplet/Management/IBrightness.d.ts +6 -0
  201. package/es6/FrontApplet/Management/IBrightness.js +3 -0
  202. package/es6/FrontApplet/Management/IBrightness.js.map +1 -0
  203. package/es6/FrontApplet/Management/INetworkInfo.d.ts +53 -0
  204. package/es6/FrontApplet/Management/INetworkInfo.js +17 -0
  205. package/es6/FrontApplet/Management/INetworkInfo.js.map +1 -0
  206. package/es6/FrontApplet/Management/IOrientation.d.ts +4 -0
  207. package/es6/FrontApplet/Management/IOrientation.js +3 -0
  208. package/es6/FrontApplet/Management/IOrientation.js.map +1 -0
  209. package/es6/FrontApplet/Management/IWifiEvent.d.ts +11 -0
  210. package/es6/FrontApplet/Management/IWifiEvent.js +12 -0
  211. package/es6/FrontApplet/Management/IWifiEvent.js.map +1 -0
  212. package/es6/FrontApplet/Management/Management.d.ts +44 -0
  213. package/es6/FrontApplet/Management/Management.js +113 -0
  214. package/es6/FrontApplet/Management/Management.js.map +1 -0
  215. package/es6/FrontApplet/Management/Network.d.ts +26 -0
  216. package/es6/FrontApplet/Management/Network.js +83 -0
  217. package/es6/FrontApplet/Management/Network.js.map +1 -0
  218. package/es6/FrontApplet/Management/Package.d.ts +8 -0
  219. package/es6/FrontApplet/Management/Package.js +38 -0
  220. package/es6/FrontApplet/Management/Package.js.map +1 -0
  221. package/es6/FrontApplet/Management/Power.d.ts +13 -0
  222. package/es6/FrontApplet/Management/Power.js +78 -0
  223. package/es6/FrontApplet/Management/Power.js.map +1 -0
  224. package/es6/FrontApplet/Management/RemoteControl.d.ts +14 -0
  225. package/es6/FrontApplet/Management/RemoteControl.js +61 -0
  226. package/es6/FrontApplet/Management/RemoteControl.js.map +1 -0
  227. package/es6/FrontApplet/Management/Screen.d.ts +18 -0
  228. package/es6/FrontApplet/Management/Screen.js +114 -0
  229. package/es6/FrontApplet/Management/Screen.js.map +1 -0
  230. package/es6/FrontApplet/Management/Security.d.ts +21 -0
  231. package/es6/FrontApplet/Management/Security.js +56 -0
  232. package/es6/FrontApplet/Management/Security.js.map +1 -0
  233. package/es6/FrontApplet/Management/Time.d.ts +16 -0
  234. package/es6/FrontApplet/Management/Time.js +59 -0
  235. package/es6/FrontApplet/Management/Time.js.map +1 -0
  236. package/es6/FrontApplet/Management/Wifi.d.ts +29 -0
  237. package/es6/FrontApplet/Management/Wifi.js +151 -0
  238. package/es6/FrontApplet/Management/Wifi.js.map +1 -0
  239. package/es6/FrontApplet/Management/helpers/DeviceHelper.d.ts +21 -0
  240. package/es6/FrontApplet/Management/helpers/DeviceHelper.js +16 -0
  241. package/es6/FrontApplet/Management/helpers/DeviceHelper.js.map +1 -0
  242. package/es6/FrontApplet/Management/helpers/SecurityHelper.d.ts +2 -0
  243. package/es6/FrontApplet/Management/helpers/SecurityHelper.js +21 -0
  244. package/es6/FrontApplet/Management/helpers/SecurityHelper.js.map +1 -0
  245. package/es6/FrontApplet/Management/helpers/TimerHelper.d.ts +25 -0
  246. package/es6/FrontApplet/Management/helpers/TimerHelper.js +23 -0
  247. package/es6/FrontApplet/Management/helpers/TimerHelper.js.map +1 -0
  248. package/es6/FrontApplet/Management/helpers/UpgradeHelper.d.ts +5 -0
  249. package/es6/FrontApplet/Management/helpers/UpgradeHelper.js +35 -0
  250. package/es6/FrontApplet/Management/helpers/UpgradeHelper.js.map +1 -0
  251. package/es6/FrontApplet/Management/helpers/VideoHelper.d.ts +4 -0
  252. package/es6/FrontApplet/Management/helpers/VideoHelper.js +8 -0
  253. package/es6/FrontApplet/Management/helpers/VideoHelper.js.map +1 -0
  254. package/es6/FrontApplet/Monitors/Monitors.d.ts +16 -0
  255. package/es6/FrontApplet/Monitors/Monitors.js +31 -0
  256. package/es6/FrontApplet/Monitors/Monitors.js.map +1 -0
  257. package/es6/FrontApplet/Offline/Cache/Cache.d.ts +38 -0
  258. package/es6/FrontApplet/Offline/Cache/Cache.js +199 -0
  259. package/es6/FrontApplet/Offline/Cache/Cache.js.map +1 -0
  260. package/es6/FrontApplet/Offline/Cache/IChecksumMessage.d.ts +5 -0
  261. package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js +3 -0
  262. package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js.map +1 -0
  263. package/es6/FrontApplet/Offline/Cache/IFile.d.ts +4 -0
  264. package/es6/FrontApplet/Offline/Cache/IFile.js +3 -0
  265. package/es6/FrontApplet/Offline/Cache/IFile.js.map +1 -0
  266. package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.d.ts +5 -0
  267. package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js +3 -0
  268. package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js.map +1 -0
  269. package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.d.ts +5 -0
  270. package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js +3 -0
  271. package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js.map +1 -0
  272. package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.d.ts +5 -0
  273. package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js +3 -0
  274. package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js.map +1 -0
  275. package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.d.ts +6 -0
  276. package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js +3 -0
  277. package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js.map +1 -0
  278. package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.d.ts +5 -0
  279. package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js +3 -0
  280. package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js.map +1 -0
  281. package/es6/FrontApplet/Offline/Cache/ISavedContents.d.ts +4 -0
  282. package/es6/FrontApplet/Offline/Cache/ISavedContents.js +3 -0
  283. package/es6/FrontApplet/Offline/Cache/ISavedContents.js.map +1 -0
  284. package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.d.ts +6 -0
  285. package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js +3 -0
  286. package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js.map +1 -0
  287. package/es6/FrontApplet/Offline/Cache/ISavedFiles.d.ts +5 -0
  288. package/es6/FrontApplet/Offline/Cache/ISavedFiles.js +3 -0
  289. package/es6/FrontApplet/Offline/Cache/ISavedFiles.js.map +1 -0
  290. package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.d.ts +5 -0
  291. package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js +3 -0
  292. package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js.map +1 -0
  293. package/es6/FrontApplet/Offline/Flags/AppendFlagController.d.ts +12 -0
  294. package/es6/FrontApplet/Offline/Flags/AppendFlagController.js +47 -0
  295. package/es6/FrontApplet/Offline/Flags/AppendFlagController.js.map +1 -0
  296. package/es6/FrontApplet/Offline/Flags/IFlag.d.ts +16 -0
  297. package/es6/FrontApplet/Offline/Flags/IFlag.js +8 -0
  298. package/es6/FrontApplet/Offline/Flags/IFlag.js.map +1 -0
  299. package/es6/FrontApplet/Offline/Flags/IFlagController.d.ts +12 -0
  300. package/es6/FrontApplet/Offline/Flags/IFlagController.js +3 -0
  301. package/es6/FrontApplet/Offline/Flags/IFlagController.js.map +1 -0
  302. package/es6/FrontApplet/Offline/Flags/IFlags.d.ts +7 -0
  303. package/es6/FrontApplet/Offline/Flags/IFlags.js +3 -0
  304. package/es6/FrontApplet/Offline/Flags/IFlags.js.map +1 -0
  305. package/es6/FrontApplet/Offline/IAddFont.d.ts +50 -0
  306. package/es6/FrontApplet/Offline/IAddFont.js +22 -0
  307. package/es6/FrontApplet/Offline/IAddFont.js.map +1 -0
  308. package/es6/FrontApplet/Offline/IElement.d.ts +7 -0
  309. package/es6/FrontApplet/Offline/IElement.js +6 -0
  310. package/es6/FrontApplet/Offline/IElement.js.map +1 -0
  311. package/es6/FrontApplet/Offline/IFileType.d.ts +3 -0
  312. package/es6/FrontApplet/Offline/IFileType.js +4 -0
  313. package/es6/FrontApplet/Offline/IFileType.js.map +1 -0
  314. package/es6/FrontApplet/Offline/ISaveFile.d.ts +49 -0
  315. package/es6/FrontApplet/Offline/ISaveFile.js +26 -0
  316. package/es6/FrontApplet/Offline/ISaveFile.js.map +1 -0
  317. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.d.ts +7 -0
  318. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js +26 -0
  319. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js.map +1 -0
  320. package/es6/FrontApplet/Offline/LoadFile/ILoadFile.d.ts +8 -0
  321. package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js +3 -0
  322. package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js.map +1 -0
  323. package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.d.ts +8 -0
  324. package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js +3 -0
  325. package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js.map +1 -0
  326. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.d.ts +7 -0
  327. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js +25 -0
  328. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js.map +1 -0
  329. package/es6/FrontApplet/Offline/Offline.d.ts +27 -0
  330. package/es6/FrontApplet/Offline/Offline.js +105 -0
  331. package/es6/FrontApplet/Offline/Offline.js.map +1 -0
  332. package/es6/FrontApplet/Offline/Types.d.ts +7 -0
  333. package/es6/FrontApplet/Offline/Types.js +9 -0
  334. package/es6/FrontApplet/Offline/Types.js.map +1 -0
  335. package/es6/FrontApplet/Sensors/Proximity.d.ts +16 -0
  336. package/es6/FrontApplet/Sensors/Proximity.js +36 -0
  337. package/es6/FrontApplet/Sensors/Proximity.js.map +1 -0
  338. package/es6/FrontApplet/Sensors/Sensors.d.ts +11 -0
  339. package/es6/FrontApplet/Sensors/Sensors.js +18 -0
  340. package/es6/FrontApplet/Sensors/Sensors.js.map +1 -0
  341. package/es6/FrontApplet/Stream/IStreamEvent.d.ts +6 -0
  342. package/es6/FrontApplet/Stream/IStreamEvent.js +3 -0
  343. package/es6/FrontApplet/Stream/IStreamEvent.js.map +1 -0
  344. package/es6/FrontApplet/Stream/IStreamEventListener.d.ts +5 -0
  345. package/es6/FrontApplet/Stream/IStreamEventListener.js +3 -0
  346. package/es6/FrontApplet/Stream/IStreamEventListener.js.map +1 -0
  347. package/es6/FrontApplet/Stream/IStreamMessage.d.ts +6 -0
  348. package/es6/FrontApplet/Stream/IStreamMessage.js +3 -0
  349. package/es6/FrontApplet/Stream/IStreamMessage.js.map +1 -0
  350. package/es6/FrontApplet/Stream/IStreamProperties.d.ts +10 -0
  351. package/es6/FrontApplet/Stream/IStreamProperties.js +3 -0
  352. package/es6/FrontApplet/Stream/IStreamProperties.js.map +1 -0
  353. package/es6/FrontApplet/Stream/Stream.d.ts +22 -0
  354. package/es6/FrontApplet/Stream/Stream.js +131 -0
  355. package/es6/FrontApplet/Stream/Stream.js.map +1 -0
  356. package/es6/FrontApplet/Stream/StreamProtocol.d.ts +9 -0
  357. package/es6/FrontApplet/Stream/StreamProtocol.js +13 -0
  358. package/es6/FrontApplet/Stream/StreamProtocol.js.map +1 -0
  359. package/es6/FrontApplet/Stream/streamEvents.d.ts +8 -0
  360. package/es6/FrontApplet/Stream/streamEvents.js +3 -0
  361. package/es6/FrontApplet/Stream/streamEvents.js.map +1 -0
  362. package/es6/FrontApplet/Sync/ISyncEvent.d.ts +4 -0
  363. package/es6/FrontApplet/Sync/ISyncEvent.js +3 -0
  364. package/es6/FrontApplet/Sync/ISyncEvent.js.map +1 -0
  365. package/es6/FrontApplet/Sync/ISyncSetValueMessage.d.ts +7 -0
  366. package/es6/FrontApplet/Sync/ISyncSetValueMessage.js +3 -0
  367. package/es6/FrontApplet/Sync/ISyncSetValueMessage.js.map +1 -0
  368. package/es6/FrontApplet/Sync/Sync.d.ts +20 -0
  369. package/es6/FrontApplet/Sync/Sync.js +102 -0
  370. package/es6/FrontApplet/Sync/Sync.js.map +1 -0
  371. package/es6/FrontApplet/Sync/syncEvents.d.ts +6 -0
  372. package/es6/FrontApplet/Sync/syncEvents.js +3 -0
  373. package/es6/FrontApplet/Sync/syncEvents.js.map +1 -0
  374. package/es6/FrontApplet/Timing/Timing.d.ts +10 -0
  375. package/es6/FrontApplet/Timing/Timing.js +16 -0
  376. package/es6/FrontApplet/Timing/Timing.js.map +1 -0
  377. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.d.ts +2 -0
  378. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js +4 -0
  379. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js.map +1 -0
  380. package/es6/FrontApplet/Timing/Triggers/Triggers.d.ts +11 -0
  381. package/es6/FrontApplet/Timing/Triggers/Triggers.js +33 -0
  382. package/es6/FrontApplet/Timing/Triggers/Triggers.js.map +1 -0
  383. package/es6/FrontApplet/Touch/ITouchEventMessage.d.ts +6 -0
  384. package/es6/FrontApplet/Touch/ITouchEventMessage.js +3 -0
  385. package/es6/FrontApplet/Touch/ITouchEventMessage.js.map +1 -0
  386. package/es6/FrontApplet/Touch/Touch.d.ts +13 -0
  387. package/es6/FrontApplet/Touch/Touch.js +54 -0
  388. package/es6/FrontApplet/Touch/Touch.js.map +1 -0
  389. package/es6/FrontApplet/Validate/Validate.d.ts +43 -0
  390. package/es6/FrontApplet/Validate/Validate.js +266 -0
  391. package/es6/FrontApplet/Validate/Validate.js.map +1 -0
  392. package/es6/FrontApplet/Validate/ValidateObjectInterface.d.ts +8 -0
  393. package/es6/FrontApplet/Validate/ValidateObjectInterface.js +140 -0
  394. package/es6/FrontApplet/Validate/ValidateObjectInterface.js.map +1 -0
  395. package/es6/FrontApplet/Video/IVideoEvent.d.ts +8 -0
  396. package/es6/FrontApplet/Video/IVideoEvent.js +6 -0
  397. package/es6/FrontApplet/Video/IVideoEvent.js.map +1 -0
  398. package/es6/FrontApplet/Video/IVideoEventListener.d.ts +5 -0
  399. package/es6/FrontApplet/Video/IVideoEventListener.js +3 -0
  400. package/es6/FrontApplet/Video/IVideoEventListener.js.map +1 -0
  401. package/es6/FrontApplet/Video/IVideoMessage.d.ts +4 -0
  402. package/es6/FrontApplet/Video/IVideoMessage.js +3 -0
  403. package/es6/FrontApplet/Video/IVideoMessage.js.map +1 -0
  404. package/es6/FrontApplet/Video/IVideoProperties.d.ts +8 -0
  405. package/es6/FrontApplet/Video/IVideoProperties.js +3 -0
  406. package/es6/FrontApplet/Video/IVideoProperties.js.map +1 -0
  407. package/es6/FrontApplet/Video/Video.d.ts +39 -0
  408. package/es6/FrontApplet/Video/Video.js +242 -0
  409. package/es6/FrontApplet/Video/Video.js.map +1 -0
  410. package/es6/FrontApplet/createFrontApplet.d.ts +2 -0
  411. package/es6/FrontApplet/createFrontApplet.js +9 -0
  412. package/es6/FrontApplet/createFrontApplet.js.map +1 -0
  413. package/es6/Monitoring/Console/consoleCommands.d.ts +6 -0
  414. package/es6/Monitoring/Console/consoleCommands.js +4 -0
  415. package/es6/Monitoring/Console/consoleCommands.js.map +1 -0
  416. package/es6/Monitoring/Html/htmlCommands.d.ts +9 -0
  417. package/es6/Monitoring/Html/htmlCommands.js +5 -0
  418. package/es6/Monitoring/Html/htmlCommands.js.map +1 -0
  419. package/es6/Monitoring/Montoring.d.ts +12 -0
  420. package/es6/Monitoring/Montoring.js +159 -0
  421. package/es6/Monitoring/Montoring.js.map +1 -0
  422. package/es6/Monitoring/Offline/Cache/offlineCacheCommands.d.ts +20 -0
  423. package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js +7 -0
  424. package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js.map +1 -0
  425. package/es6/Monitoring/Timing/timingCommands.d.ts +4 -0
  426. package/es6/Monitoring/Timing/timingCommands.js +4 -0
  427. package/es6/Monitoring/Timing/timingCommands.js.map +1 -0
  428. package/es6/Monitoring/Video/videoCommands.d.ts +10 -0
  429. package/es6/Monitoring/Video/videoCommands.js +4 -0
  430. package/es6/Monitoring/Video/videoCommands.js.map +1 -0
  431. package/es6/Monitoring/monitoringCommands.d.ts +8 -0
  432. package/es6/Monitoring/monitoringCommands.js +5 -0
  433. package/es6/Monitoring/monitoringCommands.js.map +1 -0
  434. package/es6/Sensors/IButton.d.ts +9 -0
  435. package/es6/Sensors/IButton.js +8 -0
  436. package/es6/Sensors/IButton.js.map +1 -0
  437. package/es6/Sensors/IRfidAntenna.d.ts +10 -0
  438. package/es6/Sensors/IRfidAntenna.js +8 -0
  439. package/es6/Sensors/IRfidAntenna.js.map +1 -0
  440. package/es6/bundle.d.ts +12 -0
  441. package/es6/bundle.js +13 -0
  442. package/es6/bundle.js.map +1 -0
  443. 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.