@openremote/manager 1.9.0-snapshot.20250917074345 → 1.9.0-snapshot.20250922103504

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 (98) hide show
  1. package/app-test-report/data/0683795b8b61e5d7b0de5b98d822a9ca9f835bb7.webm +0 -0
  2. package/app-test-report/data/2360ed986b786e193e27b009a8ac01ae4a0cf6cb.webm +0 -0
  3. package/app-test-report/data/24f9fc73873b3866d9f64eb6a92fbbae8386a0b9.webm +0 -0
  4. package/app-test-report/data/2563daaf010c805652e994214d66adcc2d5a1355.webm +0 -0
  5. package/app-test-report/data/2be4df4ab35c58fccd84bb97e7a02e9d3c919595.webm +0 -0
  6. package/app-test-report/data/306a24a1200f8bdbda8ec3574e0610cca6a2d27f.webm +0 -0
  7. package/app-test-report/data/3e844c441598574e10b4adcd73287f3f270812a8.webm +0 -0
  8. package/app-test-report/data/42a1a58364ba13ba65d305ec723d868ff51f37d3.webm +0 -0
  9. package/app-test-report/data/4b2d12d27596205be026e27ecd6c9f671cb04d66.webm +0 -0
  10. package/app-test-report/data/4dcb4f6e37b7ec78a54fed44e925e7bdbf7aeee1.webm +0 -0
  11. package/app-test-report/data/5a166099dd8a15047c1d7c8ea6f47a7560f83f3a.webm +0 -0
  12. package/app-test-report/data/7f528118036ad0cdbb26084715e8d7febb256600.webm +0 -0
  13. package/app-test-report/data/8b5e369adafd4827ea9ccca2fa631bce83a2b2e6.webm +0 -0
  14. package/app-test-report/data/8e00bd7efbf1e7626c4a637c62aa0be83c969340.webm +0 -0
  15. package/app-test-report/data/91b5e2153bc4b7dc9df15f07cd65d60dd3324f14.webm +0 -0
  16. package/app-test-report/data/9aa36700b0debe53935f698c5a4d19c0bd42755c.webm +0 -0
  17. package/app-test-report/data/a39ea3910672129b337c04a2040dbdde5ec87005.webm +0 -0
  18. package/app-test-report/data/ac58b56323d58ff8263c7d690e0635baf1cea7c5.webm +0 -0
  19. package/app-test-report/data/ac9078009fdb22da43ae2f53ca6d8463b2016d68.webm +0 -0
  20. package/app-test-report/data/b9e116724a6a814cd5fa695f986a50998e713b5d.webm +0 -0
  21. package/app-test-report/data/bcda000f8f375df785a85ee73934739e19619db5.webm +0 -0
  22. package/app-test-report/data/c2df31255c73b7430a29ba3fc785c1c6d914b7d3.webm +0 -0
  23. package/app-test-report/data/d77b6e3f1e8742d1707ec84e8dd2dd0af02b4ce6.webm +0 -0
  24. package/app-test-report/data/db84b9a4422014ca1b47fe34e25a16acdc5fb1a0.webm +0 -0
  25. package/app-test-report/data/e36a9fef51fce3d684610ee6a1dd71cc2016d95b.webm +0 -0
  26. package/app-test-report/data/e7134ac5f856c0d0990947ad3dd0be22d2f3a976.webm +0 -0
  27. package/app-test-report/data/f1d3535896cd66371e012a65b2fc9d3d09dbf1ed.webm +0 -0
  28. package/app-test-report/index.html +1 -1
  29. package/dist/{bundle.d3521d8096872ea9.js → bundle.0925249d01e0710b.js} +123 -103
  30. package/dist/{bundle.969bb51768de88a9.js → bundle.f69dae380afa35ed.js} +538 -518
  31. package/dist/index.html +1 -1
  32. package/lib/headers.d.ts +1 -0
  33. package/lib/headers.js +8 -0
  34. package/lib/headers.js.map +1 -1
  35. package/lib/index.d.ts +1 -0
  36. package/lib/index.js +6 -2
  37. package/lib/index.js.map +1 -1
  38. package/lib/pages/page-services.d.ts +41 -0
  39. package/lib/pages/page-services.js +349 -0
  40. package/lib/pages/page-services.js.map +1 -0
  41. package/lib/routes.d.ts +1 -0
  42. package/lib/routes.js +7 -0
  43. package/lib/routes.js.map +1 -1
  44. package/package.json +6 -6
  45. package/test-results/assets-Add-all-primitive-configuration-items-chromium/video.webm +0 -0
  46. package/test-results/assets-Add-new-Battery-asset-and-configure-its-attributes-chromium/video.webm +0 -0
  47. package/test-results/assets-Add-new-Solar-Panel-e5652-nd-configure-its-attributes-chromium/video.webm +0 -0
  48. package/test-results/assets-Delete-specified-assets-and-verify-they-are-removed-chromium/video.webm +0 -0
  49. package/test-results/assets-Open-browser-tab-directly-to-the-Battery-asset-chromium/video.webm +0 -0
  50. package/test-results/assets-Open-browser-tab-directly-to-the-Solar-Panel-asset-chromium/video.webm +0 -0
  51. package/test-results/assets-Search-by-Asset-ID-and-select-the-Battery-asset-chromium/video.webm +0 -0
  52. package/test-results/assets-Search-by-Asset-ID-and-select-the-Solar-Panel-asset-chromium/video.webm +0 -0
  53. package/test-results/assets-Search-for-and-select-a-Battery-asset-chromium/video.webm +0 -0
  54. package/test-results/assets-Search-for-and-select-a-Solar-Panel-asset-chromium/video.webm +0 -0
  55. package/test-results/assets-Set-ruleState-and-s-2e442-olar-Panel-asset-attributes-chromium/video.webm +0 -0
  56. package/test-results/assets-Set-ruleState-and-s-8e0b7-or-Battery-asset-attributes-chromium/video.webm +0 -0
  57. package/test-results/assets-Toggle-read-only-fo-6c2bd-tributes-on-a-Battery-asset-chromium/video.webm +0 -0
  58. package/test-results/assets-Toggle-read-only-fo-70b73-utes-on-a-Solar-Panel-asset-chromium/video.webm +0 -0
  59. package/test-results/assets-Update-a-Battery-asset-s-attributes-and-location-chromium/video.webm +0 -0
  60. package/test-results/assets-Update-a-Solar-Panel-asset-s-attributes-and-location-chromium/video.webm +0 -0
  61. package/test-results/map-Verify-that-asset-mark-4c130--map-and-navigate-correctly-chromium/video.webm +0 -0
  62. package/test-results/roles-Create-a-new-role-as-0988c-user-and-verify-permissions-chromium/video.webm +0 -0
  63. package/test-results/roles-Delete-an-existing-r-be22b-verify-it-no-longer-appears-chromium/video.webm +0 -0
  64. package/test-results/rules-Create-a-Flow-rule-for-an-asset-with-logic-connections-chromium/video.webm +0 -0
  65. package/test-results/rules-Create-a-When-Then-r-a1797-t-with-a-trigger-and-action-chromium/video.webm +0 -0
  66. package/test-results/test-test.cleanup.ts-Delete-the-smartcity-realm-cleanup-manager/video.webm +0 -0
  67. package/test-results/test-test.cleanup.ts-Delete-the-smartcity-user-cleanup-manager/video.webm +0 -0
  68. package/test-results/test-test.setup.ts-Add-realm-called-smartcity--setup-manager/video.webm +0 -0
  69. package/test-results/test-test.setup.ts-Add-user-called-smartcity--setup-manager/video.webm +0 -0
  70. package/test-results/test-test.setup.ts-Login-as-admin-user-setup-manager/video.webm +0 -0
  71. package/test-results/test-test.setup.ts-Login-as-smartcity-user-setup-manager/video.webm +0 -0
  72. package/app-test-report/data/1f4b39196ab8fe56275f6eed2dc12ce37518f2a7.webm +0 -0
  73. package/app-test-report/data/22cc02045fc6d9a26c683eb64d090d9e556bc969.webm +0 -0
  74. package/app-test-report/data/26ebd3420e508f162c1f4fa6db76e3f99e67f8ed.webm +0 -0
  75. package/app-test-report/data/2805fe4820b1497720bab7e342d9f806db32a8f2.webm +0 -0
  76. package/app-test-report/data/2df7e54b403bda053b3da7f88a379a2a3bfada2b.webm +0 -0
  77. package/app-test-report/data/33696ecb06321c1ffa27748ed4304ac7f9f6949a.webm +0 -0
  78. package/app-test-report/data/336c14f6c5387a22c7a149427cf326920dd9c437.webm +0 -0
  79. package/app-test-report/data/3cc5da58ceb5a23350ed64e8b495dd728ee11f56.webm +0 -0
  80. package/app-test-report/data/4b5633dba86853c94f71a7ca51e0e75481405330.webm +0 -0
  81. package/app-test-report/data/6a794498b0b71ca656af8c1d4b3ed85b211007f3.webm +0 -0
  82. package/app-test-report/data/8bfb8ce1ede18ebaa46f0658a6d7066b761cbc25.webm +0 -0
  83. package/app-test-report/data/8e16d8062b99b7d6f9e47a7f1b85b80f4d061f78.webm +0 -0
  84. package/app-test-report/data/91c88b2df8314cab52193f8c0b167e6525804b50.webm +0 -0
  85. package/app-test-report/data/9674696222462dcf48e71dec199b3085f3a6b99a.webm +0 -0
  86. package/app-test-report/data/967def050ff9debdb5b45eee1757cb5f0b37dade.webm +0 -0
  87. package/app-test-report/data/9d18bbfb59c380b5fb0c31bf28a324f5f19bc014.webm +0 -0
  88. package/app-test-report/data/a764fd489cbb909ba6b2cc2484c928c152bed615.webm +0 -0
  89. package/app-test-report/data/b13901f09f2c127a50ed84f4d1a429a4227028e4.webm +0 -0
  90. package/app-test-report/data/c3f14c9ed36ee6e63a2ca650ef32de0146990379.webm +0 -0
  91. package/app-test-report/data/ced333bab8fbfa2939826f074d2f824933a3972c.webm +0 -0
  92. package/app-test-report/data/dc6cc5465e5371cd55d0d84e38d14806a0f7fe17.webm +0 -0
  93. package/app-test-report/data/dd4865ac51e74f32a064b1e40c4e3850cad0df9e.webm +0 -0
  94. package/app-test-report/data/de90a113b349b9692aa3c099ddc0780b09a94923.webm +0 -0
  95. package/app-test-report/data/ee21869a39eb0de0d3e317f9ad15e644be01b341.webm +0 -0
  96. package/app-test-report/data/f4126d7e6cbfc6686bc81c0744cf8334d3649d47.webm +0 -0
  97. package/app-test-report/data/f899384728c1392dbadc162fe8c779b2ea474c8a.webm +0 -0
  98. package/app-test-report/data/fbbbac56caf1fcbbb55605fdabecd7c353e5d920.webm +0 -0
package/dist/index.html CHANGED
@@ -12,7 +12,7 @@
12
12
  document.addEventListener('WebComponentsReady', function componentsReady() {
13
13
  document.removeEventListener('WebComponentsReady', componentsReady, false);
14
14
  var script = document.createElement('script');
15
- script.src = './bundle.d3521d8096872ea9.js';
15
+ script.src = './bundle.0925249d01e0710b.js';
16
16
  var refScript = document.getElementsByTagName('script')[0];
17
17
  refScript.parentNode.insertBefore(script, refScript);
18
18
  }, false);
package/lib/headers.d.ts CHANGED
@@ -2,6 +2,7 @@ import { AppStateKeyed, HeaderItem, OrApp } from "@openremote/or-app";
2
2
  import { AnyAction } from "@reduxjs/toolkit";
3
3
  export declare function headerItemMap<S extends AppStateKeyed, A extends AnyAction>(orApp: OrApp<S>): HeaderItem;
4
4
  export declare function headerItemAssets<S extends AppStateKeyed, A extends AnyAction>(orApp: OrApp<S>): HeaderItem;
5
+ export declare function headerItemServices<S extends AppStateKeyed, A extends AnyAction>(orApp: OrApp<S>): HeaderItem;
5
6
  export declare function headerItemRules<S extends AppStateKeyed, A extends AnyAction>(orApp: OrApp<S>): HeaderItem;
6
7
  export declare function headerItemInsights<S extends AppStateKeyed, A extends AnyAction>(orApp: OrApp<S>): HeaderItem;
7
8
  export declare function headerItemGatewayConnection<S extends AppStateKeyed, A extends AnyAction>(orApp: OrApp<S>): HeaderItem;
package/lib/headers.js CHANGED
@@ -14,6 +14,14 @@ export function headerItemAssets(orApp) {
14
14
  text: "asset_plural",
15
15
  };
16
16
  }
17
+ export function headerItemServices(orApp) {
18
+ return {
19
+ icon: "puzzle",
20
+ href: "services",
21
+ text: "services.title",
22
+ roles: ["read:services"]
23
+ };
24
+ }
17
25
  export function headerItemRules(orApp) {
18
26
  return {
19
27
  icon: "state-machine",
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -4,6 +4,7 @@ import "./pages/page-map";
4
4
  import "./pages/page-assets";
5
5
  import "./pages/page-gateway";
6
6
  import "./pages/page-insights";
7
+ import "./pages/page-services";
7
8
  import "./pages/page-rules";
8
9
  import "./pages/page-logs";
9
10
  import "./pages/page-account";
package/lib/index.js CHANGED
@@ -12,7 +12,7 @@ import { pageProvisioningProvider } from "./pages/page-provisioning";
12
12
  import { combineReducers, configureStore } from "@reduxjs/toolkit";
13
13
  import "@openremote/or-app";
14
14
  import { appReducer, OrApp } from "@openremote/or-app";
15
- import { headerItemAccount, headerItemAssets, headerItemConfiguration, headerItemExport, headerItemGatewayConnection, headerItemGatewayTunnel, headerItemInsights, headerItemLanguage, headerItemLogout, headerItemLogs, headerItemMap, headerItemProvisioning, headerItemRealms, headerItemRoles, headerItemRules, headerItemUsers } from "./headers";
15
+ import { headerItemAccount, headerItemAssets, headerItemConfiguration, headerItemExport, headerItemGatewayConnection, headerItemGatewayTunnel, headerItemInsights, headerItemServices, headerItemLanguage, headerItemLogout, headerItemLogs, headerItemMap, headerItemProvisioning, headerItemRealms, headerItemRoles, headerItemRules, headerItemUsers } from "./headers";
16
16
  import "./pages/page-map";
17
17
  import { pageMapProvider, pageMapReducer } from "./pages/page-map";
18
18
  import "./pages/page-assets";
@@ -21,6 +21,8 @@ import "./pages/page-gateway";
21
21
  import { pageGatewayProvider } from "./pages/page-gateway";
22
22
  import "./pages/page-insights";
23
23
  import { pageInsightsProvider } from "./pages/page-insights";
24
+ import "./pages/page-services";
25
+ import { pageServicesProvider } from "./pages/page-services";
24
26
  import "./pages/page-rules";
25
27
  import { pageRulesProvider } from "./pages/page-rules";
26
28
  import "./pages/page-logs";
@@ -53,6 +55,7 @@ export const DefaultPagesConfig = [
53
55
  pageGatewayTunnelProvider(store),
54
56
  pageLogsProvider(store),
55
57
  pageInsightsProvider(store),
58
+ pageServicesProvider(store),
56
59
  pageRulesProvider(store),
57
60
  pageAccountProvider(store),
58
61
  pageRolesProvider(store),
@@ -67,7 +70,8 @@ export const DefaultHeaderMainMenu = {
67
70
  map: headerItemMap(orApp),
68
71
  assets: headerItemAssets(orApp),
69
72
  rules: headerItemRules(orApp),
70
- insights: headerItemInsights(orApp)
73
+ services: headerItemServices(orApp),
74
+ insights: headerItemInsights(orApp),
71
75
  };
72
76
  export const DefaultHeaderSecondaryMenu = {
73
77
  gatewayConnection: headerItemGatewayConnection(orApp),
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4HAA4H;AAC5H,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAY,UAAU,EAA4B,KAAK,EAA+B,MAAM,oBAAoB,CAAC;AACxH,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAgB,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChF,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAmB,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC5F,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAqB,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC/E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAkB,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtE,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAiB,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AAItE,MAAM,WAAW,GAAG,eAAe,CAAC;IAChC,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,cAAc;IACnB,MAAM,EAAE,iBAAiB;CAC5B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC;IAChC,OAAO,EAAE,WAAW;CACvB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACnD,eAAe,CAAC,KAAK,CAAC;IACtB,kBAAkB,CAAC,KAAK,CAAC;IACzB,mBAAmB,CAAC,KAAK,CAAC;IAC1B,yBAAyB,CAAC,KAAK,CAAC;IAChC,gBAAgB,CAAC,KAAK,CAAC;IACvB,oBAAoB,CAAC,KAAK,CAAC;IAC3B,iBAAiB,CAAC,KAAK,CAAC;IACxB,mBAAmB,CAAC,KAAK,CAAC;IAC1B,iBAAiB,CAAC,KAAK,CAAC;IACxB,iBAAiB,CAAC,KAAK,CAAC;IACxB,kBAAkB,CAAC,KAAK,CAAC;IACzB,kBAAkB,CAAC,KAAK,CAAC;IACzB,wBAAwB,CAAC,KAAK,CAAC;IAC/B,yBAAyB,CAAC,KAAK,CAAC;IAChC,kBAAkB,CAAC,KAAK,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IAC/D,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACpE,iBAAiB,EAAE,2BAA2B,CAAC,KAAK,CAAC;IACrD,aAAa,EAAE,uBAAuB,CAAC,KAAK,CAAC;IAC7C,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;IAC3B,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACjC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAC7B,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC/B,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC/B,YAAY,EAAE,sBAAsB,CAAC,KAAK,CAAC;IAC3C,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC;IAC1C,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC9C,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAC9C,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,mBAAmB;CAC9B,CAAC;AAEF,4FAA4F;AAC5F,MAAM,UAAU,GAAG,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;MACjJ,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,UAAU,GAAG,mCAAmC,CAAC;AAEnE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAmB,CAAO,MAAM,EAAE,EAAE;IACrD,IAAI,SAA2B,CAAC;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACxB,SAAS,IAAG,MAAM,MAAM,CAAC,IAAI,EAAsB,CAAA,CAAC;IACxD,CAAC;IAED,yBAAW,SAAS,EAAE;AAC1B,CAAC,CAAA,CAAC,CAAC,IAAI,CAAC,CAAC,SAA2B,EAAE,EAAE;IAEpC,4BAA4B;IAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACrB,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACxB,SAAS,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC1C,SAAS,CAAC,OAAO,CAAC,oBAAoB,GAAG,8BAA8B,CAAC;QAC5E,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;IAExC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,EAAE;QAElC,cAAc;QACd,IAAI,KAAK,GAAwB,CAAC,GAAG,kBAAkB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QACtE,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5H,IAAI,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAEtD,oCAAoC;YACpC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;;gBAC7B,MAAM,MAAM,GAAmC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAElF,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;oBACxB,KAAK,KAAK,CAAC,CAAC,CAAC;wBACT,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAuB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBACvF,MAAM;oBACV,CAAC;oBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACZ,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAA0B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBAC7F,MAAM;oBACV,CAAC;oBACD,KAAK,OAAO,CAAC,CAAC,CAAC;wBACX,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI;4BACzB,KAAK,EAAE,EAAE;yBACZ,CAAoB,CAAC;wBACtB,IAAG,CAAC,CAAA,MAAA,SAAS,CAAC,KAAK,0CAAE,aAAa,CAAA,EAAE,CAAC;4BACjC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAC9C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CACpF,CAAC;wBACN,CAAC;wBACD,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBACnD,MAAM;oBACV,CAAC;oBACD,KAAK,UAAU,CAAC,CAAC,CAAC;wBACd,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAA4B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBACjG,MAAM;oBACV,CAAC;oBACD,KAAK,MAAM,CAAC,CAAC,CAAC;wBACV,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAwB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBACzF,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,OAAO,YAAY,CAAC;YACxB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,WAAW,GAAyB;YACtC,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE,mBAAmB;SACvC,CAAC;QAEF,mBAAmB;QACnB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACpB,WAAW,CAAC,MAAM,GAAG;gBACjB,OAAO,kCAAM,kBAAkB,KAAE,MAAM,EAAE,mBAAmB,GAAC;aAChE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,iCAAK,kBAAkB,GAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,kBAAkB,CAAC;YACzH,WAAW,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;YAE1C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE;gBAE7D,MAAM,gBAAgB,mCAAO,YAAY,GAAI,WAAW,CAAC,CAAC;gBAE1D,IAAI,OAAO,GAAG,mBAAmB,CAAC;gBAElC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,GAAG;wBACN,QAAQ,EAAE,EAAE;wBACZ,aAAa,EAAE,EAAE;qBACpB,CAAC;oBACF,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC1C,gBAAgB;wBAChB,IAAI,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC3D,CAAC;6BAAM,IAAI,0BAA0B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC7D,OAAO,CAAC,aAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACtE,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAQ,YAAY,KAAE,MAAM,EAAE,OAAO,KAAM,WAA8B,CAAE,CAAC;YACxG,CAAC,CAAC,CAAC;QACP,CAAC;QAED,6FAA6F;QAC7F,mFAAmF;QACnF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9F,IAAG,cAAc,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvH,WAAW,CAAC,KAAK,GAAG,KAAK;iBACpB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,2EAA2E;QAC3E,8GAA8G;QAC9G,6EAA6E;QAC7E,OAAO,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,CAAC,QAA4B,EAAE,EAAE;YACrE,IAAG,CAAC,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAAC,CAAC,WAA+B,EAAE,EAAE;oBAC3E,IAAI,WAAW,EAAE,CAAC;wBACd,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC;oBACnC,CAAC;yBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;wBAClD,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAA;oBACxE,CAAC;yBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAA;oBAC7D,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;oBAC3B,CAAC;gBACL,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,MAAM,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { PropertyValues, TemplateResult } from "lit";
2
+ import { AppStateKeyed, Page, PageProvider } from "@openremote/or-app";
3
+ import { Store } from "@reduxjs/toolkit";
4
+ import "@openremote/or-services";
5
+ import { ExternalService, ExternalServiceEvent } from "@openremote/model";
6
+ export declare function pageServicesProvider(store: Store<AppStateKeyed>): PageProvider<AppStateKeyed>;
7
+ export declare class PageServices extends Page<AppStateKeyed> {
8
+ static get styles(): import("lit").CSSResult[];
9
+ get name(): string;
10
+ protected serviceId: string | null;
11
+ protected realmName: string;
12
+ protected services: ExternalService[];
13
+ protected selectedService: ExternalService | null;
14
+ protected _loading: boolean;
15
+ protected _eventSubscriptionId?: string;
16
+ constructor(store: Store<AppStateKeyed>);
17
+ connectedCallback(): void;
18
+ disconnectedCallback(): void;
19
+ protected _subscribeEvents(): Promise<void>;
20
+ protected _unsubscribeEvents(): void;
21
+ protected _onEvent(event: ExternalServiceEvent): void;
22
+ protected _onServiceRegistered(event: ExternalServiceEvent): void;
23
+ protected _onServiceUpdated(event: ExternalServiceEvent): void;
24
+ protected _onServiceDeregistered(event: ExternalServiceEvent): void;
25
+ protected _eventIsForSelectedServiceInstance(event: ExternalServiceEvent): boolean;
26
+ protected _eventIsForSelectedServiceId(event: ExternalServiceEvent): boolean;
27
+ protected _loadData(silent?: boolean): Promise<void>;
28
+ protected _refreshIframe(): void;
29
+ stateChanged(state: AppStateKeyed): void;
30
+ protected realmSelector: (state: AppStateKeyed) => string;
31
+ protected getRealmState: ((state: AppStateKeyed) => void) & import("reselect").OutputSelectorFields<(args_0: string) => void, {
32
+ clearCache: () => void;
33
+ }> & {
34
+ clearCache: () => void;
35
+ };
36
+ protected _onServiceSelected(e: CustomEvent): void;
37
+ protected willUpdate(changedProperties: PropertyValues): void;
38
+ protected _updateRoute(): void;
39
+ protected _updateServiceSelection(): void;
40
+ protected render(): TemplateResult;
41
+ }
@@ -0,0 +1,349 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ /*
17
+ * Copyright 2025, OpenRemote Inc.
18
+ *
19
+ * See the CONTRIBUTORS.txt file in the distribution for a
20
+ * full listing of individual contributors.
21
+ *
22
+ * This program is free software: you can redistribute it and/or modify
23
+ * it under the terms of the GNU Affero General Public License as
24
+ * published by the Free Software Foundation, either version 3 of the
25
+ * License, or (at your option) any later version.
26
+ *
27
+ * This program is distributed in the hope that it will be useful,
28
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
29
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30
+ * GNU Affero General Public License for more details.
31
+ *
32
+ * You should have received a copy of the GNU Affero General Public License
33
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
34
+ */
35
+ import { css, html } from "lit";
36
+ import { customElement, state } from "lit/decorators.js";
37
+ import { Page, router } from "@openremote/or-app";
38
+ import { createSelector } from "@reduxjs/toolkit";
39
+ import { manager } from "@openremote/core";
40
+ import "@openremote/or-services";
41
+ import { getServicesRoute } from "../routes";
42
+ import { showSnackbar } from "@openremote/or-mwc-components/or-mwc-snackbar";
43
+ import { i18next } from "@openremote/or-translate";
44
+ export function pageServicesProvider(store) {
45
+ return {
46
+ name: "services",
47
+ routes: ["services", "services/:serviceName"],
48
+ pageCreator: () => {
49
+ const page = new PageServices(store);
50
+ return page;
51
+ },
52
+ };
53
+ }
54
+ const serviceStyles = css `
55
+ :host {
56
+ overflow: hidden;
57
+ }
58
+
59
+ #services {
60
+ z-index: 0;
61
+ background: transparent;
62
+ }
63
+ `;
64
+ /**
65
+ * Consolidate services by serviceId, preferring AVAILABLE over UNAVAILABLE
66
+ * @param services - Array of services to consolidate
67
+ * @returns Consolidated array with unique serviceIds
68
+ */
69
+ function consolidateServices(services) {
70
+ return Object.values(services.reduce((acc, service) => {
71
+ const serviceId = service.serviceId || "";
72
+ const existing = acc[serviceId];
73
+ if (!existing ||
74
+ (service.status === "AVAILABLE" /* ExternalServiceStatus.AVAILABLE */ && existing.status !== "AVAILABLE" /* ExternalServiceStatus.AVAILABLE */)) {
75
+ acc[serviceId] = service;
76
+ }
77
+ return acc;
78
+ }, {}));
79
+ }
80
+ let PageServices = class PageServices extends Page {
81
+ static get styles() {
82
+ return [serviceStyles];
83
+ }
84
+ get name() {
85
+ return "services.title";
86
+ }
87
+ constructor(store) {
88
+ super(store);
89
+ this.serviceId = null;
90
+ this.realmName = "";
91
+ this.services = [];
92
+ this.selectedService = null;
93
+ this._loading = false;
94
+ this.realmSelector = (state) => state.app.realm || manager.config.realm;
95
+ this.getRealmState = createSelector([this.realmSelector], (realm) => {
96
+ this.realmName = realm;
97
+ });
98
+ this.realmName = manager.displayRealm;
99
+ }
100
+ connectedCallback() {
101
+ super.connectedCallback();
102
+ this._subscribeEvents();
103
+ }
104
+ disconnectedCallback() {
105
+ super.disconnectedCallback();
106
+ this._unsubscribeEvents();
107
+ }
108
+ _subscribeEvents() {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ if (manager.events) {
111
+ this._eventSubscriptionId = yield manager.events.subscribe({
112
+ eventType: "external-service",
113
+ }, (ev) => this._onEvent(ev));
114
+ }
115
+ });
116
+ }
117
+ _unsubscribeEvents() {
118
+ var _a;
119
+ if (this._eventSubscriptionId) {
120
+ (_a = manager.events) === null || _a === void 0 ? void 0 : _a.unsubscribe(this._eventSubscriptionId);
121
+ }
122
+ }
123
+ _onEvent(event) {
124
+ if (!event.service || !event.cause) {
125
+ return;
126
+ }
127
+ // Super users receive all events, so we need to filter them out if they are not for the display realm or global
128
+ if (manager.isSuperUser && event.service.realm !== this.realmName && !event.service.isGlobal) {
129
+ return;
130
+ }
131
+ // Handle the event based on the cause
132
+ switch (event.cause) {
133
+ case "REGISTER" /* ExternalServiceEventCause.REGISTER */: {
134
+ this._onServiceRegistered(event);
135
+ break;
136
+ }
137
+ case "UPDATE" /* ExternalServiceEventCause.UPDATE */: {
138
+ this._onServiceUpdated(event);
139
+ break;
140
+ }
141
+ case "DEREGISTER" /* ExternalServiceEventCause.DEREGISTER */: {
142
+ this._onServiceDeregistered(event);
143
+ break;
144
+ }
145
+ default:
146
+ break;
147
+ }
148
+ this.services = consolidateServices(this.services);
149
+ }
150
+ _onServiceRegistered(event) {
151
+ var _a;
152
+ this.services.push(event.service);
153
+ // If the pushed service is the same as the selected service.serviceId and the current selected service is unvailable, refresh the iframe
154
+ if (this._eventIsForSelectedServiceId(event) &&
155
+ ((_a = this.selectedService) === null || _a === void 0 ? void 0 : _a.status) === "UNAVAILABLE" /* ExternalServiceStatus.UNAVAILABLE */) {
156
+ this.selectedService = event.service;
157
+ this._refreshIframe();
158
+ }
159
+ }
160
+ _onServiceUpdated(event) {
161
+ var _a, _b, _c;
162
+ const existingServiceInstance = this.services.find((service) => {
163
+ var _a, _b;
164
+ return service.serviceId === ((_a = event.service) === null || _a === void 0 ? void 0 : _a.serviceId) &&
165
+ service.instanceId === ((_b = event.service) === null || _b === void 0 ? void 0 : _b.instanceId);
166
+ });
167
+ // Overwrite the existing service with the updated service object
168
+ if (existingServiceInstance) {
169
+ Object.assign(existingServiceInstance, event.service);
170
+ }
171
+ // If the selected service instance is the one that was updated, and the status has changed, refresh the iframe
172
+ if (this._eventIsForSelectedServiceInstance(event) &&
173
+ ((_a = this.selectedService) === null || _a === void 0 ? void 0 : _a.status) !== ((_b = event.service) === null || _b === void 0 ? void 0 : _b.status)) {
174
+ this.selectedService = event.service;
175
+ this._refreshIframe();
176
+ return;
177
+ }
178
+ // If the selected serviceId is the same as the event serviceId and the current selected status is unavailable, refresh the iframe
179
+ if (this._eventIsForSelectedServiceId(event) &&
180
+ ((_c = this.selectedService) === null || _c === void 0 ? void 0 : _c.status) === "UNAVAILABLE" /* ExternalServiceStatus.UNAVAILABLE */) {
181
+ this.selectedService = event.service;
182
+ this._refreshIframe();
183
+ }
184
+ }
185
+ _onServiceDeregistered(event) {
186
+ // Filter out the service instance that was deregistered
187
+ this.services = this.services.filter((service) => {
188
+ var _a, _b;
189
+ return service.serviceId !== ((_a = event.service) === null || _a === void 0 ? void 0 : _a.serviceId) &&
190
+ service.instanceId !== ((_b = event.service) === null || _b === void 0 ? void 0 : _b.instanceId);
191
+ });
192
+ // If the selected service instance is the one that was deregistered, set the selected service to null
193
+ if (this._eventIsForSelectedServiceInstance(event)) {
194
+ this.selectedService = null;
195
+ }
196
+ }
197
+ _eventIsForSelectedServiceInstance(event) {
198
+ var _a, _b, _c, _d;
199
+ return (((_a = this.selectedService) === null || _a === void 0 ? void 0 : _a.serviceId) === ((_b = event.service) === null || _b === void 0 ? void 0 : _b.serviceId) &&
200
+ ((_c = this.selectedService) === null || _c === void 0 ? void 0 : _c.instanceId) === ((_d = event.service) === null || _d === void 0 ? void 0 : _d.instanceId));
201
+ }
202
+ _eventIsForSelectedServiceId(event) {
203
+ var _a, _b;
204
+ return ((_a = this.selectedService) === null || _a === void 0 ? void 0 : _a.serviceId) === ((_b = event.service) === null || _b === void 0 ? void 0 : _b.serviceId);
205
+ }
206
+ _loadData() {
207
+ return __awaiter(this, arguments, void 0, function* (silent = false) {
208
+ if (!silent) {
209
+ this._loading = true;
210
+ }
211
+ try {
212
+ // Use promise.allSettled to run both requests in parallel and wait for both to complete
213
+ // If we use Promise.all, we would not be able to handle the case where one request fails and the other succeeds
214
+ const [realmServicesResult, globalServicesResult] = yield Promise.allSettled([
215
+ manager.rest.api.ExternalServiceResource.getServices({
216
+ realm: this.realmName,
217
+ }),
218
+ manager.rest.api.ExternalServiceResource.getGlobalServices(),
219
+ ]);
220
+ // Temporary array to store all retrieved services
221
+ const retrievedServices = [];
222
+ const realmServicesRequestHasSucceeded = realmServicesResult.status === "fulfilled" && realmServicesResult.value.status === 200;
223
+ // Handle realm services result
224
+ if (realmServicesRequestHasSucceeded) {
225
+ retrievedServices.push(...realmServicesResult.value.data);
226
+ }
227
+ else {
228
+ console.error("Failed to load realm services:", realmServicesResult.status);
229
+ showSnackbar(undefined, i18next.t("services.realmServicesLoadError"));
230
+ }
231
+ // Handle global services result
232
+ const globalServicesRequestHasSucceeded = globalServicesResult.status === "fulfilled" && globalServicesResult.value.status === 200;
233
+ if (globalServicesRequestHasSucceeded) {
234
+ retrievedServices.push(...globalServicesResult.value.data);
235
+ }
236
+ else {
237
+ console.error("Failed to load global services:", globalServicesResult.status);
238
+ showSnackbar(undefined, i18next.t("services.globalServicesLoadError"));
239
+ }
240
+ // Update the services state if we able to retrieve any
241
+ if (retrievedServices.length > 0) {
242
+ this.services = consolidateServices(retrievedServices);
243
+ this.requestUpdate();
244
+ // Re-select the service if serviceId is set and no service is selected
245
+ if (this.serviceId && !this.selectedService) {
246
+ const service = this.services.find((service) => service.serviceId === this.serviceId);
247
+ if (service) {
248
+ this.selectedService = service;
249
+ }
250
+ }
251
+ }
252
+ }
253
+ catch (error) {
254
+ console.error("Unexpected error loading services:", error);
255
+ showSnackbar(undefined, i18next.t("services.servicesLoadError"));
256
+ }
257
+ finally {
258
+ this._loading = false;
259
+ }
260
+ });
261
+ }
262
+ // Reload the current service iframe
263
+ _refreshIframe() {
264
+ var _a;
265
+ const servicesComponent = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("or-services");
266
+ if (servicesComponent && typeof servicesComponent.refreshIframe === "function") {
267
+ servicesComponent.refreshIframe();
268
+ }
269
+ else {
270
+ console.warn("Unable to reload iframe: services component not found or refreshIframe method not available");
271
+ }
272
+ }
273
+ stateChanged(state) {
274
+ var _a;
275
+ this.getRealmState(state);
276
+ // Update serviceId from URL params - this will trigger updated() which handles the selection
277
+ const newServiceId = (_a = state.app.params) === null || _a === void 0 ? void 0 : _a.serviceName;
278
+ if (newServiceId !== this.serviceId) {
279
+ this.serviceId = newServiceId;
280
+ }
281
+ }
282
+ _onServiceSelected(e) {
283
+ const service = e.detail;
284
+ if (service && service.serviceId !== this.serviceId) {
285
+ this.serviceId = service.serviceId;
286
+ this.selectedService = service;
287
+ this._updateRoute();
288
+ }
289
+ }
290
+ willUpdate(changedProperties) {
291
+ super.willUpdate(changedProperties);
292
+ if (changedProperties.has("serviceId")) {
293
+ if (this.serviceId) {
294
+ this._updateServiceSelection();
295
+ }
296
+ }
297
+ if (changedProperties.has("realmName")) {
298
+ this._loadData();
299
+ }
300
+ }
301
+ _updateRoute() {
302
+ router.navigate(getServicesRoute(this.serviceId));
303
+ }
304
+ _updateServiceSelection() {
305
+ if (this.serviceId) {
306
+ const service = this.services.find((service) => service.serviceId === this.serviceId);
307
+ if (service) {
308
+ this.selectedService = service;
309
+ }
310
+ }
311
+ else {
312
+ this.selectedService = null;
313
+ }
314
+ }
315
+ render() {
316
+ return html `
317
+ <div style="width: 100%;">
318
+ <or-services
319
+ id="services"
320
+ .realmName="${this.realmName}"
321
+ .services="${this.services}"
322
+ .selectedService="${this.selectedService}"
323
+ .loading="${this._loading}"
324
+ @or-service-selected="${this._onServiceSelected}"
325
+ ></or-services>
326
+ </div>
327
+ `;
328
+ }
329
+ };
330
+ __decorate([
331
+ state()
332
+ ], PageServices.prototype, "serviceId", void 0);
333
+ __decorate([
334
+ state()
335
+ ], PageServices.prototype, "realmName", void 0);
336
+ __decorate([
337
+ state()
338
+ ], PageServices.prototype, "services", void 0);
339
+ __decorate([
340
+ state()
341
+ ], PageServices.prototype, "selectedService", void 0);
342
+ __decorate([
343
+ state()
344
+ ], PageServices.prototype, "_loading", void 0);
345
+ PageServices = __decorate([
346
+ customElement("page-services")
347
+ ], PageServices);
348
+ export { PageServices };
349
+ //# sourceMappingURL=page-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-services.js","sourceRoot":"","sources":["../../src/pages/page-services.ts"],"names":[],"mappings":"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"}
package/lib/routes.d.ts CHANGED
@@ -4,3 +4,4 @@ export declare function getInsightsRoute(editMode?: boolean, dashboardId?: strin
4
4
  export declare function getUsersRoute(userId?: string): string;
5
5
  export declare function getNewUserRoute(serviceAccount?: boolean): string;
6
6
  export declare function getAlarmsRoute(alarmId?: string): string;
7
+ export declare function getServicesRoute(serviceId?: string): string;
package/lib/routes.js CHANGED
@@ -41,4 +41,11 @@ export function getAlarmsRoute(alarmId) {
41
41
  }
42
42
  return route;
43
43
  }
44
+ export function getServicesRoute(serviceId) {
45
+ let route = "services";
46
+ if (serviceId) {
47
+ route += "/" + serviceId;
48
+ }
49
+ return route;
50
+ }
44
51
  //# sourceMappingURL=routes.js.map
package/lib/routes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,WAAW,CAAC,OAAgB;IACxC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,OAAO,EAAE,CAAC;QACV,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,QAAiB;IAChE,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACX,KAAK,IAAI,GAAG,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAkB,EAAE,WAAoB;IACrE,IAAI,KAAK,GAAG,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxD,IAAG,WAAW,EAAE,CAAC;QACb,KAAK,IAAI,GAAG,GAAG,WAAW,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAe;IACzC,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAG,MAAM,EAAE,CAAC;QACR,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,cAAwB;IACpD,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAG,cAAc,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACvD,KAAK,IAAI,OAAO,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC3C,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,IAAG,OAAO,EAAE,CAAC;QACT,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,WAAW,CAAC,OAAgB;IACxC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,OAAO,EAAE,CAAC;QACV,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,QAAiB;IAChE,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACX,KAAK,IAAI,GAAG,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAkB,EAAE,WAAoB;IACrE,IAAI,KAAK,GAAG,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxD,IAAG,WAAW,EAAE,CAAC;QACb,KAAK,IAAI,GAAG,GAAG,WAAW,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAe;IACzC,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAG,MAAM,EAAE,CAAC;QACR,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,cAAwB;IACpD,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAG,cAAc,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACvD,KAAK,IAAI,OAAO,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC3C,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,IAAG,OAAO,EAAE,CAAC;QACT,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,SAAkB;IAC/C,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAG,SAAS,EAAE,CAAC;QACX,KAAK,IAAI,GAAG,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openremote/manager",
3
- "version": "1.9.0-snapshot.20250917074345",
3
+ "version": "1.9.0-snapshot.20250922103504",
4
4
  "description": "OpenRemote Manager",
5
5
  "author": "OpenRemote",
6
6
  "license": "AGPL-3.0-or-later",
@@ -27,14 +27,14 @@
27
27
  "prepack": "npx tsc -b"
28
28
  },
29
29
  "dependencies": {
30
- "@openremote/or-app": "1.9.0-snapshot.20250917074345",
31
- "@openremote/or-attribute-barchart": "1.9.0-snapshot.20250917074345",
30
+ "@openremote/or-app": "1.9.0-snapshot.20250922103504",
31
+ "@openremote/or-attribute-barchart": "1.9.0-snapshot.20250922103504",
32
32
  "iso-639-1": "^3.1.3"
33
33
  },
34
34
  "devDependencies": {
35
- "@openremote/rest": "1.9.0-snapshot.20250917074345",
36
- "@openremote/test": "1.9.0-snapshot.20250917074345",
37
- "@openremote/util": "1.9.0-snapshot.20250917074345"
35
+ "@openremote/rest": "1.9.0-snapshot.20250922103504",
36
+ "@openremote/test": "1.9.0-snapshot.20250922103504",
37
+ "@openremote/util": "1.9.0-snapshot.20250922103504"
38
38
  },
39
39
  "publishConfig": {
40
40
  "access": "public"