@signageos/front-applet 6.5.7 → 6.7.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.
@@ -21,6 +21,7 @@ Information set to the device using the CloudControl - e.g. Location and Tags.
21
21
  | ----------------- | ------------------ | :---------------: |
22
22
  | `getLocation()` | Returns location when assigned to device | 5.2.0 |
23
23
  | `getOrganizationTags()` | Returns list of organization tags when some assigned to device | 5.2.0
24
+ | `getDeviceName()` | Returns name of device | 6.6.0 |
24
25
 
25
26
  ## getLocation()
26
27
  Location is requested from server on application start, automatically updated when changed and persists in local storage.
@@ -273,7 +273,8 @@ For every download request, our app makes HEAD request for `content-length` head
273
273
  :::
274
274
 
275
275
  :::warning
276
- `headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
276
+ - `headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
277
+ - Windows platform can download only files smaller then 4GB.
277
278
  :::
278
279
 
279
280
  ### Javascript Example
@@ -31,8 +31,9 @@ Sync API enables multiple devices to communicate and coordinate their behavior w
31
31
  | `cancelWait()` | Cancel pending waits | 5.12.0 |
32
32
  | `setValue()` | Broadcast values for all master devices (**DEPRECATED**) | 2.0.0 |
33
33
  | `broadcastValue()` | Used for broadcast values for all master devices | 5.7.0 |
34
+ | `isMaster()` | Determine if device is master of the sync group | 6.7.0 |
34
35
  | `onValue()` | Event called when device receives value broadcasted by another device in the network | 2.0.0 |
35
- | `onStatus()` | Event called when device is connected and periodic every 30s from sync server - report connected devices | 2.1.0 |
36
+ | `onStatus()` | Peridocally emits event with information about sync group - connected devices and master status | 2.1.0 |
36
37
  | `onClosed()` | Event called when synchronizer is closed | 5.12.0 |
37
38
 
38
39
  :::note[GitHub Example]
@@ -257,22 +258,53 @@ await sos.sync.onValue((key, value, groupName) => {
257
258
 
258
259
  <br/>
259
260
 
260
- ## Event onStatus()
261
- Is used for receiving information about connected device to sync server. Emitted every 30s, or when device connect or disconnect from server.
261
+ ## isMaster()
262
+ Returns true, if device is master of the sync group.
263
+
264
+ ### Parameters
265
+
266
+ | Param |Type | Required | Description |
267
+ | -------------- | --------- | :------: | ------------------- |
268
+ | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name has to be passed as the third argument |
269
+
270
+ ### Javascript example
271
+ ```javascript
272
+ const isMaster = await sos.sync.isMaster('some-group');
273
+ ```
262
274
 
275
+ :::info
276
+ Different devices can become masters at different times. Also the same device may be master in one group but slave in another.
277
+ :::
278
+
279
+ ## Event onValue()
280
+ Every device should register a listener to receive and process broadcasted values.
263
281
 
264
282
  ### Javascript example
265
283
  ```javascript
266
- await sos.sync.onStatus((connectedPeers) => {
284
+ sos.sync.onValue((key, value, groupName) => {
267
285
  // do something with the new value
268
286
  });
269
287
  ```
270
288
 
271
289
  <br/>
272
290
 
273
- :::info
274
- Since you never know which device is the master at the moment, you should always rely only on the values received by the listener, not the values that the particular device itself is broadcasting.
275
- :::
291
+ ## Event onStatus()
292
+ Used for receiving information about the sync groups that the device is a member of. Emits periodically or whenever there is a change (i.e. new device connects/disconnects to/from the group).
293
+
294
+ Status contains the following properties:
295
+ - `status.groupName` - name of the group
296
+ - `status.connectedPeers` - array of device identifications connected to the group
297
+ - `status.isMaster` - boolean, true if device is currently master of the group (this may change over time)
298
+
299
+ ### Javascript example
300
+ ```javascript
301
+ sos.sync.onStatus((status) => {
302
+ // do something with the new value
303
+ const connectedPeers = status.connectedPeers;
304
+ const groupName = status.groupName;
305
+ const isMaster = status.isMaster;
306
+ });
307
+ ```
276
308
 
277
309
  ## Event onClosed()
278
310
  Emitted when synchronizer is closed for whatever reason.
@@ -282,7 +314,7 @@ if it closed because of an error, it will emit with an error object as the first
282
314
 
283
315
  ### Javascript example
284
316
  ```javascript
285
- await sos.sync.onClosed((error) => {
317
+ sos.sync.onClosed((error) => {
286
318
  if (error) {
287
319
  console.error('Synchronizer closed with an error', error);
288
320
  } else {
@@ -296,34 +328,44 @@ You can also use all these methods with [signageOS TypeScript](https://docs.sign
296
328
 
297
329
  ```typescript
298
330
  connect(syncServerUri?: string): Promise<void>;
331
+
299
332
  close(): Promise<void>;
333
+
300
334
  /** @deprecated use joinGroup */
301
335
  init(groupName?: string, deviceIdentification?: string): Promise<void>;
336
+
302
337
  joinGroup(args: {
303
338
  groupName?: string;
304
339
  deviceIdentification?: string;
305
340
  }): Promise<void>;
341
+
306
342
  wait(data?: any, groupName?: string): Promise<any>;
343
+
307
344
  cancelWait(groupName?: string): Promise<void>;
345
+
308
346
  /** @deprecated use broadcastValue */
309
347
  setValue(key: string, value: any, groupName?: string): Promise<void>;
348
+
310
349
  broadcastValue(args: {
311
350
  groupName?: string;
312
351
  key: string;
313
352
  value: any;
314
353
  }): Promise<void>;
315
- ```
316
- ```typescript
354
+
355
+ isMaster(groupName?: string): Promise<boolean>;
356
+
317
357
  onValue(listener: (
318
358
  key: string,
319
359
  value: any,
320
360
  groupName?: string
321
361
  ) => void): void;
322
362
 
323
- onStatus(listener: (
324
- connectedPeers: string[],
325
- groupName?: string
326
- ) => void): void;
363
+ onStatus(listener: (status: {
364
+ groupName: string;
365
+ connectedPeers: string[];
366
+ isMaster: boolean;
367
+ }) => void): void;
368
+
327
369
  onClosed(listener: (
328
370
  error?: Error;
329
371
  ) => void): void;
@@ -7,5 +7,7 @@ export default class DeviceInfo {
7
7
  constructor(messagePrefix: string, postMessage: IPostMessage<any>);
8
8
  getLocation(): Promise<IDeviceLocation | null>;
9
9
  getOrganizationTags(): Promise<IOrganizationTag[]>;
10
+ getDeviceName(): Promise<string>;
10
11
  private getMessage;
12
+ private geDeviceNameFromTittle;
11
13
  }
@@ -26,9 +26,22 @@ class DeviceInfo {
26
26
  return tags;
27
27
  });
28
28
  }
29
+ getDeviceName() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const deviceName = this.geDeviceNameFromTittle();
32
+ return deviceName;
33
+ });
34
+ }
29
35
  getMessage(name) {
30
36
  return [this.messagePrefix, DeviceInfo.MESSAGE_PREFIX, name].join('.');
31
37
  }
38
+ geDeviceNameFromTittle() {
39
+ var _a;
40
+ const rootDocument = window.parent.document;
41
+ const titleElement = rootDocument.head.getElementsByTagName('title')[0];
42
+ const parentElement = titleElement.parentElement;
43
+ return (_a = parentElement.getElementsByTagName('title')[0].innerHTML) !== null && _a !== void 0 ? _a : '';
44
+ }
32
45
  }
33
46
  exports.default = DeviceInfo;
34
47
  DeviceInfo.MESSAGE_PREFIX = 'device_info';
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../src/FrontApplet/DeviceInfo/DeviceInfo.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAqB,UAAU;IAG9B,YAAoB,aAAqB,EAAU,WAA8B;QAA7D,kBAAa,GAAb,aAAa,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAmB;IAAG,CAAC;IAExE,WAAW;;YACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;IAEY,mBAAmB;;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;;AAjBF,6BAkBC;AAjBc,yBAAc,GAAW,aAAa,CAAC"}
1
+ {"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../src/FrontApplet/DeviceInfo/DeviceInfo.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAqB,UAAU;IAG9B,YAAoB,aAAqB,EAAU,WAA8B;QAA7D,kBAAa,GAAb,aAAa,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAmB;IAAG,CAAC;IAExE,WAAW;;YACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;IAEY,mBAAmB;;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;IAEY,aAAa;;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,OAAO,UAAU,CAAC;QACnB,CAAC;KAAA;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IAEO,sBAAsB;;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,YAAY,CAAC,aAAc,CAAC;QAClD,OAAO,MAAA,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,mCAAI,EAAE,CAAC;IACvE,CAAC;;AA7BF,6BA8BC;AA7Bc,yBAAc,GAAW,aAAa,CAAC"}
@@ -43,6 +43,12 @@ export default class Sync {
43
43
  key: string;
44
44
  value: any;
45
45
  }): Promise<void>;
46
+ /**
47
+ * Returns true if the device is currently the master of the group.
48
+ *
49
+ * @param groupName The group name to check for master status. Defaults to the default group.
50
+ */
51
+ isMaster(groupName?: string): Promise<boolean>;
46
52
  onValue(listener: (key: string, value: any, groupName?: string) => void): void;
47
53
  onStatus(listener: (status: StatusEvent) => void): void;
48
54
  onClosed(listener: (error?: Error) => void): void;
@@ -135,6 +135,20 @@ class Sync {
135
135
  });
136
136
  });
137
137
  }
138
+ /**
139
+ * Returns true if the device is currently the master of the group.
140
+ *
141
+ * @param groupName The group name to check for master status. Defaults to the default group.
142
+ */
143
+ isMaster(groupName) {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const { isMaster } = yield this.postMessage({
146
+ type: this.getMessage('is_master'),
147
+ groupName: groupName !== null && groupName !== void 0 ? groupName : Sync.DEFAULT_GROUP_NAME,
148
+ });
149
+ return isMaster;
150
+ });
151
+ }
138
152
  onValue(listener) {
139
153
  Validate_1.default({ listener }).required().function();
140
154
  this.eventEmitter.addListener(SyncEvent.BroadcastedValue, (event) => {
@@ -147,6 +161,7 @@ class Sync {
147
161
  listener({
148
162
  connectedPeers: event.connectedPeers,
149
163
  groupName: event.groupName === Sync.DEFAULT_GROUP_NAME ? undefined : event.groupName,
164
+ isMaster: event.isMaster,
150
165
  });
151
166
  });
152
167
  }
@@ -155,6 +170,7 @@ class Sync {
155
170
  this.eventEmitter.addListener(SyncEvent.Closed, listener);
156
171
  }
157
172
  handleMessageData(data) {
173
+ var _a;
158
174
  switch (data.type) {
159
175
  case this.getMessage(syncMessages_1.SyncMessageType.BroadcastedValue):
160
176
  const broadcastedValueMessage = data;
@@ -170,6 +186,7 @@ class Sync {
170
186
  const statusEvent = {
171
187
  connectedPeers: statusMessage.connectedPeers,
172
188
  groupName: statusMessage.groupName,
189
+ isMaster: (_a = statusMessage.isMaster) !== null && _a !== void 0 ? _a : false, // backwards compatibility with older core apps that don't send isMaster
173
190
  };
174
191
  this.eventEmitter.emit(SyncEvent.Status, statusEvent);
175
192
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"Sync.js","sourceRoot":"","sources":["../../../src/FrontApplet/Sync/Sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sync.js","sourceRoot":"","sources":["../../../src/FrontApplet/Sync/Sync.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export interface StatusEvent {
2
2
  connectedPeers: string[];
3
3
  groupName?: string;
4
+ isMaster: boolean;
4
5
  }
5
6
  export interface BroadcastedValueEvent {
6
7
  groupName: string;
@@ -12,6 +12,7 @@ export interface BroadcastedValueMessage extends IMessage {
12
12
  export interface StatusMessage extends IMessage {
13
13
  connectedPeers: string[];
14
14
  groupName?: string;
15
+ isMaster?: boolean;
15
16
  }
16
17
  export interface ClosedMessage extends IMessage {
17
18
  error?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signageos/front-applet",
3
- "version": "6.5.7",
3
+ "version": "6.7.0",
4
4
  "main": "dist/bundle.js",
5
5
  "types": "es6/bundle.d.ts",
6
6
  "files": [
@@ -27,7 +27,7 @@
27
27
  "test:coverage:types": "tsc --noEmit -p tsconfig.json",
28
28
  "escheck": "es-check --module es5 dist/*.js",
29
29
  "check": "npm run depcheck && npx --userconfig ./.npmrc @signageos/lib check-deps '.+' 'weinre'",
30
- "depcheck": "depcheck --specials=tslint,webpack,mocha --parsers='*.ts:typescript,*.js:es6' --detectors='requireCallExpression,importDeclaration' --ignore-dirs='dist,packages' --ignores='@types/*,@signageos/codestyle,ts-node,source-map-support,mocha,depcheck,webpack-cli,@babel/polyfill,@babel/preset-env,es-check,debug,husky,lint-staged,c8,should-sinon,weinre,faker,should,sinon'"
30
+ "depcheck": "depcheck --specials=tslint,webpack,mocha --parsers='*.ts:typescript,*.js:es6' --detectors='requireCallExpression,importDeclaration' --ignore-dirs='dist,packages' --ignores='@types/*,@signageos/codestyle,ts-node,source-map-support,mocha,depcheck,webpack-cli,@babel/polyfill,@babel/preset-env,es-check,debug,husky,lint-staged,c8,should-sinon,faker,should,sinon'"
31
31
  },
32
32
  "repository": {
33
33
  "url": "git@gitlab.com:signageos/front-applet",
@@ -64,7 +64,8 @@
64
64
  "tslint": "5.4.3",
65
65
  "typescript": "4.3.5",
66
66
  "webpack": "4.39.2",
67
- "webpack-cli": "3.3.7"
67
+ "webpack-cli": "3.3.7",
68
+ "weinre": "2.0.0-pre-I0Z7U9OV"
68
69
  },
69
70
  "engines": {
70
71
  "node": ">=12.0.0",
@@ -78,7 +79,6 @@
78
79
  "engine-strict": false,
79
80
  "author": "signageOS <dev@signageos.io>",
80
81
  "license": "MIT",
81
- "dependencies": {},
82
82
  "publishConfig": {
83
83
  "registry": "https://registry.npmjs.org/",
84
84
  "access": "public"