@openremote/core 1.0.2 → 1.2.0-snapshot.20240512154942

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 (52) hide show
  1. package/README.md +86 -8
  2. package/lib/asset-mixin.d.ts +46 -0
  3. package/lib/asset-mixin.js +1 -0
  4. package/lib/asset-mixin.js.map +1 -0
  5. package/{dist → lib}/console.d.ts +21 -12
  6. package/lib/console.js +1 -0
  7. package/lib/console.js.map +1 -0
  8. package/lib/defaults.d.ts +15 -0
  9. package/lib/defaults.js +1 -0
  10. package/lib/defaults.js.map +1 -0
  11. package/{dist → lib}/event.d.ts +30 -16
  12. package/lib/event.js +1 -0
  13. package/lib/event.js.map +1 -0
  14. package/lib/index.d.ts +150 -0
  15. package/lib/index.js +1 -0
  16. package/lib/index.js.map +1 -0
  17. package/lib/util.d.ts +92 -0
  18. package/lib/util.js +1 -0
  19. package/lib/util.js.map +1 -0
  20. package/package.json +31 -14
  21. package/dist/asset-mixin.d.ts +0 -25
  22. package/dist/asset-mixin.js +0 -115
  23. package/dist/asset-mixin.js.map +0 -1
  24. package/dist/console.js +0 -446
  25. package/dist/console.js.map +0 -1
  26. package/dist/event.js +0 -454
  27. package/dist/event.js.map +0 -1
  28. package/dist/index.d.ts +0 -137
  29. package/dist/index.js +0 -683
  30. package/dist/index.js.map +0 -1
  31. package/dist/util.d.ts +0 -17
  32. package/dist/util.js +0 -72
  33. package/dist/util.js.map +0 -1
  34. package/src/asset-mixin.ts +0 -132
  35. package/src/console.d.ts +0 -56
  36. package/src/console.js +0 -451
  37. package/src/console.js.map +0 -1
  38. package/src/console.ts +0 -530
  39. package/src/event.d.ts +0 -75
  40. package/src/event.js +0 -410
  41. package/src/event.js.map +0 -1
  42. package/src/event.ts +0 -584
  43. package/src/index.d.ts +0 -110
  44. package/src/index.js +0 -525
  45. package/src/index.js.map +0 -1
  46. package/src/index.ts +0 -803
  47. package/src/util.d.ts +0 -15
  48. package/src/util.js +0 -46
  49. package/src/util.js.map +0 -1
  50. package/src/util.ts +0 -94
  51. package/tsconfig.json +0 -14
  52. package/tsconfig.tsbuildinfo +0 -9788
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;
package/lib/index.js ADDED
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}c((n=n.apply(e,t||[])).next())}))};import"url-search-params-polyfill";import{Console}from"./console";import rest from"@openremote/rest";import{EventProviderStatus,WebSocketEventProvider}from"./event";import i18next from"i18next";import i18nextBackend from"i18next-http-backend";import moment from"moment";import{AssetModelUtil}from"@openremote/model";import*as Util from"./util";import{createMdiIconSet,createSvgIconSet,IconSets,OrIconSet}from"@openremote/or-icon";import Keycloak from"keycloak-js";export{Util};export*from"./asset-mixin";export*from"./console";export*from"./event";export*from"./defaults";export const DEFAULT_ICONSET="mdi";export var ORError;!function(e){e.MANAGER_FAILED_TO_LOAD="MANAGER_FAILED_TO_LOAD",e.AUTH_FAILED="AUTH_FAILED",e.AUTH_TYPE_UNSUPPORTED="AUTH_TYPE_UNSUPPORTED",e.CONSOLE_ERROR="CONSOLE_INIT_ERROR",e.EVENTS_CONNECTION_ERROR="EVENTS_CONNECTION_ERROR",e.TRANSLATION_ERROR="TRANSLATION_ERROR"}(ORError||(ORError={}));export var OREvent;!function(e){e.ERROR="ERROR",e.READY="READY",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e.CONNECTING="CONNECTING",e.RECONNECT_FAILED="RECONNECT_FAILED",e.CONSOLE_INIT="CONSOLE_INIT",e.CONSOLE_READY="CONSOLE_READY",e.CONSOLE_VISIBLE="CONSOLE_VISIBLE",e.CONSOLE_HIDDEN="CONSOLE_HIDDEN",e.TRANSLATE_INIT="TRANSLATE_INIT",e.TRANSLATE_LANGUAGE_CHANGED="TRANSLATE_LANGUAGE_CHANGED",e.DISPLAY_REALM_CHANGED="DISPLAY_REALM_CHANGED"}(OREvent||(OREvent={}));export const DEFAULT_LANGUAGES={en:"english",cn:"chinese",nl:"dutch",fr:"french",de:"german",it:"italian",pt:"portuguese",ro:"romanian",es:"spanish",uk:"ukrainian"};export function normaliseConfig(e){const t=e?Object.assign({},e):{};return t.managerUrl&&""!==t.managerUrl?t.managerUrl=t.managerUrl.replace(/\/+$/,""):t.managerUrl=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),t.realm&&""!==t.realm||(t.realm="master"),t.auth||(t.auth="KEYCLOAK"),void 0===t.consoleAutoEnable&&(t.consoleAutoEnable=!0),t.eventProviderType||(t.eventProviderType="WEBSOCKET"),(!t.pollingIntervalMillis||t.pollingIntervalMillis<5e3)&&(t.pollingIntervalMillis=1e4),void 0===t.loadIcons&&(t.loadIcons=!0),void 0===t.loadTranslations&&(t.loadTranslations=["or"]),void 0===t.translationsLoadPath&&(t.translationsLoadPath="locales/{{lng}}/{{ns}}.json"),void 0===t.loadDescriptors&&(t.loadDescriptors=!0),void 0===t.clientId&&(t.clientId="openremote"),t}export class Manager{constructor(){this._authenticated=!1,this._authDisconnected=!1,this._ready=!1,this._name="",this._username="",this._keycloakUpdateTokenInterval=void 0,this._managerVersion="",this._authServerUrl="",this._listeners=[],this._eventsDisconnected=!1}get username(){return this._username}get error(){return this._error}get authenticated(){return this._authenticated}get ready(){return this._ready}get config(){return this._config}get roles(){const e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach((([t,i])=>{const n=i.roles;e.set(t,n)})):this._basicIdentity&&this._basicIdentity.roles&&e.set(this._config.clientId,this._basicIdentity.roles.map((e=>e.name))),e}get managerVersion(){return this._managerVersion}get isManagerAvailable(){return this._managerVersion&&""!==this._managerVersion}get managerUrl(){return this._config.managerUrl}get keycloakUrl(){return this._config.keycloakUrl}get isError(){return!!this._error}get connectionStatus(){return this._events&&this._events.status}get console(){return this._console}get consoleAppConfig(){return this._consoleAppConfig}get events(){return this._events}get rest(){return rest}get language(){return i18next.language}set language(e){e&&(i18next.changeLanguage(e),this.console.storeData("LANGUAGE",e))}get displayRealm(){return this._displayRealm||this._config.realm}set displayRealm(e){this.isSuperUser()&&this._displayRealm!==e&&(this._displayRealm=e,this._emitEvent(OREvent.DISPLAY_REALM_CHANGED))}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;const e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){this._listeners.indexOf(e)<0&&this._listeners.push(e)}removeListener(e){const t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(e){return __awaiter(this,void 0,void 0,(function*(){this._config&&console.log("Already initialised"),this._config=normaliseConfig(e);let t=yield this.loadManagerInfo();if("BASIC"===this._config.auth)t=(yield this.doTranslateInit())&&t,t=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){const e=new URL(this._config.managerUrl);let t;this._authServerUrl.startsWith("//")&&(this._authServerUrl=e.protocol+this._authServerUrl);try{t=new URL(this._authServerUrl)}catch(i){t=new URL(e),t.pathname=this._authServerUrl}t.protocol||(t.protocol=e.protocol),t.hostname||(t.hostname=e.hostname),t.port||(t.port=e.port),this._config.keycloakUrl=t.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),t=yield this.doAuthInit(),t||this._config.skipFallbackToBasicAuth||(console.log("Falling back to basic auth"),this._config.auth="BASIC",t=yield this.doAuthInit())}return t&&(t=this.doRestApiInit()),yield this.doConsoleInit(),t=(yield this.doTranslateInit())&&t,t&&(t=yield this.doDescriptorsInit(),t=yield this.getConsoleAppConfig()),this.doIconInit(),t?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(OREvent.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=e.realm||"master",t}))}loadManagerInfo(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield new Promise(((e,t)=>{const i=new XMLHttpRequest;i.addEventListener("load",(()=>{e(JSON.parse(i.responseText))})),i.addEventListener("error",(()=>{t(new Error("Failed to contact the manager"))})),i.open("GET",this._config.managerUrl+"/api/master/info"),i.send()}));return this._managerVersion=e&&e.version?e.version:"",this._authServerUrl=e&&e.authServerUrl?e.authServerUrl:"",!0}catch(e){return console.error("Failed to contact the manager",e),this._setError(ORError.MANAGER_FAILED_TO_LOAD),!1}}))}doTranslateInit(){return __awaiter(this,void 0,void 0,(function*(){if(i18next.isInitialized)return!0;i18next.on("initialized",(e=>{this._emitEvent(OREvent.TRANSLATE_INIT)})),i18next.on("languageChanged",(e=>{moment.locale(e),this._emitEvent(OREvent.TRANSLATE_LANGUAGE_CHANGED)}));const e={lng:(this.console?yield this.console.retrieveData("LANGUAGE"):void 0)||"en",fallbackLng:"en",defaultNS:"app",fallbackNS:"or",ns:this.config.loadTranslations,interpolation:{format:(e,t,i)=>"uppercase"===t?e.toUpperCase():e instanceof Date?moment(e).format(t):e},backend:{loadPath:(e,t)=>1===t.length&&"or"===t[0]?this.config.managerUrl+"/shared/locales/{{lng}}/{{ns}}.json":this.config.translationsLoadPath?this.config.translationsLoadPath:"locales/{{lng}}/{{ns}}.json"}};this.config.configureTranslationsOptions&&this.config.configureTranslationsOptions(e);try{yield i18next.use(i18nextBackend).init(e)}catch(e){return console.error(e),this._setError(ORError.TRANSLATION_ERROR),!1}return!0}))}doDescriptorsInit(){return __awaiter(this,void 0,void 0,(function*(){if(!this.config.loadDescriptors)return!0;try{const e=yield rest.api.AssetModelResource.getAssetInfos(),t=yield rest.api.AssetModelResource.getMetaItemDescriptors(),i=yield rest.api.AssetModelResource.getValueDescriptors();AssetModelUtil._assetTypeInfos=e.data,AssetModelUtil._metaItemDescriptors=Object.values(t.data),AssetModelUtil._valueDescriptors=Object.values(i.data)}catch(e){return console.error(e),!1}return!0}))}doAuthInit(){return __awaiter(this,void 0,void 0,(function*(){let e=!0;switch(this._config.auth){case"BASIC":e=yield this.initialiseBasicAuth();break;case"KEYCLOAK":e=yield this.loadAndInitialiseKeycloak();break;case"NONE":return!0;default:return this._setError(ORError.AUTH_TYPE_UNSUPPORTED),!1}return rest.addRequestInterceptor((e=>{if(!e.headers.Authorization){const t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e})),e}))}doRestApiInit(){return rest.setTimeout(1e4),rest.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return __awaiter(this,void 0,void 0,(function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new WebSocketEventProvider(this._config.managerUrl),this._events.subscribeStatusChange((e=>this._onEventProviderStatusChanged(e))),e=yield this._events.connect()),e||this._setError(ORError.EVENTS_CONNECTION_ERROR),e}))}reconnect(e=!1){(this._authDisconnected||e)&&this._runAuthReconnectTimer(),(this._eventsDisconnected||e)&&this._tryReconnectEvents()}_runAuthReconnectTimer(e=5e3,t=2e4){if(this._authReconnectTimeout)this._tryUpdateAccessToken();else{const i=()=>{this._tryUpdateAccessToken().then((n=>{n?(e=Math.min(t,Math.round(1.2*e)),console.debug(`Authentication service reconnect failed. Trying again in ${e} milliseconds...`),this._authReconnectTimeout=window.setTimeout(i,e),this._emitEvent(OREvent.RECONNECT_FAILED)):this._finishAuthReconnectTimer(!0)})).catch((e=>{console.error(e),this._finishAuthReconnectTimer(!1)}))};i()}}_finishAuthReconnectTimer(e){this._authReconnectTimeout&&(clearTimeout(this._authReconnectTimeout),delete this._authReconnectTimeout,e&&this._setAuthDisconnected(!1))}isKeycloakReachable(){return __awaiter(this,void 0,void 0,(function*(){const e=new AbortController,t=setTimeout((()=>e.abort()),2e3);try{return yield fetch(this._config.keycloakUrl+"/health/ready",{method:"HEAD",mode:"no-cors",signal:e.signal}),Promise.resolve()}catch(e){return Promise.reject(e)}finally{clearTimeout(t)}}))}_tryUpdateAccessToken(){return __awaiter(this,void 0,void 0,(function*(){let e=!1;return this.isKeycloak()&&(console.debug("Attempting to update keycloak access token..."),this._emitEvent(OREvent.CONNECTING),yield this.isKeycloakReachable().catch((()=>{e=!0,console.error("Could not reach keycloak service! Aborting token update.")})),e||(yield this.updateKeycloakAccessToken().catch((t=>{e=!0,console.error(t)})))),this._setAuthDisconnected(e),e}))}_tryReconnectEvents(){var e,t,i;if((null===(e=this.events)||void 0===e?void 0:e.status)!==EventProviderStatus.CONNECTED)if((null===(t=this.events)||void 0===t?void 0:t.status)===EventProviderStatus.DISCONNECTED)this._connectEvents();else if((null===(i=this.events)||void 0===i?void 0:i.status)===EventProviderStatus.CONNECTING){const e=t=>{var i;t===EventProviderStatus.DISCONNECTED&&(null===(i=this.events)||void 0===i||i.unsubscribeStatusChange(e),this._connectEvents())};this.events.subscribeStatusChange(e),setTimeout((()=>{var t;null===(t=this.events)||void 0===t||t.unsubscribeStatusChange(e)}),4e3)}}_connectEvents(){var e;(null===(e=this.events)||void 0===e?void 0:e.status)===EventProviderStatus.DISCONNECTED?this.events.connect().catch((e=>{console.error("Failed to connect EventProvider."),console.error(e)})):console.warn("Tried to connect EventProvider, but it wasn't disconnected!")}_onEventProviderStatusChanged(e){switch(e){case EventProviderStatus.DISCONNECTED:this._setEventDisconnected(!0);break;case EventProviderStatus.CONNECTED:this._setEventDisconnected(!1);break;case EventProviderStatus.CONNECTING:this._emitEvent(OREvent.CONNECTING);break;case EventProviderStatus.RECONNECT_FAILED:this._emitEvent(OREvent.RECONNECT_FAILED)}}doConsoleInit(){return __awaiter(this,void 0,void 0,(function*(){try{const e=new Console(this._config.realm,this._config.consoleAutoEnable,(()=>{this._emitEvent(OREvent.CONSOLE_READY)}));return this._console=e,yield e.initialise(),this._emitEvent(OREvent.CONSOLE_INIT),!0}catch(e){return this._setError(ORError.CONSOLE_ERROR),!1}}))}doIconInit(){this._config.loadIcons&&(IconSets.addIconSet("mdi",createMdiIconSet(manager.config.managerUrl)),IconSets.addIconSet("or",createSvgIconSet(OrIconSet.size,OrIconSet.icons)))}getConsoleAppConfig(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield fetch(manager.config.managerUrl+"/consoleappconfig/"+manager.displayRealm+".json");return this._consoleAppConfig=yield e.json(),!0}catch(e){return!0}}))}logout(e){this._keycloak?(this.console.isMobile&&this.console.storeData("REFRESH_TOKEN",null),this._keycloak.logout(e&&""!==e?{redirectUri:e}:void 0)):this._basicIdentity&&(this._basicIdentity=void 0,e?window.location.href=e:window.location.reload())}login(e){switch(this._config.auth){case"BASIC":e&&e.credentials&&(this._config.credentials=Object.assign({},e.credentials)),this.doBasicLogin();break;case"KEYCLOAK":if(this._keycloak){const t={};e&&e.redirectUrl&&""!==e.redirectUrl&&(t.redirectUri=e.redirectUrl),this.isMobile()&&(t.scope="offline_access"),this._keycloak.login(t)}}}initialiseBasicAuth(){return __awaiter(this,void 0,void 0,(function*(){return this.config.basicLoginProvider?(this.config.autoLogin&&(this._readyCallback=()=>this.doBasicLogin()),!0):(console.log("No basicLoginProvider defined on config so cannot display login UI"),!1)}))}doBasicLogin(){var e,t,i,n;return __awaiter(this,void 0,void 0,(function*(){if(!this.config.basicLoginProvider)return;let o={username:(null===(e=this._config.credentials)||void 0===e?void 0:e.username)?null===(t=this._config.credentials)||void 0===t?void 0:t.username:"",password:(null===(i=this._config.credentials)||void 0===i?void 0:i.password)?null===(n=this._config.credentials)||void 0===n?void 0:n.password:"",cancel:!1},s=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!s;){if(o=yield this.config.basicLoginProvider(o.username,o.password),o.cancel){console.log("Basic authentication cancelled by user");break}if(!o.username||!o.password)continue;this._basicIdentity.token=btoa(o.username+":"+o.password);let e=!1;try{const t=yield rest.api.UserResource.getCurrent();200===t.status&&(e=!0,this._basicIdentity.user=t.data),e||401!==t.status&&403!==t.status||console.log("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(!e){console.log("Unknown response so aborting"),this._basicIdentity=void 0;break}{console.log("Basic authentication successful"),s=!0;const e=yield rest.api.UserResource.getCurrentUserRoles();this._basicIdentity.roles=e.data}}this._setAuthenticated(s)}))}isSuperUser(){return!(!this.getRealm()||"master"!==this.getRealm()||!this.hasRealmRole("admin"))}isRestrictedUser(){return!!this.hasRealmRole("restricted_user")}getApiBaseUrl(){let e=this._config.managerUrl;return e+="/api/"+this._config.realm+"/",e}getAppName(){const e=location.pathname.split("/");return e.length>=1?e[1]:""}hasRealmRole(e){return this.isKeycloak()&&this._keycloak.hasRealmRole(e)}hasRole(e,t=this._config.clientId){const i=this.roles;return i&&i.has(t)&&i.get(t).indexOf(e)>=0}getAuthorizationHeader(){return this.getKeycloakToken()?"Bearer "+this.getKeycloakToken():this.getBasicToken()?"Basic "+this.getBasicToken():void 0}getKeycloakToken(){if(this.isKeycloak())return this._keycloak.token}getBasicToken(){return this._basicIdentity?this._basicIdentity.token:void 0}isTokenExpired(e=2e3){var t,i,n;return this.isKeycloak()?(null===(i=null===(t=this._keycloak)||void 0===t?void 0:t.tokenParsed)||void 0===i?void 0:i.exp)<=moment().add(e,"milliseconds").unix():!(null===(n=this._basicIdentity)||void 0===n?void 0:n.token)}getRealm(){if(this._config)return this._config.realm}isMobile(){return this.console&&this.console.isMobile}isKeycloak(){return!!this._keycloak}_onAuthenticated(){var e;this.console&&this.console.isMobile&&"KEYCLOAK"===this.config.auth&&(this._keycloak&&"Offline"===(null===(e=this._keycloak.refreshTokenParsed)||void 0===e?void 0:e.typ)?(console.debug("Storing offline refresh token"),this.console.storeData("REFRESH_TOKEN",this._keycloak.refreshToken)):this.login())}loadAndInitialiseKeycloak(){var e,t;return __awaiter(this,void 0,void 0,(function*(){try{this._keycloak=new Keycloak({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl}),this._keycloak.onAuthSuccess=()=>{this._finishAuthReconnectTimer(!0)},this._keycloak.onAuthError=()=>{this._setAuthenticated(!1)},this._keycloak.onAuthRefreshError=()=>{console.debug("Keycloak failed to refresh the access token."),this._setAuthDisconnected(!0)};const i=yield this._getNativeOfflineRefreshToken(),n=yield this._keycloak.init({checkLoginIframe:!1,onLoad:this._config.autoLogin?"login-required":"check-sso",refreshToken:i});return n&&(this._name=null===(e=this._keycloak.tokenParsed)||void 0===e?void 0:e.name,this._username=null===(t=this._keycloak.tokenParsed)||void 0===t?void 0:t.preferred_username,this._keycloakUpdateTokenInterval&&(clearInterval(this._keycloakUpdateTokenInterval),delete this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=window.setInterval((()=>{this._authDisconnected||this.updateKeycloakAccessToken().catch((()=>{console.error("Could not update keycloak access token during regular interval.")}))}),1e4),this._onAuthenticated()),this._setAuthenticated(n),!0}catch(e){return this._setAuthenticated(!1),this._setError(ORError.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}}))}updateKeycloakAccessToken(){return __awaiter(this,void 0,void 0,(function*(){const e=this._keycloak.updateToken(30);let t;return e.then((e=>{console.debug("Access token update success, refreshed from server: "+e)})).catch((()=>{console.error("Access token update failed."),this._setAuthDisconnected(!0)})),Promise.race([e,new Promise(((e,i)=>t=setTimeout(i,15e3)))]).finally((()=>clearTimeout(t)))}))}_getNativeOfflineRefreshToken(){return __awaiter(this,void 0,void 0,(function*(){if(this.console&&this.console.isMobile)return yield this.console.retrieveData("REFRESH_TOKEN")}))}_emitEvent(e){window.setTimeout((()=>{const t=this._listeners;for(const i of t)i(e)}),0)}_setError(e){this._error=e,this._emitEvent(OREvent.ERROR),console.log("Error set: "+e)}_setAuthenticated(e){this._authenticated=e,this._events&&this._events.disconnect(),this._events||this.doEventsSubscriptionInit()}_setAuthDisconnected(e,t=!1){(this._authDisconnected!==e||t)&&(console.debug("Authentication service status changed: "+(e?"DISCONNECTED":"CONNECTED")),e?(this._authDisconnected=!0,this._runAuthReconnectTimer(),this._emitEvent(OREvent.OFFLINE)):(this._authDisconnected=!1,this._eventsDisconnected?this._tryReconnectEvents():this._emitEvent(OREvent.ONLINE)))}_setEventDisconnected(e,t=!1){(this._eventsDisconnected!==e||t)&&(console.debug("EventProvider status changed: "+(e?"DISCONNECTED":"CONNECTED")),e?(this._eventsDisconnected=!0,this._emitEvent(OREvent.OFFLINE),this.isTokenExpired()&&!this._authDisconnected&&this._tryUpdateAccessToken().then((e=>{e||this._setAuthDisconnected(!1,!0)}))):(this._eventsDisconnected=!1,this._authDisconnected?this._runAuthReconnectTimer():this._emitEvent(OREvent.ONLINE)))}}export const manager=new Manager;export default manager;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/util.d.ts ADDED
@@ -0,0 +1,92 @@
1
+ import { Asset, AssetDescriptor, Attribute, AttributeDescriptor, AttributeEvent, GeofencePredicate, JsonRulesetDefinition, NameHolder, NameValueHolder, PushNotificationMessage, ValueDescriptor, ValueDescriptorHolder, ValueFormat, ValueConstraint, MetaItemDescriptor, Role } from "@openremote/model";
2
+ export declare class Deferred<T> {
3
+ protected _resolve: (value: T | PromiseLike<T>) => void;
4
+ protected _reject: (reason?: any) => void;
5
+ protected _promise: Promise<T>;
6
+ get resolve(): (value: T | PromiseLike<T>) => void;
7
+ get reject(): (reason?: any) => void;
8
+ get promise(): Promise<T>;
9
+ constructor();
10
+ }
11
+ export interface GeoNotification {
12
+ predicate: GeofencePredicate;
13
+ notification?: PushNotificationMessage;
14
+ }
15
+ export declare function getQueryParameters(queryStr: string): any;
16
+ export declare function getQueryParameter(queryStr: string, parameter: string): any | undefined;
17
+ export declare function getGeoNotificationsFromRulesSet(rulesetDefinition: JsonRulesetDefinition): GeoNotification[];
18
+ export declare function isTimeDuration(time?: string): boolean;
19
+ export declare function isTimeDurationPositiveInfinity(time?: string): boolean;
20
+ export declare function isTimeDurationNegativeInfinity(time?: string): boolean;
21
+ export declare function isObject(object: any): boolean;
22
+ export declare function isFunction(object: any): boolean;
23
+ export declare function objectsEqual(obj1?: any, obj2?: any, deep?: boolean): boolean;
24
+ export declare function arrayRemove<T>(arr: T[], item: T): void;
25
+ export declare function sentenceCaseToCamelCase(str: string | undefined): string;
26
+ export declare function camelCaseToSentenceCase(str: string | undefined): string;
27
+ export declare function stringMatch(needle: string, haystack: string): boolean;
28
+ export declare function capitaliseFirstLetter(str: string | undefined): string | undefined;
29
+ export declare function enumContains(enm: object, val: string): boolean;
30
+ export declare function getEnumKeyAsString(enm: object, val: string): string;
31
+ export declare function getWeekNumber(date: Date): number;
32
+ export declare function formatCronString(years?: string | number | string[], months?: string | string[] | number[], days?: string | number[], hours?: string | number[], minutes?: string | number[], seconds?: string | number[], daysOfTheWeek?: string): string;
33
+ export declare function dateToCronString(date: Date): string;
34
+ export declare function cronStringToISOString(cronString: String, isUTC: boolean): string | undefined;
35
+ export declare function getMetaValue(name: string | NameHolder, attribute: Attribute<any> | undefined, descriptor?: ValueDescriptorHolder | ValueDescriptor | string): any | undefined;
36
+ export declare function hasMetaItem(name: string | NameHolder, attribute: Attribute<any> | undefined, descriptor?: AttributeDescriptor | string): boolean;
37
+ export declare function getAssetTypeLabel(type: string | AssetDescriptor | undefined): string;
38
+ export declare function getValueDescriptorLabel(descriptor: ValueDescriptor | undefined | string): string;
39
+ export declare function getAllowedValueLabel(allowedValue: string, fallback?: string): string | undefined;
40
+ export declare function getMetaItemNameValueHolder(metaNameOrDescriptor: MetaItemDescriptor | string, value: any): NameValueHolder<any>;
41
+ export declare function getAttributeLabel(attribute: Attribute<any> | undefined, descriptor: AttributeDescriptor | undefined, assetType: string | undefined, showUnits: boolean, fallback?: string): string;
42
+ export declare function getMetaLabel(metaItem: NameValueHolder<any> | undefined, descriptor: MetaItemDescriptor | string, assetType: string | undefined, showUnits: boolean, fallback?: string): string;
43
+ export declare function getAttributeValueAsString(attribute: Attribute<any>, descriptor: AttributeDescriptor | string | undefined, assetType: string | undefined, showUnits: boolean, fallback?: string): string;
44
+ export declare function getMetaValueAsString(metaItem: NameValueHolder<any> | undefined, descriptor: MetaItemDescriptor | string, assetType: string | undefined, showUnits: boolean, fallback?: string): string;
45
+ export declare function getValueAsString(value: any, formatProvider: () => ValueFormat | undefined, language?: string, fallback?: string): string;
46
+ /**
47
+ * Resolve supplied units using current translation locale; and optionally apply the units to the supplied value (this
48
+ * is useful for units containing currency which in some locales is prefixed to the value e.g. £0.00 kW/hr rather than
49
+ * 0.00 £kW/hr)
50
+ */
51
+ export declare function resolveUnits(units: string[] | undefined, valueStr?: string): string;
52
+ /**
53
+ * Looks for {@link ValueConstraint[]} for the specified {@link Attribute} (see {@link getValueFormatConstraintOrUnits})
54
+ */
55
+ export declare function getAttributeValueConstraints(attribute: Attribute<any> | undefined, descriptor: AttributeDescriptor | string | undefined, assetType: string | undefined): ValueConstraint[] | undefined;
56
+ /**
57
+ * Looks for {@link ValueConstraint[]} for the specified {@link NameValueHolder} (see {@link getValueFormatConstraintOrUnits})
58
+ */
59
+ export declare function getMetaValueConstraints(metaItem: NameValueHolder<any> | undefined, descriptor: MetaItemDescriptor | string, assetType: string | undefined): ValueConstraint[] | undefined;
60
+ /**
61
+ * Looks for units string[] for the specified {@link Attribute} (see {@link getValueFormatConstraintOrUnits})
62
+ */
63
+ export declare function getAttributeUnits(attribute: Attribute<any> | undefined, descriptor: AttributeDescriptor | ValueDescriptor | string | undefined, assetType: string | undefined): string[] | undefined;
64
+ /**
65
+ * Looks for units string[] for the specified {@link MetaItem} (see {@link getValueFormatConstraintOrUnits})
66
+ */
67
+ export declare function getMetaUnits(metaItem: NameValueHolder<any> | undefined, descriptor: MetaItemDescriptor | string, assetType: string | undefined): string[] | undefined;
68
+ /**
69
+ * Looks for a {@link ValueFormat} for the specified {@link Attribute} (see {@link getValueFormatConstraintOrUnits})
70
+ */
71
+ export declare function getAttributeValueFormat(attribute: Attribute<any> | undefined, descriptor: AttributeDescriptor | string | undefined, assetType: string | undefined): ValueFormat | undefined;
72
+ /**
73
+ * Looks for a {@see ValueFormat} for the specified {@link MetaItem} (see {@link getValueFormatConstraintOrUnits})
74
+ */
75
+ export declare function getMetaValueFormat(metaItem: NameValueHolder<any> | undefined, descriptor: MetaItemDescriptor | string, assetType: string | undefined): ValueFormat | undefined;
76
+ export declare function mergeObjects(a: object | undefined, b: object | undefined, mergeArrays: boolean): object;
77
+ /**
78
+ * Immutable update of an asset using the supplied attribute event
79
+ */
80
+ export declare function updateAsset(asset: Asset, event: AttributeEvent): Asset;
81
+ export declare function loadJs(url: string): Promise<unknown>;
82
+ export declare function sortByNumber<T>(valueExtractor: (item: T) => number): (a: T, b: T) => number;
83
+ export declare function sortByString<T>(valueExtractor: (item: T) => string): (a: T, b: T) => number;
84
+ export interface RequestEventDetail<T> {
85
+ allow: boolean;
86
+ detail: T;
87
+ }
88
+ export declare function dispatchCancellableEvent<T>(target: EventTarget, event: CustomEvent<RequestEventDetail<T>>): Promise<RequestEventDetail<T>>;
89
+ export declare function disableScroll(): void;
90
+ export declare function enableScroll(): void;
91
+ export declare function blobToBase64(blob: Blob): Promise<unknown>;
92
+ export declare function realmRoleFilter(role: Role): boolean;
package/lib/util.js ADDED
@@ -0,0 +1 @@
1
+ import i18next from"i18next";import Qs from"qs";import{AssetModelUtil}from"@openremote/model";import moment from"moment";export class Deferred{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t})),Object.freeze(this)}}export function getQueryParameters(e){return Qs.parse(e,{ignoreQueryPrefix:!0})}export function getQueryParameter(e,t){const r=getQueryParameters(e);return r?r[t]:void 0}export function getGeoNotificationsFromRulesSet(e){const t=[];return e.rules.forEach((e=>{if(e.when&&e.then&&e.then.length>0){const r=new Map;addGeofencePredicatesFromRuleCondition(e.when,0,r),r.size>0&&e.then.forEach((e=>addPushNotificationsFromRuleAction(e,r)));for(const e of r.values())e.forEach((e=>{e.notification&&t.push(e)}))}})),t}function addGeofencePredicatesFromRuleCondition(e,t,r){if(!e)return;const n=[];e.groups&&e.groups.forEach((e=>{e.items&&e.items.forEach((e=>{n.push(e)}))})),e.items&&e.items.forEach((e=>{n.push(e)})),n&&n.forEach((e=>{if(e.assets&&e.assets.attributes){const n=[];if(addGeoNotificationsFromAttributePredicateCondition(e.assets.attributes,n),n.length>0){const o=e.tag||t.toString();r.set(o,n)}}}))}function addGeoNotificationsFromAttributePredicateCondition(e,t){e&&(e.items.forEach((e=>{!e.value||"radial"!==e.value.predicateType&&"rect"!==e.value.predicateType||t.push({predicate:e.value})})),e.groups&&e.groups.forEach((e=>addGeoNotificationsFromAttributePredicateCondition(e,t))))}function addPushNotificationsFromRuleAction(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){const r=e.target;if(r&&r.conditionAssets){const n=t.get(r.conditionAssets);n&&n.forEach((t=>{t.notification=e.notification.message}))}else for(const r of t.values())r.forEach((t=>{t.notification=e.notification.message}))}}const TIME_DURATION_REGEXP=/([+-])?((\d+)[Dd])?\s*((\d+)[Hh])?\s*((\d+)[Mm]$)?\s*((\d+)[Ss])?\s*((\d+)([Mm][Ss]$))?\s*((\d+)[Ww])?\s*((\d+)[Mm][Nn])?\s*((\d+)[Yy])?/;export function isTimeDuration(e){return!!e&&(e=e.trim()).length>0&&(TIME_DURATION_REGEXP.test(e)||isTimeDurationPositiveInfinity(e)||isTimeDurationNegativeInfinity(e))}export function isTimeDurationPositiveInfinity(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}export function isTimeDurationNegativeInfinity(e){return"-*"===(null!=e?e.trim():void 0)}export function isObject(e){return!!e&&"object"==typeof e}export function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}export function objectsEqual(e,t,r=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function)return e===t;if(e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length)return!1;if(e instanceof Date)return!1;if(!(e instanceof Object))return!1;if(!(t instanceof Object))return!1;if(r){const r=Object.keys(e);return Object.keys(t).every((e=>-1!==r.indexOf(e)))&&r.every((r=>objectsEqual(e[r],t[r])))}return!1}export function arrayRemove(e,t){if(0===e.length)return;const r=e.indexOf(t);r>=0&&e.splice(r,1)}export function sentenceCaseToCamelCase(e){return null==e?"":e.split(" ").map(((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1))).join("")}export function camelCaseToSentenceCase(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map(((e,r,n)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){const t=!n[r-1]||"_"===n[r-1],o=r+1<n.length&&n[r+1]&&"_"!==n[r+1],i=r+3>n.length||!n[r+1]&&!n[r+3];t&&!o||(e=" "+e),(o||!t&&!i)&&(e=e.toLowerCase())}return e})).join("").trim()}export function stringMatch(e,t){if(t===e)return!0;const r=e.endsWith("*"),n=!r&&e.startsWith("*"),o=!r&&!n&&e.startsWith("^")&&e.endsWith("$");if(r&&t.startsWith(e.substr(0,e.length-1)))return!0;if(n&&t.endsWith(e.substr(1)))return!0;if(o)try{return new RegExp(e).test(t)}catch(e){console.error("Failed to compile needle as a RegExp: "+e)}return!1}export function capitaliseFirstLetter(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}export function enumContains(e,t){return e&&Object.values(e).includes(t)}export function getEnumKeyAsString(e,t){return Object.keys(e).find((r=>e[r]===t))}export function getWeekNumber(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));const t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}const monthNames=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];export function formatCronString(e,t,r,n,o,i,a){let s="";if(i?Array.isArray(i)?s+=i.toString().replace(" ",""):s+=i.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="0",s+=" ",r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){const e=[];t.forEach((t=>{e.push(monthNames[t].toString())})),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",s+=a?a.toString():"?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}export function dateToCronString(e){return formatCronString(e.getFullYear(),monthNames[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}export function cronStringToISOString(e,t){const r=e.split(" ");if(!(Number.isNaN(Number(r[0]))||Number.isNaN(Number(r[1]))||Number.isNaN(Number(r[2]))||Number.isNaN(Number(r[3]))&&"*"!=r[3])){const e=(Number.isNaN(Number(r[6]))?(new Date).getFullYear():r[6]).toString();let n="";n="*"!=r[4]?monthNames.indexOf(r[4]).toString():(new Date).getMonth().toString(),n=1==n.length?"0"+n:n;const o=1==r[3].length&&"*"!=r[3]?"0"+r[3]:r[3].replace("*","01"),i=1==r[2].length&&"*"!=r[2]?"0"+r[2]:r[2].replace("*","00"),a=1==r[1].length&&"*"!=r[1]?"0"+r[1]:r[1].replace("*","00"),s=1==r[0].length&&"*"!=r[0]?"0"+r[0]:r[0].replace("*","00");if(e.length>0&&n.length>0)return t?moment.utc({year:Number(e),month:Number(n),date:Number(o),hour:Number(i),minute:Number(a),second:Number(s)}).toISOString():moment({year:Number(e),month:Number(n),date:Number(o),hour:Number(i),minute:Number(a),second:Number(s)}).toISOString()}}export function getMetaValue(e,t,r){const n="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(n)?t.meta[n]:r&&r.meta?r.meta[n]:void 0}export function hasMetaItem(e,t,r){const n="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(n))||!!(r&&r.meta&&r.meta.hasOwnProperty(n))}export function getAssetTypeLabel(e){return"string"==typeof e&&(e=AssetModelUtil.getAssetDescriptor(e)),e?i18next.t("label.asset."+e.name,{defaultValue:camelCaseToSentenceCase(e.name)}):""}export function getValueDescriptorLabel(e){if(!e)return i18next.t("label.value.unknown",{defaultValue:"Unknown"});const t="string"==typeof e?e:e.name;return i18next.t("label.value."+t,{defaultValue:camelCaseToSentenceCase(t||"")})}export function getAllowedValueLabel(e,t){if(e)return i18next.t("label.allowedValue."+e,{defaultValue:t||camelCaseToSentenceCase(e||""),nsSeparator:!1})}export function getMetaItemNameValueHolder(e,t){const r="string"==typeof e?AssetModelUtil.getMetaItemDescriptor(e):e;return r?{name:r.name,type:r.type,value:t}:{name:typeof e,type:AssetModelUtil.resolveValueTypeFromValue(t),value:t}}export function getAttributeLabel(e,t,r,n,o){return getValueHolderLabel(e,t,r,n,!0,o)}export function getMetaLabel(e,t,r,n,o){return getValueHolderLabel(e||getMetaItemNameValueHolder(t,null),t,r,n,!1,o)}function getValueHolderLabel(e,t,r,n,o,i){let a=doStandardTranslationLookup("label",e,t,r,o),s="";if(a||(a=getMetaValue("label",e,t&&t.meta?t:void 0)),n&&(s=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,r,o))),!a){const r=e?e.name:t?"string"==typeof t?t:t.name:void 0;a=i||(r?camelCaseToSentenceCase(r):void 0)}return a?a+(s?" ("+s+")":""):s}export function getAttributeValueAsString(e,t,r,n,o){return getValueHolderValueAsString(e,t,r,n,!0,o)}export function getMetaValueAsString(e,t,r,n,o){return getValueHolderValueAsString(e||getMetaItemNameValueHolder(t,null),t,r,n,!1,o)}function getValueHolderValueAsString(e,t,r,n,o,i){let a=getValueAsString(e?e.value:void 0,(()=>getValueFormatConstraintOrUnits("format",e,t,r,o)),void 0,i);const s=getAttributeUnits(e,t,r);return n&&s&&s.length&&(a=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,r,o),a)),a}export function getValueAsString(e,t,r,n){let o="";if(null==e)o=n||"";else if("string"==typeof e)o=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){const n=t&&t();if(n&&0!==Object.keys(n).length)switch("number"==typeof e?n.asBoolean?e=!!e:n.asDate&&(e=new Date(e)):"boolean"==typeof e&&n.asNumber&&(e=e?1:0),typeof e){case"number":o=new Intl.NumberFormat(r||i18next.language,n).format(e);break;case"boolean":n.asOnOff&&(o=e?i18next.t("on"):i18next.t("off")),n.asOpenClosed&&(o=e?i18next.t("open"):i18next.t("closed")),n.asPressedReleased&&(o=e?i18next.t("pressed"):i18next.t("released"));break;case"object":if(n.momentJsFormat)o=moment(e).format(n.momentJsFormat);else if(n.iso8601)o=e.toISOString();else if(n.week){const t=getWeekNumber(e);o="2-digit"===n.week?String(t).padStart(2,"0"):Number(t).toString(10)}else o=new Intl.DateTimeFormat(r||i18next.language,n).format(e)}else o=Object(e).toString()}return o}export function resolveUnits(e,t){if(!e)return"";t||(t="");const r=e.map(((e,r)=>{if(3!==e.length||e.toUpperCase()!==e)return i18next.t(["units."+e,"or:units."+e]);{const n=new Intl.NumberFormat(i18next.language,{currency:e,style:"currency"}).formatToParts();if(0!==r||"currency"!==n[0].type)return"currency"===n[0].type?n[0].value:n[n.length-1].value;if(!t)return n[0].value;t=n[0].value+t}})).join("");return t.length>0?t+" "+r:r}export function getAttributeValueConstraints(e,t,r){return getValueFormatConstraintOrUnits("constraints",e,t,r,!0)}export function getMetaValueConstraints(e,t,r){return getValueFormatConstraintOrUnits("constraints",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function getAttributeUnits(e,t,r){return getValueFormatConstraintOrUnits("units",e,t,r,!0)}export function getMetaUnits(e,t,r){return getValueFormatConstraintOrUnits("units",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function getAttributeValueFormat(e,t,r){return getValueFormatConstraintOrUnits("format",e,t,r,!0)}export function getMetaValueFormat(e,t,r){return getValueFormatConstraintOrUnits("format",e||getMetaItemNameValueHolder(t,null),t,r,!1)}export function mergeObjects(e,t,r){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);const n=Object.assign({},e),o=[];return Object.entries(t).forEach((([e,t])=>{mergeObjectKey(n,o,e,t,r)})),n}function mergeObjectKey(e,t,r,n,o){let i=e;t.forEach((e=>{i.hasOwnProperty(e)||(i[e]={}),i=i[e]})),i&&(i.hasOwnProperty(r)?null==n?delete i[r]:Array.isArray(i[r])?i[r]=o?[...i[r],...n]:[...n]:i[r]="object"==typeof n?mergeObjects(Object.assign({},i[r]),n,o):n:null==n?delete i[r]:Array.isArray(n)?i[r]=[...n]:i[r]="object"==typeof n?Object.assign({},n):n)}function getValueFormatConstraintOrUnits(e,t,r,n,o){let i;const a=[],s=doStandardTranslationLookup(e,t&&"string"==typeof t?t:t?t.name:r?"string"==typeof r?r:r.name:void 0,r,n,o);if(s&&(i=JSON.parse(s),i)){if("format"!==e)return i;a.push(i)}if(t&&t.meta&&(i=getMetaValue(e,t,r),i)){if("format"!==e)return i;a.push(i)}if(r&&"string"!=typeof r&&r.hasOwnProperty(e)){if(i=r[e],"format"!==e)return i;a.push(i)}if(r&&r.type){if(i=AssetModelUtil.getValueDescriptor(r.type)[e],"format"!==e)return i;a.push(i)}if("format"!==e||0===a.length)return i;let u={};return a.reverse().forEach((e=>{u=Object.assign(Object.assign({},u),e)})),u}function doStandardTranslationLookup(e,t,r,n,o,i){let a;if(t?a="string"==typeof t?t:t.name:r&&(a="string"==typeof r?r:r.name),!a)return;const s=[],u=e+"."+(o?"attribute":"meta")+".";return n&&s.push(u+n+"."+a),r&&"string"!=typeof r&&(s.push(u+r.type+"."+a),s.push(u+r.type)),s.push(u+a),s.length>0?i18next.t(s,{defaultValue:i||""}):void 0}export function updateAsset(e,t){const r=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[r];else{const n=e.attributes[r];n&&(n.value=t.value,n.timestamp=t.timestamp)}return Object.assign({},e)}export function loadJs(e){return new Promise(((t,r)=>{const n=document.createElement("script");n.type="text/javascript",n.src=e,n.addEventListener("load",(e=>t(e)),!1),n.addEventListener("error",(e=>r(e)),!1),document.body.appendChild(n)}))}export function sortByNumber(e){return(t,r)=>{const n=e(t),o=e(r);return n||o?n&&!o?1:!n&&o?-1:n-o:0}}export function sortByString(e){return(t,r)=>{const n=e(t),o=e(r);return n||o?n&&!o?1:!n&&o?-1:n.localeCompare(o):0}}export function dispatchCancellableEvent(e,t){const r=new Deferred;return e.dispatchEvent(t),window.setTimeout((()=>{r.resolve(t.detail)})),r.promise}const keys={37:1,38:1,39:1,40:1};function preventDefault(e){e.preventDefault()}function preventDefaultForScrollKeys(e){if(keys[e.keyCode])return preventDefault(e),!1}let supportsPassive=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{supportsPassive=!0}}))}catch(e){}const wheelOpt=!!supportsPassive&&{passive:!1},wheelEvent="onwheel"in document.createElement("div")?"wheel":"mousewheel";export function disableScroll(){window.addEventListener("DOMMouseScroll",preventDefault,!1),window.addEventListener(wheelEvent,preventDefault,wheelOpt),window.addEventListener("touchmove",preventDefault,wheelOpt),window.addEventListener("keydown",preventDefaultForScrollKeys,!1)}export function enableScroll(){window.removeEventListener("DOMMouseScroll",preventDefault,!1),window.removeEventListener(wheelEvent,preventDefault,wheelOpt),window.removeEventListener("touchmove",preventDefault,wheelOpt),window.removeEventListener("keydown",preventDefaultForScrollKeys,!1)}export function blobToBase64(e){return new Promise(((t,r)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>{t(n.result)},n.onerror=e=>{r(e)}}))}export function realmRoleFilter(e){return"admin"===e.name||!e.composite&&!["uma_authorization","offline_access","create-realm"].includes(e.name)&&!e.name.startsWith("default-roles")}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,25 +1,42 @@
1
1
  {
2
2
  "name": "@openremote/core",
3
- "version": "1.0.2",
3
+ "version": "1.2.0-snapshot.20240512154942",
4
4
  "description": "OpenRemote 3.x Core",
5
- "main": "dist/index.js",
6
- "types": "src/index.ts",
5
+ "main": "dist/umd/index.bundle.js",
6
+ "module": "lib/index.js",
7
+ "exports": {
8
+ ".": "./lib/index.js",
9
+ "./*": "./lib/*.js"
10
+ },
11
+ "types": "lib/index.d.ts",
12
+ "files": [
13
+ "lib",
14
+ "dist"
15
+ ],
7
16
  "scripts": {
8
- "build": "npx tsc -b",
9
- "test": "echo \"No tests\" && exit 0"
17
+ "test": "echo \"No tests\" && exit 0",
18
+ "prepublishOnly": "npx webpack"
10
19
  },
11
20
  "author": "OpenRemote",
12
21
  "license": "AGPL-3.0-or-later",
13
22
  "dependencies": {
14
- "@openremote/or-icon": "^1.0.0",
15
- "@openremote/rest": "^1.0.0",
16
- "i18next": "^15.0.9",
17
- "i18next-xhr-backend": "^2.0.1",
18
- "platform": "^1.3.5",
19
- "url-search-params-polyfill": "^5.0.0"
23
+ "@openremote/or-icon": "1.2.0-snapshot.20240512154942",
24
+ "@openremote/rest": "1.2.0-snapshot.20240512154942",
25
+ "i18next": "^21.5.3",
26
+ "i18next-http-backend": "^1.3.1",
27
+ "keycloak-js": "^23.0.6",
28
+ "moment": "^2.29.4",
29
+ "platform": "^1.3.6",
30
+ "qs": "^6.8.0",
31
+ "url-search-params-polyfill": "^8.1.0"
20
32
  },
21
33
  "devDependencies": {
22
- "tslint": "^5.11.0",
23
- "typescript": "^3.2.2"
34
+ "@openremote/util": "1.2.0-snapshot.20240512154942",
35
+ "@types/qs": "^6.9.7",
36
+ "xmldom": "^0.6.0",
37
+ "xpath": "^0.0.32"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
24
41
  }
25
- }
42
+ }
@@ -1,25 +0,0 @@
1
- import { EventProviderFactory, EventProviderStatus } from "./event";
2
- import { AttributeEvent, AssetEvent } from "@openremote/model";
3
- declare type Constructor<T = {}> = new (...args: any[]) => T;
4
- export declare const subscribe: (eventProviderFactory: EventProviderFactory) => <T extends Constructor<{}>>(base: T) => {
5
- new (...args: any[]): {
6
- _connectRequested: boolean;
7
- _assetSubscriptionId?: string | undefined;
8
- _attributeSubscriptionId?: string | undefined;
9
- _assetIds?: string[] | undefined;
10
- _statusCallback: (status: EventProviderStatus) => void;
11
- connectedCallback(): void;
12
- disconnectedCallback(): void;
13
- connect(): void;
14
- _doConnect(): Promise<void>;
15
- disconnect(): void;
16
- _doDisconnect(): void;
17
- assetIds: string[] | undefined;
18
- _onEventProviderStatusChanged(status: EventProviderStatus): void;
19
- _onAttributeEvent(event: AttributeEvent): void;
20
- _onAssetEvent(event: AssetEvent): void;
21
- onAttributeEvent(event: AttributeEvent): void;
22
- onAssetEvent(event: AssetEvent): void;
23
- };
24
- } & T;
25
- export {};