@signageos/front-applet 5.0.0-beta.9 → 5.1.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 (72) hide show
  1. package/CHANGELOG.md +50 -11
  2. package/dist/bundle.js +2 -2
  3. package/dist/bundle.js.map +1 -1
  4. package/docs/js-api/js-api-introduction.md +32 -22
  5. package/docs/js-api/js-applet-basics.md +6 -1
  6. package/docs/js-api/js-applet-resources.md +2 -2
  7. package/docs/js-api/js-browser.md +13 -7
  8. package/docs/js-api/js-file-system.md +89 -7
  9. package/docs/js-api/js-input.md +1 -1
  10. package/docs/js-api/js-loading-fonts.md +1 -1
  11. package/docs/js-api/js-monitoring-commands.md +1 -1
  12. package/docs/js-api/js-offline-cache-media-files.md +22 -10
  13. package/docs/js-api/js-offline-cache-simple-data.md +2 -2
  14. package/docs/js-api/js-sensors.md +1 -1
  15. package/docs/js-api/js-sync-playback.md +1 -1
  16. package/docs/js-api/js-video-inputs-internal-ports.md +1 -1
  17. package/docs/js-api/js-video-stream.md +2 -2
  18. package/docs/js-api/js-video.md +1 -1
  19. package/docs/management-api/10-js-management-application.md +3 -3
  20. package/docs/management-api/11-js-management-network.md +36 -1
  21. package/docs/management-api/13-js-management-wifi.md +4 -0
  22. package/docs/management-api/2-js-management-firmware.md +17 -3
  23. package/docs/management-api/5-js-management-screen.md +2 -2
  24. package/docs/management-api/6-js-management-time.md +18 -2
  25. package/docs/management-api/9-js-management-debug.md +2 -2
  26. package/es6/FrontApplet/Browser/Browser.d.ts +16 -6
  27. package/es6/FrontApplet/Browser/Browser.js +39 -12
  28. package/es6/FrontApplet/Browser/Browser.js.map +1 -1
  29. package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +8 -0
  30. package/es6/FrontApplet/Browser/IOpenLinkOptions.js +4 -0
  31. package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -1
  32. package/es6/FrontApplet/Browser/events.d.ts +15 -0
  33. package/es6/FrontApplet/Browser/events.js +14 -0
  34. package/es6/FrontApplet/Browser/events.js.map +1 -0
  35. package/es6/FrontApplet/Browser/messages.d.ts +5 -0
  36. package/es6/FrontApplet/Browser/messages.js +3 -0
  37. package/es6/FrontApplet/Browser/messages.js.map +1 -0
  38. package/es6/FrontApplet/Exchange/Exchange.d.ts +7 -0
  39. package/es6/FrontApplet/Exchange/Exchange.js +28 -0
  40. package/es6/FrontApplet/Exchange/Exchange.js.map +1 -0
  41. package/es6/FrontApplet/FileSystem/FileSystem.d.ts +1 -0
  42. package/es6/FrontApplet/FileSystem/FileSystem.js +10 -0
  43. package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -1
  44. package/es6/FrontApplet/FrontApplet.js +17 -7
  45. package/es6/FrontApplet/FrontApplet.js.map +1 -1
  46. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +30 -0
  47. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +92 -0
  48. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -0
  49. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.d.ts +5 -0
  50. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js +3 -0
  51. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js.map +1 -0
  52. package/es6/FrontApplet/Hardware/Hardware.d.ts +4 -1
  53. package/es6/FrontApplet/Hardware/Hardware.js +3 -0
  54. package/es6/FrontApplet/Hardware/Hardware.js.map +1 -1
  55. package/es6/FrontApplet/Management/INetworkInfo.d.ts +1 -0
  56. package/es6/FrontApplet/Management/INetworkInfo.js.map +1 -1
  57. package/es6/FrontApplet/Management/Network.d.ts +1 -0
  58. package/es6/FrontApplet/Management/Network.js +9 -0
  59. package/es6/FrontApplet/Management/Network.js.map +1 -1
  60. package/es6/FrontApplet/Management/Time.d.ts +18 -0
  61. package/es6/FrontApplet/Management/Time.js +16 -4
  62. package/es6/FrontApplet/Management/Time.js.map +1 -1
  63. package/es6/FrontApplet/Management/Wifi.d.ts +13 -1
  64. package/es6/FrontApplet/Management/Wifi.js +12 -1
  65. package/es6/FrontApplet/Management/Wifi.js.map +1 -1
  66. package/es6/FrontApplet/Management/helpers/SecurityHelper.js +1 -1
  67. package/es6/FrontApplet/Validate/Validate.js +1 -1
  68. package/es6/FrontApplet/Validate/Validate.js.map +1 -1
  69. package/es6/Monitoring/Montoring.js +1 -1
  70. package/es6/Monitoring/Montoring.js.map +1 -1
  71. package/package.json +5 -33
  72. package/docs/js-api/js-timing.md +0 -54
@@ -56,7 +56,7 @@ interface IRfidAntenna {
56
56
  ## Ready to use integrations
57
57
 
58
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).
59
+ For more information read [this article](https://docs.signageos.io/hc/en-us/articles/4405231196946-Supported-devices-for-Sensors-usage).
60
60
 
61
61
  ## Writing your own implementation
62
62
 
@@ -166,7 +166,7 @@ Since you never know which device is the master at the moment, you should always
166
166
  :::
167
167
 
168
168
  ## Usage with Typescript
169
- You can also use all these methods with [signageOS TypeScript](/knowledge-base/dev-tools-cli-typescript).
169
+ You can also use all these methods with [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
170
170
 
171
171
  ```typescript
172
172
  connect(syncServerUri?: string): Promise<void>;
@@ -103,7 +103,7 @@ API reacts to events related to changes in internal port status. Events are only
103
103
  :::
104
104
 
105
105
  ## Usage with Typescript
106
- You can also use all these methods with [signageOS TypeScript](/knowledge-base/dev-tools-cli-typescript).
106
+ You can also use all these methods with [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
107
107
  ```typescript
108
108
  onDisconnected(listener: (event: {
109
109
  type: 'disconnected';
@@ -27,7 +27,7 @@ Methods to play or stop video streams.
27
27
  :::
28
28
 
29
29
  ::: alert alert--warning
30
- Are you using **Samsung Tizen** to play streams? [Read more about limitation and Tizen-specific details](knowledge-base/stream-playback-on-tizen).
30
+ Are you using **Samsung Tizen** to play streams? [Read more about limitation and Tizen-specific details](https://docs.signageos.io/hc/en-us/articles/4405387373458).
31
31
  :::
32
32
 
33
33
  ## prepare()
@@ -185,7 +185,7 @@ Example event:
185
185
  ```
186
186
 
187
187
  ## Usage with Typescript
188
- You can also use all these methods with [signageOS TypeScript](/knowledge-base/dev-tools-cli-typescript).
188
+ You can also use all these methods with [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
189
189
  ```typescript
190
190
  interface StreamEvent {
191
191
  type: 'connected' | 'disconnected' | 'error',
@@ -222,7 +222,7 @@ await sos.video.onError((event) => { console.log(event); });
222
222
  ```
223
223
 
224
224
  ## Usage with Typescript
225
- You can also use all these methods with [signageOS TypeScript](/knowledge-base/dev-tools-cli-typescript).
225
+ You can also use all these methods with [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
226
226
 
227
227
  ```typescript
228
228
  play(
@@ -42,7 +42,7 @@ await sos.management.app.getType(); // Returns ex. sssp, android
42
42
  - `windows`
43
43
 
44
44
  ::: alert alert--info
45
- If you need to get specific Android brand or Raspberry Pi model, use the [Firmware API](api/js/management/4.10.3/2-js-management-firmware) `getType()`.
45
+ If you need to get specific Android brand or Raspberry Pi model, use the [Firmware API](api/js/management/latest/2-js-management-firmware) `getType()`.
46
46
  :::
47
47
 
48
48
  ## getVersion()
@@ -55,7 +55,7 @@ await sos.management.app.getVersion(); // Returns ex. 2.0.0
55
55
  ```
56
56
 
57
57
  ## upgrade()
58
- Method `upgrade()` will upgrade the [Core App](knowledge-base/application-version-and-release-policy) on the device.
58
+ Method `upgrade()` will upgrade the [Core App](https://docs.signageos.io/hc/en-us/articles/4405381466898) on the device.
59
59
 
60
60
 
61
61
  ### A) Upgrading signageOS Core App
@@ -92,7 +92,7 @@ await sos.management.app.upgrade('https://example.com/signageos-core-app.zip', '
92
92
  <br>
93
93
 
94
94
  ### B) Upgrading Open Core App with built-in Applet
95
- If you are [building your own Core App](/knowledge-base/open-standalone-signageos-provisioning) with the built-in Applet, use only one parameter `absolutePathUrl`.
95
+ If you are [building your own Core App](https://docs.signageos.io/hc/en-us/articles/4405245195666) with the built-in Applet, use only one parameter `absolutePathUrl`.
96
96
 
97
97
  The `absolutePathUrl` should point to the application file, e.g. `https://cdn.your-cms.com/rpi/linux_202006100815_1.0.1_779c303408.zip`.
98
98
 
@@ -23,6 +23,7 @@ Network management API allows you to manually set network interfaces or set back
23
23
  | `listInterfaces()` | Information about network interfaces | 4.9 |
24
24
  | `setManual()` | Allows you to set network settings manually | 4.0 |
25
25
  | `setDHCP()` | Allows you to set network settings automatically from DHCP | 4.0 |
26
+ | `disableInterface()` | Disables a network interface | 4.13 |
26
27
  :::
27
28
 
28
29
  ## getActiveInfo()
@@ -96,7 +97,8 @@ const interfaces = await sos.management.network.listInterfaces();
96
97
  {
97
98
  "type": "wifi",
98
99
  "name": "wlan0",
99
- "macAddress": "b8:27:eb:25:8f:63"
100
+ "macAddress": "b8:27:eb:25:8f:63",
101
+ "disabled": true,
100
102
  }
101
103
  ]
102
104
  ```
@@ -119,6 +121,11 @@ const interfaces = await sos.management.network.listInterfaces();
119
121
 
120
122
  ## setManual()
121
123
  Manually configures a network interface.
124
+ If the interface is disabled, it will be enabled.
125
+
126
+ ::: alert alert--warning
127
+ Wi-Fi interface can be configured with this method but it has to be first enabled via the [Wi-Fi API](/api/js/management/11-js-management-network).
128
+ :::
122
129
 
123
130
  ### Object properties
124
131
 
@@ -162,6 +169,11 @@ await sos.management.network.setManual({
162
169
 
163
170
  ## setDHCP()
164
171
  Configures a network interface to use DHCP to get an IP address asigned from the network.
172
+ If the interface is disabled, it will be enabled.
173
+
174
+ ::: alert alert--warning
175
+ Wi-Fi interface can be configured with this method but it has to be first enabled via the [Wi-Fi API](/api/js/management/11-js-management-network).
176
+ :::
165
177
 
166
178
  ### Object properties
167
179
 
@@ -183,3 +195,26 @@ await sos.management.network.setDHCP('eth0');
183
195
  // old way (deprecated)
184
196
  await sos.management.network.setDHCP('ethernet');
185
197
  ```
198
+
199
+ ## disableInterface()
200
+ Disables a network interface
201
+
202
+ ::: table-responsive
203
+ | Param | Type | Required | Description |
204
+ | --------------- | ------ | :------------------------: | ---------------------------------------------------- |
205
+ | `interfaceName` | String | <div class="red">Yes</div> | Name of the network interface, that will be disabled |
206
+ :::
207
+
208
+ ### Javascript example
209
+ ```javascript
210
+ await sos.management.wifi.disableInterface("eth0");
211
+ ```
212
+
213
+ ::: alert alert--info
214
+ A disabled network interface can be re-enabled simply by calling either `setDHCP()` or `setManual()`.
215
+ :::
216
+
217
+ ::: alert alert--warning
218
+ Don't use this method to disable Wi-Fi.
219
+ Use [Wi-Fi API](/api/js/management/11-js-management-network) to enable/disable Wi-Fi.
220
+ :::
@@ -191,6 +191,7 @@ It is only allowed to call this method in the **CLIENT** state.
191
191
  | ------------------- | ------ | :---------: | ---------------------------------- |
192
192
  | `ssid` | String | <div class="red">Yes</div> | Name of the network you want to connect to. |
193
193
  | `password` | String | <div class="yellow">No</div> | Network's password. |
194
+ | `options` | Object | <div class="yellow">No</div> | Additional options. |
194
195
  :::
195
196
 
196
197
  ### Javascript example
@@ -200,6 +201,9 @@ await sos.management.wifi.connect('network1');
200
201
 
201
202
  // or network with password
202
203
  await sos.management.wifi.connect('network2', 'password123');
204
+
205
+ // connect to a hidden network
206
+ await sos.management.wifi.connect('network3', 'password123', { hidden: true });
203
207
  ```
204
208
 
205
209
  ## disconnect()
@@ -31,21 +31,35 @@ Method `upgrade()` will upgrade current firmware version to a specified one.
31
31
  | -------------- | ----------------------| :-------: | -------------------- |
32
32
  | `baseUrl` | string | <div class="red">Yes</div> | Location of the FW package for specific device |
33
33
  |^^|^^|^^| `https://cdn.your-cms.com/tizen/pmf/fw/2080_4.bem` |
34
- | `version` | string | <div class="red">Yes</div> | FW version |
34
+ | `version` | string | <div class="yellow">No</div> | FW version |
35
35
  |^^|^^|^^| `T-HKMLAKUC-2080.4` |
36
+ | `(progress: number)` | callback | <div class="yellow">No</div> | FW progress upgrade |
36
37
  :::
37
38
 
38
39
  ### Javascript example
39
40
  ```javascript
40
41
  await sos.management.firmware.upgrade(
41
- '`https://cdn.your-cms.com/tizen/pmf/fw/2080_4.bem`',
42
- '`T-HKMLAKUC-2080.4`',
42
+ 'https://cdn.your-cms.com/tizen/pmf/fw/2080_4.bem',
43
+ 'T-HKMLAKUC-2080.4',
43
44
  (progress: number) => {
44
45
  console.log(progress + "%");
45
46
  }
46
47
  );
48
+
49
+ await sos.management.firmware.upgrade('https://cdn.your-cms.com/tizen/pmf/fw/2080_4.bem');
47
50
  ```
48
51
 
52
+ ::: alert alert--warning
53
+ Always check if your absolute firmware URL ends with firmware file.
54
+ Example: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw`
55
+ :::
56
+
57
+ ::: alert alert--info
58
+ For BrightSign firmware upgrade please ensure that you have txt file with SHA1 hash of that firmware file.
59
+ - Firmware file path: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw`
60
+ - SHA1 txt file: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw.sha1.txt`
61
+ :::
62
+
49
63
  <div class="row d-flex align-content-stretch force-padding-20">
50
64
  <div class="col-12 d-flex">
51
65
  <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/management-js-api/firmware/">
@@ -29,7 +29,7 @@ reboot any device once a day.
29
29
  | `setBrightness()` | Set screen brightness | 3.0.0 |
30
30
  | `getBrightness()` | Get current brightness value | 3.0.0 |
31
31
  | `powerOn()` | Turn `ON` the display (only the display) | 3.0.0 |
32
- | `powerOff()` | Turn `OFF` the display (only the display) | 3.0.0 |
32
+ | `powerOff()` | Turn `OFF` the display (only the display, except Android devices where it turns off the webview as well) | 3.0.0 |
33
33
  | `isPoweredOn()` | Check the display status | 3.0.0 |
34
34
  | `takeAndUploadScreenshot()` | Takes screenshot from the device and upload it to server | 3.0.0 |
35
35
  :::
@@ -54,7 +54,7 @@ Method `resize()` helps you manipulate with several aspects of your displays scr
54
54
  :::
55
55
 
56
56
  ::: alert alert--info
57
- For Tizen, you have to provide `baseUrl` which points to your server where you uploaded previously built Core App for Tizen with your buiult-in Applet. [Read more how to upload your Core Apps here.](https://docs.signageos.io/knowledge-base/open-standalone-signageos-provisioning#tizen-specific-installation-url).
57
+ For Tizen, you have to provide `baseUrl` which points to your server where you uploaded previously built Core App for Tizen with your buiult-in Applet. [Read more how to upload your Core Apps here.](https://docs.signageos.io/hc/en-us/articles/4405245195666).
58
58
  :::
59
59
 
60
60
  ### Javascript example
@@ -117,17 +117,33 @@ Calling `setManual()` will disable NTP server settings.
117
117
  ::: table-responsive
118
118
  | Param |Type | Required | Description |
119
119
  | -------------- | ---------- | :---------: | ------------------- |
120
- | `currentDate` | Date | <div class="red">Yes</div> | Datetime to set |
120
+ | `currentDate` | Date \| object | <div class="red">Yes</div> | Datetime to set |
121
121
  | `timezone` | String | <div class="red">Yes</div> | Timezone to set. Accepted values are timezone names from [timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). |
122
122
  :::
123
123
 
124
124
  ### Javascript example
125
125
  ```javascript
126
+ const datetimeObj = {
127
+ year: 2021,
128
+ month: 12,
129
+ day: 15,
130
+ hour: 9,
131
+ minute: 30,
132
+ seconds: 0,
133
+ };
134
+ const timezone = "Europe/Amsterdam";
135
+ await sos.management.time.setManual(datetimeObj, timezone);
136
+
137
+ // Using Date is deprecated. Use the example above.
126
138
  const currentDate = new Date();
127
139
  const timezone = "Europe/Amsterdam";
128
140
  await sos.management.time.setManual(currentDate, timezone);
129
141
  ```
130
142
 
143
+ ::: alert alert--warning
144
+ Calling this method with currentDate as Date is deprecated.
145
+ You should call it with datetime object instead. See example code.
146
+ :::
131
147
 
132
148
  ::: alert alert--warning
133
149
  Setting time and timezone has side effects:
@@ -161,6 +177,6 @@ Setting NTP server and timezone has side effects:
161
177
 
162
178
  | Platform | Side effect |
163
179
  | ----------- | -------------------------------------------- |
164
- | Tizen | After calling this API, display **Reboots**!<br/><br/> Tizen has [**limited set of available timezones**. Read more here.](knowledge-base/debugging-guides-tizen-timezones) |
180
+ | Tizen | After calling this API, display **Reboots**!<br/><br/> Tizen has [**limited set of available timezones**. Read more here.](https://docs.signageos.io/hc/en-us/articles/4405381271314) |
165
181
  | RaspberryPi | After calling this API, RPi **Reboots backend server which can take up to 60 seconds**!<br /> During the reboot no JS API is available.<br />Always wait for Promise resolution. |
166
182
  :::
@@ -24,7 +24,7 @@ Management API debug lets you enable and disable debug mode.
24
24
  :::
25
25
 
26
26
  ## enable()
27
- Method `enable()` enable the [Native debug](knowledge-base/using-weinre-for-debuging) on the device.
27
+ Method `enable()` enable the [Native debug](https://docs.signageos.io/hc/en-us/articles/4405238849938) on the device.
28
28
 
29
29
  ```javascript
30
30
  await sos.management.debug.enable();
@@ -47,7 +47,7 @@ await sos.management.debug.enable();
47
47
  </div>
48
48
 
49
49
  ## disable()
50
- Method `disable()` disable the [Native debug](knowledge-base/using-weinre-for-debuging) on the device.
50
+ Method `disable()` disable the [Native debug](https://docs.signageos.io/hc/en-us/articles/4405238849938) on the device.
51
51
 
52
52
  ```javascript
53
53
  await sos.management.debug.disable();
@@ -1,14 +1,24 @@
1
- import IPostMessage from '../IPostMessage';
2
1
  import { IDeprecatedOpenLinkOptions } from './IOpenLinkOptions';
3
2
  import IOpenLinkOptions from './IOpenLinkOptions';
3
+ import { CloseEvent } from './events';
4
+ import { IBrowserMessage } from './messages';
5
+ import Exchange from '../Exchange/Exchange';
4
6
  export default class Browser {
5
- private messagePrefix;
6
- private postMessage;
7
- static MESSAGE_PREFIX: string;
8
- constructor(messagePrefix: string, postMessage: IPostMessage<void>);
7
+ private readonly exchange;
8
+ private readonly events;
9
+ constructor(exchange: Exchange<void>);
9
10
  open(uri: string, options?: IOpenLinkOptions): Promise<void>;
10
11
  close(): Promise<void>;
12
+ /**
13
+ * Find out when the browser is closed.
14
+ * This can happen by an API call, by a user request or after a timeout.
15
+ *
16
+ * This doesn't fire between `open` calls or on subsequent `close` calls.
17
+ *
18
+ * @returns A callback which removes the listener.
19
+ */
20
+ onClose(listener: (event: CloseEvent) => void): () => void;
21
+ handleMessageData(data: IBrowserMessage): void;
11
22
  /** @deprecated use sos.browser.open() instead */
12
23
  openLink(uri: string, options?: IDeprecatedOpenLinkOptions): Promise<void>;
13
- private getMessage;
14
24
  }
@@ -11,38 +11,65 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const IOpenLinkOptions_1 = require("./IOpenLinkOptions");
13
13
  const Validate_1 = require("../Validate/Validate");
14
+ const events_1 = require("./events");
15
+ const events_2 = require("events");
14
16
  class Browser {
15
- constructor(messagePrefix, postMessage) {
16
- this.messagePrefix = messagePrefix;
17
- this.postMessage = postMessage;
17
+ constructor(exchange) {
18
+ this.exchange = exchange;
19
+ this.events = new events_2.EventEmitter();
18
20
  }
19
21
  open(uri, options = {}) {
22
+ var _a;
20
23
  return __awaiter(this, void 0, void 0, function* () {
21
24
  Validate_1.default({ uri }).required().uri();
22
25
  Validate_1.default({ options }).required().object(IOpenLinkOptions_1.VIOpenLinkOptions);
23
- yield this.postMessage(Object.assign({ type: this.getMessage('open'), uri }, options));
26
+ const headlessMode = (_a = options.headlessMode) !== null && _a !== void 0 ? _a : true;
27
+ yield this.exchange.postMessage(Object.assign(Object.assign({ uri }, options), { headlessMode, type: 'open' }));
24
28
  });
25
29
  }
26
30
  close() {
27
31
  return __awaiter(this, void 0, void 0, function* () {
28
- yield this.postMessage({
29
- type: this.getMessage('close'),
32
+ yield this.exchange.postMessage({
33
+ type: 'close',
30
34
  });
31
35
  });
32
36
  }
37
+ /**
38
+ * Find out when the browser is closed.
39
+ * This can happen by an API call, by a user request or after a timeout.
40
+ *
41
+ * This doesn't fire between `open` calls or on subsequent `close` calls.
42
+ *
43
+ * @returns A callback which removes the listener.
44
+ */
45
+ onClose(listener) {
46
+ Validate_1.default({ listener }).required().function();
47
+ this.events.addListener(events_1.EventType.CLOSE, listener);
48
+ return () => {
49
+ this.events.removeListener(events_1.EventType.CLOSE, listener);
50
+ };
51
+ }
52
+ handleMessageData(data) {
53
+ switch (data.type) {
54
+ case this.exchange.messageNameToType('closed'):
55
+ const event = {
56
+ type: events_1.EventType.CLOSE,
57
+ reason: data.reason,
58
+ };
59
+ this.events.emit(events_1.EventType.CLOSE, event);
60
+ break;
61
+ default:
62
+ }
63
+ }
33
64
  /** @deprecated use sos.browser.open() instead */
34
65
  openLink(uri, options = {}) {
35
66
  return __awaiter(this, void 0, void 0, function* () {
67
+ console.warn('sos.browser.openLink() is deprecated and will be removed in the future versions. Use sos.browser.open() instead.');
36
68
  Validate_1.default({ uri }).required().uri();
37
69
  Validate_1.default({ options }).required().object();
38
- console.warn('sos.browser.openLink() is deprecated and will be removed in the future versions. Use sos.browser.open() instead.');
39
- yield this.postMessage(Object.assign({ type: this.getMessage('open_link'), uri }, options));
70
+ yield this.exchange.postMessage(Object.assign(Object.assign({ uri }, options), { headlessMode: false, type: 'open_link' }));
40
71
  });
41
72
  }
42
- getMessage(name) {
43
- return this.messagePrefix + '.' + Browser.MESSAGE_PREFIX + '.' + name;
44
- }
45
73
  }
46
74
  exports.default = Browser;
47
- Browser.MESSAGE_PREFIX = 'browser';
48
75
  //# sourceMappingURL=Browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/Browser.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,yDAAmF;AAEnF,mDAA4C;AAE5C,MAAqB,OAAO;IAI3B,YACS,aAAqB,EACrB,WAA+B;QAD/B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAoB;IACrC,CAAC;IAES,IAAI,CAAC,GAAW,EAAE,UAA4B,EAAE;;YAC5D,kBAAQ,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACjC,kBAAQ,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,oCAAiB,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,WAAW,iBACrB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAC7B,GAAG,IACA,OAAO,EACT,CAAC;QACJ,CAAC;KAAA;IAEY,KAAK;;YACjB,MAAM,IAAI,CAAC,WAAW,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;aAC9B,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,iDAAiD;IACpC,QAAQ,CACpB,GAAW,EACX,UAAsC,EAAE;;YAExC,kBAAQ,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACjC,kBAAQ,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;YACjI,MAAM,IAAI,CAAC,WAAW,iBACrB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAClC,GAAG,IACA,OAAO,EACT,CAAC;QACJ,CAAC;KAAA;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;IACvE,CAAC;;AA1CF,0BA2CC;AAzCc,sBAAc,GAAW,SAAS,CAAC"}
1
+ {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/Browser.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,yDAAmF;AAEnF,mDAA4C;AAC5C,qCAA8D;AAC9D,mCAAsC;AAItC,MAAqB,OAAO;IAI3B,YACkB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;QAHzB,WAAM,GAAiB,IAAI,qBAAY,EAAE,CAAC;IAK3D,CAAC;IAEY,IAAI,CAAC,GAAW,EAAE,UAA4B,EAAE;;;YAC5D,kBAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACnC,kBAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,oCAAiB,CAAC,CAAC;YAE3D,MAAM,YAAY,SAAG,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,+BAC9B,GAAG,IACA,OAAO,KACV,YAAY,EACZ,IAAI,EAAE,MAAM,IACX,CAAC;;KACH;IAEY,KAAK;;YACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC/B,IAAI,EAAE,OAAO;aACb,CAAC,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;OAOG;IACI,OAAO,CAAC,QAAqC;QACnD,kBAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC;IACH,CAAC;IAEM,iBAAiB,CAAC,IAAqB;QAC7C,QAAQ,IAAI,CAAC,IAAI,EAAE;YAClB,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,KAAK,GAAe;oBACzB,IAAI,EAAE,kBAAS,CAAC,KAAK;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAqB;iBAClC,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACP,QAAQ;SACR;IACF,CAAC;IAED,iDAAiD;IACpC,QAAQ,CACpB,GAAW,EACX,UAAsC,EAAE;;YAExC,OAAO,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;YAEjI,kBAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACnC,kBAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,+BAC9B,GAAG,IACA,OAAO,KACV,YAAY,EAAE,KAAK,EACnB,IAAI,EAAE,WAAW,IAChB,CAAC;QACJ,CAAC;KAAA;CACD;AA3ED,0BA2EC"}
@@ -93,6 +93,7 @@ interface IOpenLinkOptions {
93
93
  aclDomains?: string[];
94
94
  aclMode?: 'blacklist' | 'whitelist';
95
95
  readOnlyAddressBar?: boolean;
96
+ idleTimeout?: number;
96
97
  coordinates?: {
97
98
  x: number;
98
99
  y: number;
@@ -100,6 +101,9 @@ interface IOpenLinkOptions {
100
101
  height: number;
101
102
  };
102
103
  theme?: ITheme;
104
+ headlessMode?: boolean;
105
+ clearData?: boolean;
106
+ canUserClose?: boolean;
103
107
  }
104
108
  export default IOpenLinkOptions;
105
109
  export declare const VIOpenLinkOptions: {
@@ -110,6 +114,7 @@ export declare const VIOpenLinkOptions: {
110
114
  '?string': string[];
111
115
  };
112
116
  readOnlyAddressBar: string;
117
+ idleTimeout: string;
113
118
  coordinates: {
114
119
  '?object': {
115
120
  x: string;
@@ -171,4 +176,7 @@ export declare const VIOpenLinkOptions: {
171
176
  };
172
177
  };
173
178
  };
179
+ headlessMode: string;
180
+ clearData: string;
181
+ canUserClose: string;
174
182
  };
@@ -43,6 +43,7 @@ exports.VIOpenLinkOptions = {
43
43
  aclDomains: { '?array': 'string' },
44
44
  aclMode: { '?string': ['blacklist', 'whitelist'] },
45
45
  readOnlyAddressBar: '?boolean',
46
+ idleTimeout: '?number',
46
47
  coordinates: { '?object': {
47
48
  x: 'number',
48
49
  y: 'number',
@@ -51,5 +52,8 @@ exports.VIOpenLinkOptions = {
51
52
  }
52
53
  },
53
54
  theme: { '?object': exports.VITheme },
55
+ headlessMode: '?boolean',
56
+ clearData: '?boolean',
57
+ canUserClose: '?boolean',
54
58
  };
55
59
  //# sourceMappingURL=IOpenLinkOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IOpenLinkOptions.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/IOpenLinkOptions.ts"],"names":[],"mappings":";;AAmCa,QAAA,OAAO,GAAG;IACtB,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAC;IACpC,KAAK,EAAE,EAAC,SAAS,EAAE;YACjB,UAAU,EAAE,SAAS;SACrB;KACD;IACD,MAAM,EAAE,EAAC,SAAS,EAAE;YAClB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAClB;KACD;IACD,OAAO,EAAE,EAAC,SAAS,EAAE;YACnB,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;yBACf;qBACD;iBACD;aACD;YACD,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;yBACf;qBACD;oBACD,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC;oBAC7D,IAAI,EAAE,SAAS;iBACf;aACD;YACD,QAAQ,EAAE,EAAC,SAAS,EAAE;oBACpB,KAAK,EAAE,SAAS;iBAChB;aACD;SACD;KACD;CACD,CAAC;AA0BW,QAAA,iBAAiB,GAAG;IAChC,UAAU,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC;IAChC,OAAO,EAAE,EAAC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAC;IAChD,kBAAkB,EAAE,UAAU;IAC9B,WAAW,EAAE,EAAC,SAAS,EAAE;YACvB,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,QAAQ;SAChB;KACD;IACD,KAAK,EAAE,EAAC,SAAS,EAAE,eAAO,EAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"IOpenLinkOptions.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/IOpenLinkOptions.ts"],"names":[],"mappings":";;AAmCa,QAAA,OAAO,GAAG;IACtB,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAC;IACpC,KAAK,EAAE,EAAC,SAAS,EAAE;YACjB,UAAU,EAAE,SAAS;SACrB;KACD;IACD,MAAM,EAAE,EAAC,SAAS,EAAE;YAClB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAClB;KACD;IACD,OAAO,EAAE,EAAC,SAAS,EAAE;YACnB,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;yBACf;qBACD;iBACD;aACD;YACD,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;yBACf;qBACD;oBACD,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC;oBAC7D,IAAI,EAAE,SAAS;iBACf;aACD;YACD,QAAQ,EAAE,EAAC,SAAS,EAAE;oBACpB,KAAK,EAAE,SAAS;iBAChB;aACD;SACD;KACD;CACD,CAAC;AA8BW,QAAA,iBAAiB,GAAG;IAChC,UAAU,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC;IAChC,OAAO,EAAE,EAAC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAC;IAChD,kBAAkB,EAAE,UAAU;IAC9B,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,EAAC,SAAS,EAAE;YACvB,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,QAAQ;SAChB;KACD;IACD,KAAK,EAAE,EAAC,SAAS,EAAE,eAAO,EAAC;IAC3B,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,UAAU;IACrB,YAAY,EAAE,UAAU;CACxB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare enum EventType {
2
+ CLOSE = "close"
3
+ }
4
+ export declare const VIEventType: string[];
5
+ export declare type Event<TType extends EventType = EventType> = {
6
+ type: TType;
7
+ };
8
+ export interface CloseEvent extends Event<EventType.CLOSE> {
9
+ reason: CloseReason;
10
+ }
11
+ export declare enum CloseReason {
12
+ API = "API",
13
+ USER = "USER",
14
+ TIMEOUT = "TIMEOUT"
15
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var EventType;
4
+ (function (EventType) {
5
+ EventType["CLOSE"] = "close";
6
+ })(EventType = exports.EventType || (exports.EventType = {}));
7
+ exports.VIEventType = ['close'];
8
+ var CloseReason;
9
+ (function (CloseReason) {
10
+ CloseReason["API"] = "API";
11
+ CloseReason["USER"] = "USER";
12
+ CloseReason["TIMEOUT"] = "TIMEOUT";
13
+ })(CloseReason = exports.CloseReason || (exports.CloseReason = {}));
14
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/events.ts"],"names":[],"mappings":";;AACA,IAAY,SAEX;AAFD,WAAY,SAAS;IACpB,4BAAe,CAAA;AAChB,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAEY,QAAA,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;AAUrC,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACpB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB"}
@@ -0,0 +1,5 @@
1
+ import IMessage from "../IMessage";
2
+ export declare type IBrowserMessage = IBrowserClosedMessage;
3
+ export declare type IBrowserClosedMessage = IMessage & {
4
+ reason: 'API' | 'USER' | 'TIMEOUT';
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import IPostMessage from "../../FrontApplet/IPostMessage";
2
+ export default interface Exchange<TResponse> {
3
+ postMessage: IPostMessage<TResponse>;
4
+ messageNameToType(name: string): string;
5
+ createNamespaced<TNamespacedResponse>(namespace: string): Exchange<TNamespacedResponse>;
6
+ }
7
+ export declare function createExchange<TResponse>(messagePrefix: string, postMessage: IPostMessage<any>): Exchange<TResponse>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ function createExchange(messagePrefix, postMessage) {
13
+ const messageNameToType = (name) => {
14
+ return [messagePrefix, name].join('.');
15
+ };
16
+ const typedPostMessage = (message) => __awaiter(this, void 0, void 0, function* () {
17
+ const type = messageNameToType(message.type);
18
+ message = Object.assign(Object.assign({}, message), { type });
19
+ return postMessage(message);
20
+ });
21
+ return {
22
+ messageNameToType,
23
+ postMessage: typedPostMessage,
24
+ createNamespaced: (namespace) => createExchange(messageNameToType(namespace), postMessage)
25
+ };
26
+ }
27
+ exports.createExchange = createExchange;
28
+ //# sourceMappingURL=Exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Exchange.js","sourceRoot":"","sources":["../../../src/FrontApplet/Exchange/Exchange.ts"],"names":[],"mappings":";;;;;;;;;;;AASA,SAAgB,cAAc,CAC7B,aAAqB,EACrB,WAA8B;IAE9B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC1C,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAO,OAAiB,EAAsB,EAAE;QACxE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,mCACH,OAAO,KACV,IAAI,GACJ,CAAC;QACF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAA,CAAC;IACF,OAAO;QACN,iBAAiB;QACjB,WAAW,EAAE,gBAAgB;QAC7B,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;KAClG,CAAC;AACH,CAAC;AApBD,wCAoBC"}
@@ -15,6 +15,7 @@ export default class FileSystem {
15
15
  exists(filePath: IFilePath): Promise<boolean>;
16
16
  getFile(filePath: IFilePath): Promise<IFile | null>;
17
17
  writeFile(filePath: IFilePath, contents: string): Promise<void>;
18
+ appendFile(filePath: IFilePath, contents: string): Promise<void>;
18
19
  readFile(filePath: IFilePath): Promise<string>;
19
20
  copyFile(sourceFilePath: IFilePath, destinationFilePath: IFilePath, options?: ICopyFileOptions): Promise<void>;
20
21
  moveFile(sourceFilePath: IFilePath, destinationFilePath: IFilePath, options?: IMoveFileOptions): Promise<void>;
@@ -78,6 +78,16 @@ class FileSystem {
78
78
  });
79
79
  });
80
80
  }
81
+ appendFile(filePath, contents) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ Validate_1.default({ filePath }).required().object(types_1.VIFilePath);
84
+ yield this.postMessage({
85
+ type: this.getMessage('append_file'),
86
+ filePath,
87
+ contents,
88
+ });
89
+ });
90
+ }
81
91
  readFile(filePath) {
82
92
  return __awaiter(this, void 0, void 0, function* () {
83
93
  Validate_1.default({ filePath }).required().object(types_1.VIFilePath);
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../../src/FrontApplet/FileSystem/FileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../../src/FrontApplet/FileSystem/FileSystem.ts"],"names":[],"mappings":"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"}