@openremote/core 1.0.2 → 1.2.0-snapshot.20240512155932
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -8
- package/dist/umd/index.bundle.js +2 -0
- package/dist/umd/index.bundle.js.LICENSE.txt +26 -0
- package/dist/umd/index.js +2 -0
- package/dist/umd/index.js.LICENSE.txt +22 -0
- package/dist/umd/index.orbundle.js +50 -0
- package/dist/umd/index.orbundle.js.LICENSE.txt +38 -0
- package/lib/asset-mixin.d.ts +46 -0
- package/lib/asset-mixin.js +1 -0
- package/lib/asset-mixin.js.map +1 -0
- package/{dist → lib}/console.d.ts +21 -12
- package/lib/console.js +1 -0
- package/lib/console.js.map +1 -0
- package/lib/defaults.d.ts +15 -0
- package/lib/defaults.js +1 -0
- package/lib/defaults.js.map +1 -0
- package/{dist → lib}/event.d.ts +30 -16
- package/lib/event.js +1 -0
- package/lib/event.js.map +1 -0
- package/lib/index.d.ts +150 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -0
- package/lib/util.d.ts +92 -0
- package/lib/util.js +1 -0
- package/lib/util.js.map +1 -0
- package/package.json +31 -14
- package/dist/asset-mixin.d.ts +0 -25
- package/dist/asset-mixin.js +0 -115
- package/dist/asset-mixin.js.map +0 -1
- package/dist/console.js +0 -446
- package/dist/console.js.map +0 -1
- package/dist/event.js +0 -454
- package/dist/event.js.map +0 -1
- package/dist/index.d.ts +0 -137
- package/dist/index.js +0 -683
- package/dist/index.js.map +0 -1
- package/dist/util.d.ts +0 -17
- package/dist/util.js +0 -72
- package/dist/util.js.map +0 -1
- package/src/asset-mixin.ts +0 -132
- package/src/console.d.ts +0 -56
- package/src/console.js +0 -451
- package/src/console.js.map +0 -1
- package/src/console.ts +0 -530
- package/src/event.d.ts +0 -75
- package/src/event.js +0 -410
- package/src/event.js.map +0 -1
- package/src/event.ts +0 -584
- package/src/index.d.ts +0 -110
- package/src/index.js +0 -525
- package/src/index.js.map +0 -1
- package/src/index.ts +0 -803
- package/src/util.d.ts +0 -15
- package/src/util.js +0 -46
- package/src/util.js.map +0 -1
- package/src/util.ts +0 -94
- package/tsconfig.json +0 -14
- package/tsconfig.tsbuildinfo +0 -9788
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Platform.js v1.3.6
|
|
3
|
+
* Copyright 2014-2020 Benjamin Tan
|
|
4
|
+
* Copyright 2011-2013 John-David Dalton
|
|
5
|
+
* Available under MIT license
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @license
|
|
10
|
+
* Copyright 2017 Google LLC
|
|
11
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @license
|
|
16
|
+
* Copyright 2021 Google LLC
|
|
17
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
22
|
+
*
|
|
23
|
+
* @version 0.10.1
|
|
24
|
+
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
25
|
+
* @copyright Chen, Yi-Cyuan 2014-2023
|
|
26
|
+
* @license MIT
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**!
|
|
30
|
+
* url-search-params-polyfill
|
|
31
|
+
*
|
|
32
|
+
* @author Jerry Bendy (https://github.com/jerrybendy)
|
|
33
|
+
* @licence MIT
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
//! moment.js
|
|
37
|
+
|
|
38
|
+
//! moment.js locale configuration
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EventProviderFactory, EventProviderStatus } from "./event";
|
|
2
|
+
import { AttributeRef, SharedEvent, EventRequestResponseWrapper } from "@openremote/model";
|
|
3
|
+
declare type Constructor<T = {}> = new (...args: any[]) => T;
|
|
4
|
+
interface CustomElement {
|
|
5
|
+
requestUpdate(name?: PropertyKey, oldValue?: unknown): void;
|
|
6
|
+
connectedCallback?(): void;
|
|
7
|
+
disconnectedCallback?(): void;
|
|
8
|
+
readonly isConnected: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const subscribe: (eventProviderFactory: EventProviderFactory) => <T extends Constructor<CustomElement>>(base: T) => {
|
|
11
|
+
new (...args: any[]): {
|
|
12
|
+
_connectRequested: boolean;
|
|
13
|
+
_subscriptionIds?: string[] | undefined;
|
|
14
|
+
_assetIds?: string[] | undefined;
|
|
15
|
+
_attributeRefs?: AttributeRef[] | undefined;
|
|
16
|
+
_status: EventProviderStatus;
|
|
17
|
+
_statusCallback: (status: EventProviderStatus) => void;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
disconnectedCallback(): void;
|
|
20
|
+
connectEvents(): void;
|
|
21
|
+
disconnectEvents(): void;
|
|
22
|
+
_doConnect(): Promise<void>;
|
|
23
|
+
readonly eventsConnected: boolean;
|
|
24
|
+
_onEventProviderStatusChanged(status: EventProviderStatus): void;
|
|
25
|
+
_onEventsConnect(): void;
|
|
26
|
+
_onEventsDisconnect(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Defaults to subscribe to attribute events and optionally asset events, override in subclasses to do
|
|
29
|
+
* custom subscriptions.
|
|
30
|
+
* Returns the subscription IDs of any created subscriptions
|
|
31
|
+
*/
|
|
32
|
+
_addEventSubscriptions(): Promise<void>;
|
|
33
|
+
_removeEventSubscriptions(): void;
|
|
34
|
+
_refreshEventSubscriptions(): void;
|
|
35
|
+
assetIds: string[] | undefined;
|
|
36
|
+
attributeRefs: AttributeRef[] | undefined;
|
|
37
|
+
_sendEvent(event: SharedEvent): void;
|
|
38
|
+
_sendEventWithReply<U extends SharedEvent, V extends SharedEvent>(event: EventRequestResponseWrapper<U>): Promise<V>;
|
|
39
|
+
onEventsConnect(): void;
|
|
40
|
+
onEventsDisconnect(): void;
|
|
41
|
+
_onEvent(event: SharedEvent): void;
|
|
42
|
+
requestUpdate(name?: PropertyKey, oldValue?: unknown): void;
|
|
43
|
+
readonly isConnected: boolean;
|
|
44
|
+
};
|
|
45
|
+
} & T;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,e,s,n){return new(s||(s=Promise))((function(i,r){function o(t){try{u(n.next(t))}catch(t){r(t)}}function c(t){try{u(n.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof s?e:new s((function(t){t(e)}))).then(o,c)}u((n=n.apply(t,e||[])).next())}))};import{EventProviderStatus}from"./event";import{objectsEqual}from"./util";import{Util}from".";export const subscribe=t=>e=>class extends e{constructor(){super(...arguments),this._connectRequested=!1,this._status=EventProviderStatus.DISCONNECTED,this._statusCallback=t=>this._onEventProviderStatusChanged(t)}connectedCallback(){super.connectedCallback&&super.connectedCallback(),this.connectEvents()}disconnectedCallback(){this.disconnectEvents(),super.disconnectedCallback&&super.disconnectedCallback()}connectEvents(){t.getEventProvider()?this._connectRequested||(this._connectRequested=!0,t.getEventProvider().subscribeStatusChange(this._statusCallback),this._doConnect()):console.log("No event provider available so cannot subscribe")}disconnectEvents(){this._connectRequested&&(this._connectRequested=!1,t.getEventProvider().unsubscribeStatusChange(this._statusCallback),this._onEventsDisconnect())}_doConnect(){return __awaiter(this,void 0,void 0,(function*(){this.eventsConnected&&this._onEventsConnect()}))}get eventsConnected(){return this._connectRequested&&t.getEventProvider().status===EventProviderStatus.CONNECTED}_onEventProviderStatusChanged(t){switch(t){case EventProviderStatus.DISCONNECTED:this._onEventsDisconnect();break;case EventProviderStatus.CONNECTED:this._doConnect()}}_onEventsConnect(){this._addEventSubscriptions(),this.onEventsConnect()}_onEventsDisconnect(){this._removeEventSubscriptions(),this.onEventsDisconnect()}_addEventSubscriptions(){return __awaiter(this,void 0,void 0,(function*(){const e=!!this._attributeRefs,s=!!this._assetIds,n=this._attributeRefs?this._attributeRefs:this._assetIds;if(n&&n.length>0){if(this._subscriptionIds=[],s){const e=yield t.getEventProvider().subscribeAssetEvents(n,!0,(t=>this._onEvent(t))),s=this._attributeRefs?this._attributeRefs:this._assetIds;if(!this._subscriptionIds||!Util.objectsEqual(n,s))return void t.getEventProvider().unsubscribe(e);this._subscriptionIds.push(e)}const i=yield t.getEventProvider().subscribeAttributeEvents(n,e,(t=>this._onEvent(t))),r=this._attributeRefs?this._attributeRefs:this._assetIds;if(!this._subscriptionIds||!Util.objectsEqual(n,r))return void t.getEventProvider().unsubscribe(i);this._subscriptionIds.push(i)}}))}_removeEventSubscriptions(){this._subscriptionIds&&(this._subscriptionIds.forEach((e=>{t.getEventProvider().unsubscribe(e)})),this._subscriptionIds=void 0)}_refreshEventSubscriptions(){this._removeEventSubscriptions(),this._addEventSubscriptions()}set assetIds(t){objectsEqual(this._assetIds,t)||(this._assetIds=t,this._refreshEventSubscriptions(),this.requestUpdate("assetIds"))}get assetIds(){return this._assetIds}set attributeRefs(t){objectsEqual(this._attributeRefs,t)||(this._attributeRefs=t,this._refreshEventSubscriptions())}get attributeRefs(){return this._attributeRefs}_sendEvent(e){t.getEventProvider().sendEvent(e)}_sendEventWithReply(e){return t.getEventProvider().sendEventWithReply(e)}onEventsConnect(){}onEventsDisconnect(){}_onEvent(t){}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-mixin.js","sourceRoot":"","sources":["../src/asset-mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { ConsoleRegistration } from "@openremote/model";
|
|
2
|
-
|
|
1
|
+
import { ConsoleProvider, ConsoleRegistration } from "@openremote/model";
|
|
2
|
+
import { Deferred } from "./util";
|
|
3
|
+
export interface ProviderAction {
|
|
3
4
|
provider: string;
|
|
4
5
|
action: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProviderMessage extends ProviderAction {
|
|
5
8
|
data?: any;
|
|
6
9
|
[x: string]: any;
|
|
7
10
|
}
|
|
@@ -19,28 +22,34 @@ export declare class Console {
|
|
|
19
22
|
protected _initialised: boolean;
|
|
20
23
|
protected _initialiseInProgress: boolean;
|
|
21
24
|
protected _pendingProviderPromises: {
|
|
22
|
-
[name: string]:
|
|
25
|
+
[name: string]: [Deferred<any>, number];
|
|
26
|
+
};
|
|
27
|
+
protected _providerMessageListeners: {
|
|
28
|
+
[name: string]: (msg: ProviderMessage) => void;
|
|
23
29
|
};
|
|
24
30
|
protected _pendingProviderEnables: string[];
|
|
25
31
|
protected _enableCompleteCallback: (() => void) | null;
|
|
26
32
|
protected _registrationTimer: number | null;
|
|
27
33
|
constructor(realm: string, autoEnable: boolean, enableComplete: () => void);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
get registration(): ConsoleRegistration;
|
|
35
|
+
get autoEnable(): boolean;
|
|
36
|
+
get pendingProviderEnables(): string[];
|
|
37
|
+
get shellApple(): boolean;
|
|
38
|
+
get shellAndroid(): boolean;
|
|
39
|
+
get isMobile(): boolean;
|
|
34
40
|
initialise(): Promise<void>;
|
|
35
41
|
enableProviders(): Promise<void>;
|
|
36
42
|
enableProvider(providerName: string, data?: any): Promise<ProviderEnableResponse>;
|
|
37
43
|
disableProvider(provider: string): Promise<ProviderMessage>;
|
|
44
|
+
getProvider(name: string): ConsoleProvider | undefined;
|
|
38
45
|
sendProviderMessage(message: ProviderMessage, waitForResponse: boolean): Promise<any | null>;
|
|
39
46
|
sendRegistration(delay?: number): Promise<void>;
|
|
40
|
-
storeData(key: string, value:
|
|
41
|
-
retrieveData(key: string): Promise<
|
|
47
|
+
storeData(key: string, value: any): void;
|
|
48
|
+
retrieveData<T>(key: string): Promise<T | undefined>;
|
|
49
|
+
addProviderMessageListener(providerAction: ProviderAction, listener: (msg: ProviderMessage) => void): void;
|
|
50
|
+
removeProviderMessageListener(providerAction: ProviderAction): void;
|
|
42
51
|
protected _postNativeShellMessage(jsonMessage: any): any;
|
|
43
|
-
|
|
52
|
+
_doSendProviderMessage(msg: any): void;
|
|
44
53
|
protected _handleProviderResponse(msg: any): void;
|
|
45
54
|
protected _callCompletedCallback(): void;
|
|
46
55
|
protected static _createConsoleRegistration(): ConsoleRegistration;
|
package/lib/console.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,i,r,s){return new(r||(r=Promise))((function(t,o){function n(e){try{d(s.next(e))}catch(e){o(e)}}function a(e){try{d(s.throw(e))}catch(e){o(e)}}function d(e){var i;e.done?t(e.value):(i=e.value,i instanceof r?i:new r((function(e){e(i)}))).then(n,a)}d((s=s.apply(e,i||[])).next())}))};import manager from"./index";import{Deferred}from"./util";let platform=require("platform");export class Console{constructor(e,i,r){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=e,this._autoEnable=i,this._enableCompleteCallback=r,window.OpenRemoteConsole=this;let s=new URLSearchParams(window.location.search),t=s.get("consoleName"),o=s.get("consoleVersion"),n=s.get("consolePlatform"),a=s.get("consoleProviders"),d=s.get("consoleAutoEnable"),l=a&&a.length>0?a.split(" "):["push","storage"];l.indexOf("storage")<0&&l.push("storage"),this._pendingProviderEnables=l;let p=Console._createConsoleRegistration(),g=window.localStorage.getItem("OpenRemoteConsole:"+e);if(g)try{let e=JSON.parse(g);e.id&&(p.id=e.id),e.name&&(p.name=e.name),e.providers&&(p.providers=e.providers),e.apps&&(p.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let h=p.providers;p.providers={};for(let e of l){let i=h&&h.hasOwnProperty(e)?h[e]:{enabled:!1,disabled:!1};p.providers[e]=i}let v=manager.getAppName();v.length>0&&p.apps.indexOf(v)<0&&p.apps.push(v),this._registration=p,t&&(p.name=t),o&&(p.version=o),n&&(p.platform=n),d&&(this._autoEnable="TRUE"===d||"true"===d)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){const e=navigator.userAgentData&&navigator.userAgentData.platform?navigator.userAgentData.platform:navigator.platform;return e&&("iP"===e.substring(0,2)||"Mac"===e.substring(0,3))&&window.webkit&&window.webkit.messageHandlers}get shellAndroid(){return!!window.MobileInterface}get isMobile(){return this.shellApple||this.shellAndroid}initialise(){return __awaiter(this,void 0,void 0,(function*(){if(!this._initialised&&!this._initialiseInProgress){console.debug("Console: initialising"),this._initialiseInProgress=!0;try{if(this._registration.providers)for(let e of Object.keys(this._registration.providers))yield this._initialiseProvider(e);this._registration.id||(yield this.sendRegistration(0)),this._initialised=!0,this._initialiseInProgress=!1,0===this._pendingProviderEnables.length?(yield this.sendRegistration(),this._callCompletedCallback()):this._autoEnable&&(yield this.enableProviders())}catch(e){console.error(e)}finally{this._initialiseInProgress=!1}}}))}enableProviders(){return __awaiter(this,void 0,void 0,(function*(){if(!this._initialised)throw new Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let i=this._pendingProviderEnables[e];yield this.enableProvider(i)}}))}enableProvider(e,i){return __awaiter(this,void 0,void 0,(function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),new Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),new Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let r={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:i},s=yield this.sendProviderMessage(r,!0);this._registration.providers[e].hasPermission=s.hasPermission,this._registration.providers[e].success=s.success,this._registration.providers[e].enabled=s.success,this._registration.providers[e].data=s.data;let t=this._pendingProviderEnables.indexOf(e);return t>=0&&(this._pendingProviderEnables.splice(t,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),s}))}disableProvider(e){return __awaiter(this,void 0,void 0,(function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),new Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),new Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let i=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,i}))}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,i){return __awaiter(this,void 0,void 0,(function*(){if(!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),new Error("Invalid console provider '"+e.provider+"'");if(!i)return void this._doSendProviderMessage(e);let r=e.provider+e.action;if(this._pendingProviderPromises[r])throw new Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");const s=new Deferred;return this._pendingProviderPromises[r]=[s,window.setTimeout((()=>{delete this._pendingProviderPromises[r],s.reject("No response from provider")}),5e3)],this._doSendProviderMessage(e),s.promise}))}sendRegistration(e){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),e=void 0!==e?e:2e3,console.debug("Sending registration in: "+e+"ms"),new Promise(((e,i)=>{this._registrationTimer=window.setTimeout((()=>{this._registrationTimer=null,console.debug("Console: updating registration");try{this._registration.name||(this._registration.name="Console"),this._registration.platform||(this._registration.platform="N/A"),this._registration.version||(this._registration.version="N/A"),this._registration.providers||(this._registration.providers={}),manager.rest.api.ConsoleResource.register(this._registration).then((i=>{if(200!==i.status)throw new Error("Failed to register console");this._registration=i.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),e()}))}catch(e){console.error("Failed to register console"),i("Failed to register console")}}))}))}storeData(e,i){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:i},!1)}retrieveData(e){return __awaiter(this,void 0,void 0,(function*(){let i=yield this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);if(i&&i.value)return i.value}))}addProviderMessageListener(e,i){this._providerMessageListeners[e.provider+e.action]=i}removeProviderMessageListener(e){delete this._providerMessageListeners[e.provider+e.action]}_postNativeShellMessage(e){return this.shellAndroid?window.MobileInterface.postMessage(JSON.stringify(e)):this.shellApple?window.webkit.messageHandlers.int.postMessage(e):void 0}_doSendProviderMessage(e){if(this.isMobile)this._postNativeShellMessage({type:"provider",data:e});else{if(!e.provider||!e.action)return;switch(e.provider.trim().toUpperCase()){case"PUSH":switch(e.action.trim().toUpperCase()){case"PROVIDER_INIT":let i={action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0};this._handleProviderResponse(JSON.stringify(i));break;case"PROVIDER_ENABLE":let r={action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0};this._handleProviderResponse(JSON.stringify(r));break;default:throw new Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":let i={action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0};this._handleProviderResponse(JSON.stringify(i));break;case"PROVIDER_ENABLE":let r={action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0};this._handleProviderResponse(JSON.stringify(r));break;case"STORE":{let i=e.key?e.key.trim():null;if(!i||0===i.length)throw new Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(i):window.localStorage.setItem(i,JSON.stringify(e.value))}break;case"RETRIEVE":{let i=e.key?e.key.trim():null;if(!i||0===i.length)throw new Error("Storage provider 'retrieve' action requires a `key`");let r=window.localStorage.getItem(i);if(null!==r)try{r=JSON.parse(r)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:i,value:r}))}break;default:throw new Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let i=JSON.parse(e),r=i.provider,s=i.action,t=this._pendingProviderPromises[r+s];t&&(window.clearTimeout(t[1]),delete this._pendingProviderPromises[r+s],t[0].resolve(i));let o=this._providerMessageListeners[r+s];o&&o(i)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout((()=>{e()}),0)}static _createConsoleRegistration(){return{name:platform.name,version:platform.version,platform:platform.os.toString(),apps:[],model:((platform.manufacturer?platform.manufacturer+" ":"")+(platform.product?platform.product:"")).trim()}}_initialiseProvider(e){return __awaiter(this,void 0,void 0,(function*(){let i;console.debug("Console: initialising provider '"+e+"'");try{i=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=i.version,this._registration.providers[e].requiresPermission=i.requiresPermission,this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.enabled,this._registration.providers[e].disabled=i.disabled,this._registration.providers[e].data=i.data}catch(e){console.error(e),i={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(i.success||(console.debug("Provider initialisation failed: '"+e+"'"),i.disabled=!0,this._registration.providers[e].disabled=!0),i.disabled||i.enabled){let i=this._pendingProviderEnables.indexOf(e);i>=0&&this._pendingProviderEnables.splice(i,1)}}))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const DefaultColor4: string;
|
|
2
|
+
export declare const DefaultColor7: string;
|
|
3
|
+
export declare const DefaultColor1: string;
|
|
4
|
+
export declare const DefaultColor2: string;
|
|
5
|
+
export declare const DefaultColor5: string;
|
|
6
|
+
export declare const DefaultColor6: string;
|
|
7
|
+
export declare const DefaultColor8: string;
|
|
8
|
+
export declare const DefaultColor3: string;
|
|
9
|
+
export declare const DefaultColor9: string;
|
|
10
|
+
export declare const DefaultColor10: string;
|
|
11
|
+
export declare const DefaultColor11: string;
|
|
12
|
+
export declare const DefaultBoxShadowBottom: string;
|
|
13
|
+
export declare const DefaultBoxShadow: string;
|
|
14
|
+
export declare const DefaultHeaderHeight: string;
|
|
15
|
+
export declare const DefaultDisabledOpacity: string;
|
package/lib/defaults.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const DefaultColor4="#4d9d2a";export const DefaultColor7="#FFFFFF";export const DefaultColor1="#FFFFFF";export const DefaultColor2="#F9F9F9";export const DefaultColor5="#CCCCCC";export const DefaultColor6="#be0000";export const DefaultColor8="#FFFFFF";export const DefaultColor3="#4c4c4c";export const DefaultColor9="#000000";export const DefaultColor10="#000000";export const DefaultColor11="#FFFFFF";export const DefaultBoxShadowBottom="0 5px 5px -5px rgba(0,0,0,0.3)";export const DefaultBoxShadow="0 1px 3px 0 rgba(0,0,0,0.21)";export const DefaultHeaderHeight="50px";export const DefaultDisabledOpacity="0.3";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,UAAU;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,YAAY;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,UAAU;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,aAAa;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,oBAAoB;AACpE,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,gBAAgB;AAChE,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,aAAa;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,sBAAsB;AACtE,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,CAAC,gBAAgB;AAChE,MAAM,CAAC,MAAM,cAAc,GAAW,SAAS,CAAC,CAAC,aAAa;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAW,SAAS,CAAC,CAAC,WAAW;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAW,gCAAgC,CAAC;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAW,8BAA8B,CAAC;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAW,MAAM,CAAC;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAW,KAAK,CAAC"}
|
package/{dist → lib}/event.d.ts
RENAMED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Deferred } from "./util";
|
|
2
|
-
import { AttributeEvent, EventSubscription, SharedEvent
|
|
2
|
+
import { AssetEvent, AttributeEvent, AttributeRef, EventRequestResponseWrapper, EventSubscription, SharedEvent } from "@openremote/model";
|
|
3
3
|
export declare enum EventProviderStatus {
|
|
4
4
|
DISCONNECTED = "DISCONNECTED",
|
|
5
5
|
CONNECTED = "CONNECTED",
|
|
6
|
-
CONNECTING = "CONNECTING"
|
|
6
|
+
CONNECTING = "CONNECTING",
|
|
7
|
+
RECONNECT_FAILED = "RECONNECT_FAILED"
|
|
7
8
|
}
|
|
8
9
|
export interface EventProvider {
|
|
9
10
|
status: EventProviderStatus;
|
|
@@ -13,9 +14,17 @@ export interface EventProvider {
|
|
|
13
14
|
unsubscribeStatusChange(callback: (status: EventProviderStatus) => void): void;
|
|
14
15
|
subscribe<T extends SharedEvent>(eventSubscription: EventSubscription<T>, callback: (event: T) => void): Promise<string>;
|
|
15
16
|
unsubscribe<T extends SharedEvent>(subscriptionId: string): void;
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Subscribe to {@link AssetEvent}s for the specified {@link Asset}s for all {@link Asset}s
|
|
19
|
+
*/
|
|
20
|
+
subscribeAssetEvents(ids: string[] | AttributeRef[] | undefined, requestCurrentValues: boolean, callback: (event: AssetEvent) => void): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Subscribe to {@link AttributeEvent}s for the specified {@link Asset}s and if {@link AttributeRef}s are provided
|
|
23
|
+
* then the attribute names from the refs will be used for each asset ID.
|
|
24
|
+
*/
|
|
25
|
+
subscribeAttributeEvents(ids: string[] | AttributeRef[], requestCurrentValues: boolean, callback: (event: AttributeEvent) => void): Promise<string>;
|
|
18
26
|
sendEvent<T extends SharedEvent>(event: T): void;
|
|
27
|
+
sendEventWithReply<T extends SharedEvent, U extends SharedEvent>(event: EventRequestResponseWrapper<T>): Promise<U>;
|
|
19
28
|
}
|
|
20
29
|
export interface EventProviderFactory {
|
|
21
30
|
getEventProvider(): EventProvider | undefined;
|
|
@@ -36,20 +45,25 @@ declare abstract class EventProviderImpl implements EventProvider {
|
|
|
36
45
|
protected _statusCallbacks: Array<(status: EventProviderStatus) => void>;
|
|
37
46
|
protected _pendingSubscription: EventSubscriptionInfo<SharedEvent> | null;
|
|
38
47
|
protected _queuedSubscriptions: EventSubscriptionInfo<SharedEvent>[];
|
|
39
|
-
protected _subscriptionMap:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
protected _subscriptionMap: Map<string, EventSubscriptionInfo<SharedEvent>>;
|
|
49
|
+
protected _assetEventPromise?: Promise<string>;
|
|
50
|
+
protected _assetEventCallbackMap: Map<string, (e: AssetEvent) => void>;
|
|
51
|
+
protected _attributeEventPromise?: Promise<string>;
|
|
52
|
+
protected _attributeEventCallbackMap: Map<string, (e: AttributeEvent) => void>;
|
|
53
|
+
protected _unloading: boolean;
|
|
54
|
+
protected static _subscriptionCounter: number;
|
|
55
|
+
abstract get endpointUrl(): string;
|
|
56
|
+
get status(): EventProviderStatus;
|
|
44
57
|
subscribeStatusChange(callback: (status: EventProviderStatus) => void): void;
|
|
45
58
|
unsubscribeStatusChange(callback: (status: EventProviderStatus) => void): void;
|
|
46
59
|
connect(): Promise<boolean>;
|
|
47
60
|
disconnect(): void;
|
|
48
61
|
subscribe<T extends SharedEvent>(eventSubscription: EventSubscription<T>, callback: (event: T) => void): Promise<string>;
|
|
49
|
-
unsubscribe<T extends SharedEvent>(subscriptionId: string): void
|
|
62
|
+
unsubscribe<T extends SharedEvent>(subscriptionId: string): Promise<void>;
|
|
50
63
|
sendEvent<T extends SharedEvent>(event: T): void;
|
|
51
|
-
|
|
52
|
-
|
|
64
|
+
sendEventWithReply<T extends SharedEvent, U extends SharedEvent>(event: EventRequestResponseWrapper<T>): Promise<U>;
|
|
65
|
+
subscribeAssetEvents(ids: string[] | AttributeRef[] | undefined, requestCurrentValues: boolean, callback: (event: AssetEvent) => void): Promise<string>;
|
|
66
|
+
subscribeAttributeEvents(ids: string[] | AttributeRef[] | undefined, requestCurrentValues: boolean, callback: (event: AttributeEvent) => void): Promise<string>;
|
|
53
67
|
protected _processNextSubscription(): void;
|
|
54
68
|
private _onStatusChanged;
|
|
55
69
|
protected _onMessageReceived(subscriptionId: string, event: SharedEvent): void;
|
|
@@ -57,6 +71,7 @@ declare abstract class EventProviderImpl implements EventProvider {
|
|
|
57
71
|
protected _onDisconnect(): void;
|
|
58
72
|
protected _scheduleReconnect(): void;
|
|
59
73
|
protected abstract _doSend<T extends SharedEvent>(event: T): void;
|
|
74
|
+
protected abstract _doSendWithReply<T extends SharedEvent, U extends SharedEvent>(event: EventRequestResponseWrapper<T>): Promise<U>;
|
|
60
75
|
protected abstract _doConnect(): Promise<boolean>;
|
|
61
76
|
protected abstract _doDisconnect(): void;
|
|
62
77
|
protected abstract _doSubscribe<T extends SharedEvent>(subscription: EventSubscription<T>): Promise<string>;
|
|
@@ -64,20 +79,19 @@ declare abstract class EventProviderImpl implements EventProvider {
|
|
|
64
79
|
}
|
|
65
80
|
export declare class WebSocketEventProvider extends EventProviderImpl {
|
|
66
81
|
protected static _subscriptionCounter: number;
|
|
67
|
-
protected static _subscriptionRenewalMillis: number;
|
|
68
82
|
private readonly _endpointUrl;
|
|
69
83
|
protected _webSocket: WebSocket | undefined;
|
|
70
84
|
protected _connectDeferred: Deferred<boolean> | null;
|
|
71
85
|
protected _subscribeDeferred: Deferred<string> | null;
|
|
72
|
-
protected
|
|
73
|
-
|
|
86
|
+
protected _repliesDeferred: Map<string, Deferred<SharedEvent>>;
|
|
87
|
+
get endpointUrl(): string;
|
|
74
88
|
constructor(managerUrl: string);
|
|
75
89
|
protected _doConnect(): Promise<boolean>;
|
|
76
90
|
protected _beforeDisconnect(): void;
|
|
77
91
|
protected _doDisconnect(): void;
|
|
78
92
|
protected _doSubscribe<T extends SharedEvent>(subscription: EventSubscription<T>): Promise<string>;
|
|
79
93
|
protected _doUnsubscribe(subscriptionId: string): void;
|
|
80
|
-
protected _doRenewal(): void;
|
|
81
94
|
protected _doSend<T extends SharedEvent>(event: T): void;
|
|
95
|
+
protected _doSendWithReply<T extends SharedEvent, U extends SharedEvent>(event: EventRequestResponseWrapper<T>): Promise<U>;
|
|
82
96
|
}
|
|
83
97
|
export {};
|
package/lib/event.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,r){function o(e){try{a(i.next(e))}catch(e){r(e)}}function c(e){try{a(i.throw(e))}catch(e){r(e)}}function a(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,c)}a((i=i.apply(e,t||[])).next())}))};import manager from"./index";import{arrayRemove,Deferred}from"./util";export var EventProviderStatus;!function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTED="CONNECTED",e.CONNECTING="CONNECTING",e.RECONNECT_FAILED="RECONNECT_FAILED"}(EventProviderStatus||(EventProviderStatus={}));const SUBSCRIBE_MESSAGE_PREFIX="SUBSCRIBE:",SUBSCRIBED_MESSAGE_PREFIX="SUBSCRIBED:",UNSUBSCRIBE_MESSAGE_PREFIX="UNSUBSCRIBE:",UNAUTHORIZED_MESSAGE_PREFIX="UNAUTHORIZED:",TRIGGERED_MESSAGE_PREFIX="TRIGGERED:",EVENT_MESSAGE_PREFIX="EVENT:",EVENT_REQUEST_RESPONSE_MESSAGE_PREFIX="REQUESTRESPONSE:";class EventProviderImpl{constructor(){this._disconnectRequested=!1,this._reconnectDelayMillis=WebSocketEventProvider.MIN_RECONNECT_DELAY,this._reconnectTimer=null,this._status=EventProviderStatus.DISCONNECTED,this._connectingDeferred=null,this._statusCallbacks=[],this._pendingSubscription=null,this._queuedSubscriptions=[],this._subscriptionMap=new Map,this._assetEventCallbackMap=new Map,this._attributeEventCallbackMap=new Map,this._unloading=!1}get status(){return this._status}subscribeStatusChange(e){this._statusCallbacks.push(e)}unsubscribeStatusChange(e){arrayRemove(this._statusCallbacks,e)}connect(){return this._status===EventProviderStatus.CONNECTED?Promise.resolve(!0):(this._disconnectRequested=!1,this._connectingDeferred||(this._onStatusChanged(EventProviderStatus.CONNECTING),this._connectingDeferred=new Deferred,this._doConnect().then((e=>{if(this._connectingDeferred){const t=this._connectingDeferred;this._connectingDeferred=null,this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),e?(console.debug("Connected to event service: "+this.endpointUrl),this._reconnectDelayMillis=WebSocketEventProvider.MIN_RECONNECT_DELAY,this._onStatusChanged(EventProviderStatus.CONNECTED),window.setTimeout((()=>{this._onConnect()}),0)):(console.debug("Failed to connect to event service: "+this.endpointUrl),this._onStatusChanged(EventProviderStatus.DISCONNECTED)),t.resolve(e)}}))),this._connectingDeferred.promise)}disconnect(){console.debug("Disconnecting from event service: "+this.endpointUrl),this._disconnectRequested||(this._disconnectRequested=!0,this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this.status!==EventProviderStatus.DISCONNECTED&&this._doDisconnect())}subscribe(e,t){const s={eventSubscription:e,callback:t,deferred:new Deferred};return null!=this._pendingSubscription||this._status!==EventProviderStatus.CONNECTED?(this._queuedSubscriptions.push(s),s.deferred.promise):(this._pendingSubscription=s,this._doSubscribe(e).then((e=>{if(this._pendingSubscription){const t=this._pendingSubscription;this._pendingSubscription=null,this._subscriptionMap.set(e,t),this._processNextSubscription();const s=t.deferred;t.deferred=null,s&&s.resolve(e)}}),(e=>{if(this._pendingSubscription){const t=this._pendingSubscription;this._pendingSubscription=null,this._processNextSubscription();const s=t.deferred;t.deferred=null,s&&s.reject(e)}})),this._pendingSubscription.deferred.promise)}unsubscribe(e){return __awaiter(this,void 0,void 0,(function*(){if(this._subscriptionMap.delete(e))this._doUnsubscribe(e);else if(this._assetEventCallbackMap.delete(e)){if(this._assetEventPromise&&0===this._assetEventCallbackMap.size){const e=yield this._assetEventPromise;this._assetEventPromise=void 0,this.unsubscribe(e)}}else if(this._attributeEventCallbackMap.delete(e)&&this._attributeEventPromise&&0===this._attributeEventCallbackMap.size){const e=yield this._attributeEventPromise;this._attributeEventPromise=void 0,this.unsubscribe(e)}}))}sendEvent(e){this._status===EventProviderStatus.CONNECTED&&this._doSend(e)}sendEventWithReply(e){return this._status!==EventProviderStatus.CONNECTED?Promise.reject("Not connected"):this._doSendWithReply(e)}subscribeAssetEvents(e,t,s){return __awaiter(this,void 0,void 0,(function*(){const i=e&&"string"!=typeof e[0]?e.map((e=>e.id)):e,n="AssetEvent"+EventProviderImpl._subscriptionCounter++;if(!this._assetEventPromise){let e;manager.authenticated||(e={filterType:"asset",realm:manager.displayRealm});const t={eventType:"asset",filter:e};this._assetEventPromise=this.subscribe(t,(e=>{this._assetEventCallbackMap.forEach((t=>t(e)))}))}return this._assetEventCallbackMap.set(n,(e=>{const t=e.asset.id;i?i.find((e=>t===e))&&s(e):e.asset.realm===manager.displayRealm&&s(e)})),this._assetEventPromise.then((()=>{try{if(i&&t){const e={messageId:"read-assets:"+i.join(",")+":"+n,event:{eventType:"read-assets",assetQuery:{ids:i}}};this.sendEventWithReply(e).then((e=>{const t=e;t.assets&&this._assetEventCallbackMap.has(n)&&t.assets.forEach((e=>{s({eventType:"asset",asset:e,cause:"READ"})}))}))}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),n&&this.unsubscribe(n),t}return n}))}))}subscribeAttributeEvents(e,t,s){return __awaiter(this,void 0,void 0,(function*(){const i=e&&"string"!=typeof e[0],n=i?e.map((e=>e.id)):e,r=i?e:void 0,o="AttributeEvent"+EventProviderImpl._subscriptionCounter++;if(!this._attributeEventPromise){let e;manager.authenticated||(e={filterType:"asset",realm:manager.displayRealm});const t={eventType:"attribute",filter:e};this._attributeEventPromise=this.subscribe(t,(e=>{this._attributeEventCallbackMap.forEach((t=>t(e)))}))}const c=t=>{const r=t.ref;i?e.forEach((e=>{r.id===e.id&&r.name===e.name&&s(t)})):n?n.find((e=>r.id===e))&&s(t):t.realm===manager.displayRealm&&s(t)};return this._attributeEventCallbackMap.set(o,c),this._attributeEventPromise.then((()=>{try{if(t&&n){const e={messageId:"read-assets:"+n.join(",")+":"+o,event:{eventType:"read-assets",assetQuery:{ids:n}}};this.sendEventWithReply(e).then((e=>{const t=e;t.assets&&this._attributeEventCallbackMap.has(o)&&t.assets.forEach((e=>{e.attributes&&Object.entries(e.attributes).forEach((([t,s])=>{r&&!r.find((s=>s.id===e.id&&s.name===t))||c({eventType:"attribute",timestamp:s.timestamp,value:s.value,ref:{id:e.id,name:t}})}))}))}))}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),o&&this.unsubscribe(o),t}return o}))}))}_processNextSubscription(){this._status===EventProviderStatus.CONNECTED&&0!==this._queuedSubscriptions.length&&setTimeout((()=>{const e=this._queuedSubscriptions.shift();e&&this.subscribe(e.eventSubscription,e.callback).then((t=>{const s=e.deferred;e.deferred=null,s&&s.resolve(t)}),(t=>{const s=e.deferred;e.deferred=null,s&&s.reject(t)}))}),0)}_onStatusChanged(e){e!==this._status&&(console.debug("Event provider status changed: "+e),this._status=e,this._unloading||window.setTimeout((()=>{this._statusCallbacks.forEach((t=>t(e)))}),0))}_onMessageReceived(e,t){const s=this._subscriptionMap.get(e);s&&s.callback(t)}_onConnect(){if(Object.keys(this._subscriptionMap).length>0){for(const e in this._subscriptionMap)this._subscriptionMap.has(e)&&this._queuedSubscriptions.unshift(this._subscriptionMap.get(e));this._subscriptionMap.clear()}this._processNextSubscription()}_onDisconnect(){this._onStatusChanged(EventProviderStatus.DISCONNECTED),this._pendingSubscription&&(this._queuedSubscriptions.unshift(this._pendingSubscription),this._pendingSubscription=null),this._scheduleReconnect()}_scheduleReconnect(){this._reconnectTimer||this._disconnectRequested||(console.debug("Event provider scheduling reconnect in "+this._reconnectDelayMillis+"ms"),this._reconnectTimer=window.setTimeout((()=>{this._disconnectRequested||this.connect().then((e=>{e||(this._onStatusChanged(EventProviderStatus.RECONNECT_FAILED),this._scheduleReconnect())})).catch((e=>{this._onStatusChanged(EventProviderStatus.RECONNECT_FAILED),this._scheduleReconnect()}))}),this._reconnectDelayMillis),this._reconnectDelayMillis<WebSocketEventProvider.MAX_RECONNECT_DELAY&&(this._reconnectDelayMillis=Math.min(WebSocketEventProvider.MAX_RECONNECT_DELAY,this._reconnectDelayMillis+3e3)))}}EventProviderImpl.MIN_RECONNECT_DELAY=0,EventProviderImpl.MAX_RECONNECT_DELAY=3e4,EventProviderImpl._subscriptionCounter=0;export class WebSocketEventProvider extends EventProviderImpl{get endpointUrl(){return this._endpointUrl}constructor(e){super(),this._webSocket=void 0,this._connectDeferred=null,this._subscribeDeferred=null,this._repliesDeferred=new Map,this._endpointUrl=(e.startsWith("https:")?"wss":"ws")+"://"+e.substr(e.indexOf("://")+3)+"/websocket/events",window.addEventListener("beforeunload",(()=>{this._unloading=!0,this.disconnect()}))}_doConnect(){let e=this._endpointUrl+"?Realm="+manager.config.realm;return manager.authenticated&&(e+="&Authorization="+manager.getAuthorizationHeader()),this._webSocket=new WebSocket(e),this._connectDeferred=new Deferred,manager.isTokenExpired()&&this._connectDeferred.resolve(!1),this._webSocket.onopen=()=>{if(this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!0)}},this._webSocket.onerror=e=>{if(this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else console.debug("Event provider error"),this._beforeDisconnect()},this._webSocket.onclose=()=>{if(this._webSocket=void 0,this._connectDeferred){const e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else this._beforeDisconnect()},this._webSocket.onmessage=e=>{const t=e.data;if(t&&t.startsWith("SUBSCRIBED:")){const e=t.substring(11),s=JSON.parse(e),i=this._subscribeDeferred;this._subscribeDeferred=null,i&&i.resolve(s.subscriptionId)}else if(t.startsWith("UNAUTHORIZED:")){const e=t.substring(13),s=JSON.parse(e),i=this._subscribeDeferred;this._subscribeDeferred=null,i&&(console.warn("Unauthorized event subscription: "+JSON.stringify(s,null,2)),i.reject("Unauthorized"))}else if(t.startsWith("TRIGGERED:")){const e=t.substring(10),s=JSON.parse(e);s.events&&s.events.forEach((e=>{this._onMessageReceived(s.subscriptionId,e)}))}else if(t.startsWith("REQUESTRESPONSE:")){const e=t.substring(16),s=JSON.parse(e);if(s.messageId&&s.event){const e=this._repliesDeferred.get(s.messageId);this._repliesDeferred.delete(s.messageId),e&&e.resolve(s.event)}}},this._connectDeferred.promise}_beforeDisconnect(){this._onDisconnect()}_doDisconnect(){var e;null===(e=this._webSocket)||void 0===e||e.close(),this._subscribeDeferred=null,this._repliesDeferred.clear()}_doSubscribe(e){return this._webSocket?this._subscribeDeferred?Promise.reject("There's already a pending subscription"):(this._subscribeDeferred=new Deferred,e.subscriptionId||(e.subscriptionId=WebSocketEventProvider._subscriptionCounter+++""),this._webSocket.send("SUBSCRIBE:"+JSON.stringify(e)),this._subscribeDeferred.promise):Promise.reject("Not connected")}_doUnsubscribe(e){if(!this._webSocket)return;const t={subscriptionId:e};this._webSocket.send("UNSUBSCRIBE:"+JSON.stringify(t))}_doSend(e){const t="EVENT:"+JSON.stringify(e);this._webSocket.send(t)}_doSendWithReply(e){if(e.messageId||(e.messageId=((new Date).getTime()+10*Math.random()).toString(10)),this._repliesDeferred.has(e.messageId))return Promise.reject("There's already a pending send and reply with this ID");const t=new Deferred;return this._repliesDeferred.set(e.messageId,t),this._webSocket.send("REQUESTRESPONSE:"+JSON.stringify(e)),t.promise}}WebSocketEventProvider._subscriptionCounter=1;
|
package/lib/event.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import "url-search-params-polyfill";
|
|
2
|
+
import { Console } from "./console";
|
|
3
|
+
import { EventProvider, EventProviderFactory, EventProviderStatus } from "./event";
|
|
4
|
+
import { ConsoleAppConfig, ManagerConfig, MapType, UsernamePassword } from "@openremote/model";
|
|
5
|
+
import * as Util from "./util";
|
|
6
|
+
export { Util };
|
|
7
|
+
export * from "./asset-mixin";
|
|
8
|
+
export * from "./console";
|
|
9
|
+
export * from "./event";
|
|
10
|
+
export * from "./defaults";
|
|
11
|
+
export declare const DEFAULT_ICONSET: string;
|
|
12
|
+
export declare type KeycloakPromise<T> = {
|
|
13
|
+
success<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | KeycloakPromise<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | KeycloakPromise<TResult2>) | undefined | null): KeycloakPromise<TResult1 | TResult2>;
|
|
14
|
+
error<TResult = never>(onrejected?: ((reason: any) => TResult | KeycloakPromise<TResult>) | undefined | null): Promise<T | TResult>;
|
|
15
|
+
};
|
|
16
|
+
export declare enum ORError {
|
|
17
|
+
MANAGER_FAILED_TO_LOAD = "MANAGER_FAILED_TO_LOAD",
|
|
18
|
+
AUTH_FAILED = "AUTH_FAILED",
|
|
19
|
+
AUTH_TYPE_UNSUPPORTED = "AUTH_TYPE_UNSUPPORTED",
|
|
20
|
+
CONSOLE_ERROR = "CONSOLE_INIT_ERROR",
|
|
21
|
+
EVENTS_CONNECTION_ERROR = "EVENTS_CONNECTION_ERROR",
|
|
22
|
+
TRANSLATION_ERROR = "TRANSLATION_ERROR"
|
|
23
|
+
}
|
|
24
|
+
export declare enum OREvent {
|
|
25
|
+
ERROR = "ERROR",
|
|
26
|
+
READY = "READY",
|
|
27
|
+
ONLINE = "ONLINE",
|
|
28
|
+
OFFLINE = "OFFLINE",
|
|
29
|
+
CONNECTING = "CONNECTING",
|
|
30
|
+
RECONNECT_FAILED = "RECONNECT_FAILED",
|
|
31
|
+
CONSOLE_INIT = "CONSOLE_INIT",
|
|
32
|
+
CONSOLE_READY = "CONSOLE_READY",
|
|
33
|
+
CONSOLE_VISIBLE = "CONSOLE_VISIBLE",
|
|
34
|
+
CONSOLE_HIDDEN = "CONSOLE_HIDDEN",
|
|
35
|
+
TRANSLATE_INIT = "TRANSLATE_INIT",
|
|
36
|
+
TRANSLATE_LANGUAGE_CHANGED = "TRANSLATE_LANGUAGE_CHANGED",
|
|
37
|
+
DISPLAY_REALM_CHANGED = "DISPLAY_REALM_CHANGED"
|
|
38
|
+
}
|
|
39
|
+
export interface LoginOptions {
|
|
40
|
+
redirectUrl?: string;
|
|
41
|
+
credentials?: UsernamePassword;
|
|
42
|
+
}
|
|
43
|
+
export interface BasicLoginResult {
|
|
44
|
+
username: string;
|
|
45
|
+
password: string;
|
|
46
|
+
cancel: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface Languages {
|
|
49
|
+
[langKey: string]: string;
|
|
50
|
+
}
|
|
51
|
+
export declare const DEFAULT_LANGUAGES: Languages;
|
|
52
|
+
export declare function normaliseConfig(config: ManagerConfig): ManagerConfig;
|
|
53
|
+
export interface OrManagerEventDetail {
|
|
54
|
+
event: OREvent;
|
|
55
|
+
error?: ORError;
|
|
56
|
+
}
|
|
57
|
+
export type EventCallback = (event: OREvent) => void;
|
|
58
|
+
export declare class Manager implements EventProviderFactory {
|
|
59
|
+
get username(): string;
|
|
60
|
+
get error(): ORError | undefined;
|
|
61
|
+
get authenticated(): boolean;
|
|
62
|
+
get ready(): boolean;
|
|
63
|
+
get config(): ManagerConfig;
|
|
64
|
+
get roles(): Map<string, string[]>;
|
|
65
|
+
get managerVersion(): string;
|
|
66
|
+
get isManagerAvailable(): boolean | "";
|
|
67
|
+
get managerUrl(): any;
|
|
68
|
+
get keycloakUrl(): any;
|
|
69
|
+
get isError(): boolean;
|
|
70
|
+
get connectionStatus(): EventProviderStatus | undefined;
|
|
71
|
+
get console(): Console;
|
|
72
|
+
get consoleAppConfig(): ConsoleAppConfig | undefined;
|
|
73
|
+
get events(): EventProvider | undefined;
|
|
74
|
+
get rest(): import("@openremote/rest").RestApi;
|
|
75
|
+
get language(): string;
|
|
76
|
+
set language(lang: string);
|
|
77
|
+
get displayRealm(): string;
|
|
78
|
+
set displayRealm(realm: string);
|
|
79
|
+
getEventProvider(): EventProvider | undefined;
|
|
80
|
+
get mapType(): MapType;
|
|
81
|
+
private _error?;
|
|
82
|
+
private _config;
|
|
83
|
+
private _authenticated;
|
|
84
|
+
private _authDisconnected;
|
|
85
|
+
private _authReconnectTimeout?;
|
|
86
|
+
private _ready;
|
|
87
|
+
private _readyCallback?;
|
|
88
|
+
private _name;
|
|
89
|
+
private _username;
|
|
90
|
+
private _keycloak?;
|
|
91
|
+
private _basicIdentity?;
|
|
92
|
+
private _keycloakUpdateTokenInterval?;
|
|
93
|
+
private _managerVersion;
|
|
94
|
+
_authServerUrl: string;
|
|
95
|
+
private _listeners;
|
|
96
|
+
private _console;
|
|
97
|
+
private _consoleAppConfig?;
|
|
98
|
+
private _events?;
|
|
99
|
+
private _eventsDisconnected;
|
|
100
|
+
private _displayRealm?;
|
|
101
|
+
isManagerSameOrigin(): boolean;
|
|
102
|
+
addListener(callback: EventCallback): void;
|
|
103
|
+
removeListener(callback: EventCallback): void;
|
|
104
|
+
init(config: ManagerConfig): Promise<boolean>;
|
|
105
|
+
protected loadManagerInfo(): Promise<boolean>;
|
|
106
|
+
protected doTranslateInit(): Promise<boolean>;
|
|
107
|
+
protected doDescriptorsInit(): Promise<boolean>;
|
|
108
|
+
protected doAuthInit(): Promise<boolean>;
|
|
109
|
+
protected doRestApiInit(): boolean;
|
|
110
|
+
protected doEventsSubscriptionInit(): Promise<boolean>;
|
|
111
|
+
reconnect(force?: boolean): void;
|
|
112
|
+
protected _runAuthReconnectTimer(timeout?: number, timeoutMax?: number): void;
|
|
113
|
+
protected _finishAuthReconnectTimer(success: boolean): void;
|
|
114
|
+
protected isKeycloakReachable(): Promise<void>;
|
|
115
|
+
protected _tryUpdateAccessToken(): Promise<boolean>;
|
|
116
|
+
protected _tryReconnectEvents(): void;
|
|
117
|
+
protected _connectEvents(): void;
|
|
118
|
+
protected _onEventProviderStatusChanged(status: EventProviderStatus): void;
|
|
119
|
+
protected doConsoleInit(): Promise<boolean>;
|
|
120
|
+
protected doIconInit(): void;
|
|
121
|
+
protected getConsoleAppConfig(): Promise<boolean>;
|
|
122
|
+
logout(redirectUrl?: string): void;
|
|
123
|
+
login(options?: LoginOptions): void;
|
|
124
|
+
protected initialiseBasicAuth(): Promise<boolean>;
|
|
125
|
+
protected doBasicLogin(): Promise<void>;
|
|
126
|
+
isSuperUser(): boolean;
|
|
127
|
+
isRestrictedUser(): boolean;
|
|
128
|
+
getApiBaseUrl(): string;
|
|
129
|
+
getAppName(): string;
|
|
130
|
+
hasRealmRole(role: string): boolean;
|
|
131
|
+
hasRole(role: string, client?: string): boolean;
|
|
132
|
+
getAuthorizationHeader(): string | undefined;
|
|
133
|
+
getKeycloakToken(): string | undefined;
|
|
134
|
+
getBasicToken(): string | undefined;
|
|
135
|
+
isTokenExpired(margin?: number): boolean;
|
|
136
|
+
getRealm(): string | undefined;
|
|
137
|
+
protected isMobile(): boolean;
|
|
138
|
+
isKeycloak(): boolean;
|
|
139
|
+
protected _onAuthenticated(): void;
|
|
140
|
+
protected loadAndInitialiseKeycloak(): Promise<boolean>;
|
|
141
|
+
protected updateKeycloakAccessToken(): Promise<boolean | void>;
|
|
142
|
+
protected _getNativeOfflineRefreshToken(): Promise<string | undefined>;
|
|
143
|
+
protected _emitEvent(event: OREvent): void;
|
|
144
|
+
protected _setError(error: ORError): void;
|
|
145
|
+
protected _setAuthenticated(authenticated: boolean): void;
|
|
146
|
+
protected _setAuthDisconnected(disconnected: boolean, force?: boolean): void;
|
|
147
|
+
protected _setEventDisconnected(disconnected: boolean, force?: boolean): void;
|
|
148
|
+
}
|
|
149
|
+
export declare const manager: Manager;
|
|
150
|
+
export default manager;
|