@trackunit/iris-app-runtime-core-api 1.9.5 → 1.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -244,31 +244,71 @@ const UnitSi = {
244
244
  hour: "HOUR",
245
245
  };
246
246
 
247
- const mainApps = ["reports", "sites", "map", "assets"];
248
- const assetHomePageIds = [
249
- "status",
250
- "movement",
251
- "events",
252
- "insights",
253
- "specification",
254
- "telematics",
255
- "contracts",
256
- ];
247
+ const mainApps = ["myhome", "map", "assets", "sites", "customers", "groups", "reports"];
248
+ const assetHomePageIds = ["status", "movement", "events", "insights", "specification", "telematics"];
257
249
  const siteHomePageIds = ["overview", "assets", "asset-visibility"];
258
250
  const groupHomePageIds = ["assets", "users", "details"];
259
251
  const customerHomePageIds = ["info", "assets", "contact-list"];
252
+ const allPages = [
253
+ ...assetHomePageIds,
254
+ ...siteHomePageIds,
255
+ ...groupHomePageIds,
256
+ ...customerHomePageIds,
257
+ ...mainApps,
258
+ ];
260
259
  /**
261
260
  * type guard for IrisAppOptions
262
261
  */
263
262
  const isIrisOptions = (options) => {
264
- if (!options) {
265
- return false;
266
- }
267
263
  return (typeof options === "object" &&
268
264
  "irisAppId" in options &&
269
265
  Boolean(options.irisAppId) &&
270
266
  "extensionId" in options);
271
267
  };
268
+ /**
269
+ * type guard for FleetAppStandardOptions
270
+ */
271
+ const isFleetAppStandardOptions = (options) => {
272
+ // eslint-disable-next-line local-rules/no-typescript-assertion
273
+ return Boolean(options.page && mainApps.includes(options.page) && !isIrisOptions(options));
274
+ };
275
+ /**
276
+ * type guard for AssetHomeOptions
277
+ */
278
+ const isAssetHomeOptions = (options) => {
279
+ return Boolean(typeof options === "object" &&
280
+ "assetId" in options &&
281
+ Boolean(options.assetId) &&
282
+ typeof options.page === "string" &&
283
+ !isIrisOptions(options) &&
284
+ assetHomePageIds.includes(options.page));
285
+ };
286
+ /**
287
+ * type guard for SiteHomeOptions
288
+ */
289
+ const isSiteHomeOptions = (options) => {
290
+ return Boolean(typeof options === "object" &&
291
+ "siteId" in options &&
292
+ Boolean(options.siteId) &&
293
+ typeof options.page === "string" &&
294
+ !isIrisOptions(options) &&
295
+ siteHomePageIds.includes(options.page));
296
+ };
297
+ /**
298
+ * type guard for GroupHomeStandardOptions
299
+ */
300
+ const isGroupHomeStandardOptions = (options) => {
301
+ // eslint-disable-next-line local-rules/no-typescript-assertion
302
+ return Boolean(options.page && !isIrisOptions(options) && groupHomePageIds.includes(options.page));
303
+ };
304
+ /**
305
+ * type guard for CustomerHomeStandardOptions
306
+ */
307
+ const isCustomerHomeStandardOptions = (options) => {
308
+ return Boolean(
309
+ // eslint-disable-next-line local-rules/no-typescript-assertion
310
+ options.page && !isIrisOptions(options) && customerHomePageIds.includes(options.page));
311
+ };
272
312
 
273
313
  exports.BodyType = void 0;
274
314
  (function (BodyType) {
@@ -303,11 +343,17 @@ exports.UnitOfMeasurement = UnitOfMeasurement;
303
343
  exports.UnitSi = UnitSi;
304
344
  exports.UnitUs = UnitUs;
305
345
  exports.UserSubscriptionPackage = UserSubscriptionPackage;
346
+ exports.allPages = allPages;
306
347
  exports.assetHomePageIds = assetHomePageIds;
307
348
  exports.createEvent = createEvent;
308
349
  exports.customerHomePageIds = customerHomePageIds;
309
350
  exports.groupHomePageIds = groupHomePageIds;
351
+ exports.isAssetHomeOptions = isAssetHomeOptions;
352
+ exports.isCustomerHomeStandardOptions = isCustomerHomeStandardOptions;
353
+ exports.isFleetAppStandardOptions = isFleetAppStandardOptions;
354
+ exports.isGroupHomeStandardOptions = isGroupHomeStandardOptions;
310
355
  exports.isIrisOptions = isIrisOptions;
356
+ exports.isSiteHomeOptions = isSiteHomeOptions;
311
357
  exports.mainApps = mainApps;
312
358
  exports.siteHomePageIds = siteHomePageIds;
313
359
  exports.validateStringAsAssetSortByProperty = validateStringAsAssetSortByProperty;
package/index.esm.js CHANGED
@@ -242,31 +242,71 @@ const UnitSi = {
242
242
  hour: "HOUR",
243
243
  };
244
244
 
245
- const mainApps = ["reports", "sites", "map", "assets"];
246
- const assetHomePageIds = [
247
- "status",
248
- "movement",
249
- "events",
250
- "insights",
251
- "specification",
252
- "telematics",
253
- "contracts",
254
- ];
245
+ const mainApps = ["myhome", "map", "assets", "sites", "customers", "groups", "reports"];
246
+ const assetHomePageIds = ["status", "movement", "events", "insights", "specification", "telematics"];
255
247
  const siteHomePageIds = ["overview", "assets", "asset-visibility"];
256
248
  const groupHomePageIds = ["assets", "users", "details"];
257
249
  const customerHomePageIds = ["info", "assets", "contact-list"];
250
+ const allPages = [
251
+ ...assetHomePageIds,
252
+ ...siteHomePageIds,
253
+ ...groupHomePageIds,
254
+ ...customerHomePageIds,
255
+ ...mainApps,
256
+ ];
258
257
  /**
259
258
  * type guard for IrisAppOptions
260
259
  */
261
260
  const isIrisOptions = (options) => {
262
- if (!options) {
263
- return false;
264
- }
265
261
  return (typeof options === "object" &&
266
262
  "irisAppId" in options &&
267
263
  Boolean(options.irisAppId) &&
268
264
  "extensionId" in options);
269
265
  };
266
+ /**
267
+ * type guard for FleetAppStandardOptions
268
+ */
269
+ const isFleetAppStandardOptions = (options) => {
270
+ // eslint-disable-next-line local-rules/no-typescript-assertion
271
+ return Boolean(options.page && mainApps.includes(options.page) && !isIrisOptions(options));
272
+ };
273
+ /**
274
+ * type guard for AssetHomeOptions
275
+ */
276
+ const isAssetHomeOptions = (options) => {
277
+ return Boolean(typeof options === "object" &&
278
+ "assetId" in options &&
279
+ Boolean(options.assetId) &&
280
+ typeof options.page === "string" &&
281
+ !isIrisOptions(options) &&
282
+ assetHomePageIds.includes(options.page));
283
+ };
284
+ /**
285
+ * type guard for SiteHomeOptions
286
+ */
287
+ const isSiteHomeOptions = (options) => {
288
+ return Boolean(typeof options === "object" &&
289
+ "siteId" in options &&
290
+ Boolean(options.siteId) &&
291
+ typeof options.page === "string" &&
292
+ !isIrisOptions(options) &&
293
+ siteHomePageIds.includes(options.page));
294
+ };
295
+ /**
296
+ * type guard for GroupHomeStandardOptions
297
+ */
298
+ const isGroupHomeStandardOptions = (options) => {
299
+ // eslint-disable-next-line local-rules/no-typescript-assertion
300
+ return Boolean(options.page && !isIrisOptions(options) && groupHomePageIds.includes(options.page));
301
+ };
302
+ /**
303
+ * type guard for CustomerHomeStandardOptions
304
+ */
305
+ const isCustomerHomeStandardOptions = (options) => {
306
+ return Boolean(
307
+ // eslint-disable-next-line local-rules/no-typescript-assertion
308
+ options.page && !isIrisOptions(options) && customerHomePageIds.includes(options.page));
309
+ };
270
310
 
271
311
  var BodyType;
272
312
  (function (BodyType) {
@@ -295,4 +335,4 @@ const UserSubscriptionPackage = {
295
335
  CUSTOMER_PORTAL: "Customer Portal",
296
336
  };
297
337
 
298
- export { AssetSortByProperty, BodyType, SortOrder, SystemOfMeasurement, TimeZonePreference, UnitOfMeasurement, UnitSi, UnitUs, UserSubscriptionPackage, assetHomePageIds, createEvent, customerHomePageIds, groupHomePageIds, isIrisOptions, mainApps, siteHomePageIds, validateStringAsAssetSortByProperty };
338
+ export { AssetSortByProperty, BodyType, SortOrder, SystemOfMeasurement, TimeZonePreference, UnitOfMeasurement, UnitSi, UnitUs, UserSubscriptionPackage, allPages, assetHomePageIds, createEvent, customerHomePageIds, groupHomePageIds, isAssetHomeOptions, isCustomerHomeStandardOptions, isFleetAppStandardOptions, isGroupHomeStandardOptions, isIrisOptions, isSiteHomeOptions, mainApps, siteHomePageIds, validateStringAsAssetSortByProperty };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app-runtime-core-api",
3
- "version": "1.9.5",
3
+ "version": "1.9.8",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -8,8 +8,8 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@graphql-typed-document-node/core": "^3.2.0",
11
- "@trackunit/shared-utils": "1.11.4",
12
- "@trackunit/geo-json-utils": "1.9.4"
11
+ "@trackunit/shared-utils": "1.11.6",
12
+ "@trackunit/geo-json-utils": "1.9.6"
13
13
  },
14
14
  "module": "./index.esm.js",
15
15
  "main": "./index.cjs.js",
@@ -21,14 +21,14 @@ export type IrisAppOptions = {
21
21
  irisAppId: string;
22
22
  extensionId: string;
23
23
  } & SubPage & Search & FragmentIdentifier & NeverPage;
24
- export declare const mainApps: readonly ["reports", "sites", "map", "assets"];
24
+ export declare const mainApps: readonly ["myhome", "map", "assets", "sites", "customers", "groups", "reports"];
25
25
  export type MainFleetApp = (typeof mainApps)[number];
26
26
  export type FleetAppStandardOptions = Page<MainFleetApp> & NeverIrisApp;
27
27
  export type MapAppStandardOptions = Page<"map"> & NeverIrisApp;
28
28
  export type MarketplaceOptions = {
29
29
  irisAppId: string;
30
30
  };
31
- export declare const assetHomePageIds: readonly ["status", "movement", "events", "insights", "specification", "telematics", "contracts"];
31
+ export declare const assetHomePageIds: readonly ["status", "movement", "events", "insights", "specification", "telematics"];
32
32
  export type AssetHomePageId = (typeof assetHomePageIds)[number];
33
33
  export type AssetHomeStandardOptions = Page<AssetHomePageId> & NeverIrisApp;
34
34
  export declare const siteHomePageIds: readonly ["overview", "assets", "asset-visibility"];
@@ -40,14 +40,39 @@ export type GroupHomeStandardOptions = Page<GroupHomePageId> & NeverIrisApp;
40
40
  export declare const customerHomePageIds: readonly ["info", "assets", "contact-list"];
41
41
  export type CustomerHomePageId = (typeof customerHomePageIds)[number];
42
42
  export type CustomerHomeStandardOptions = Page<CustomerHomePageId> & NeverIrisApp;
43
- export type HasAccessToOptions = (IrisAppOptions | AssetHomeStandardOptions | SiteHomeStandardOptions | FleetAppStandardOptions) & {
44
- assetId?: string;
45
- siteId?: string;
43
+ export declare const allPages: readonly ["status", "movement", "events", "insights", "specification", "telematics", "overview", "assets", "asset-visibility", "assets", "users", "details", "info", "assets", "contact-list", "myhome", "map", "assets", "sites", "customers", "groups", "reports"];
44
+ export type AllPages = (typeof allPages)[number];
45
+ export type AssetHomeOptions = AssetHomeStandardOptions & {
46
+ assetId: string;
46
47
  };
48
+ export type SiteHomeOptions = SiteHomeStandardOptions & {
49
+ siteId: string;
50
+ };
51
+ export type HasAccessToOptions = IrisAppOptions | AssetHomeOptions | SiteHomeOptions | GroupHomeStandardOptions | CustomerHomeStandardOptions | FleetAppStandardOptions;
47
52
  /**
48
53
  * type guard for IrisAppOptions
49
54
  */
50
- export declare const isIrisOptions: (options: IrisAppOptions | unknown) => options is IrisAppOptions;
55
+ export declare const isIrisOptions: (options: IrisAppOptions | AssetHomeStandardOptions | SiteHomeStandardOptions | FleetAppStandardOptions | GroupHomeStandardOptions | CustomerHomeStandardOptions | undefined) => options is IrisAppOptions;
56
+ /**
57
+ * type guard for FleetAppStandardOptions
58
+ */
59
+ export declare const isFleetAppStandardOptions: (options: HasAccessToOptions) => options is FleetAppStandardOptions;
60
+ /**
61
+ * type guard for AssetHomeOptions
62
+ */
63
+ export declare const isAssetHomeOptions: (options: HasAccessToOptions) => options is AssetHomeOptions;
64
+ /**
65
+ * type guard for SiteHomeOptions
66
+ */
67
+ export declare const isSiteHomeOptions: (options: HasAccessToOptions) => options is SiteHomeOptions;
68
+ /**
69
+ * type guard for GroupHomeStandardOptions
70
+ */
71
+ export declare const isGroupHomeStandardOptions: (options: HasAccessToOptions) => options is GroupHomeStandardOptions;
72
+ /**
73
+ * type guard for CustomerHomeStandardOptions
74
+ */
75
+ export declare const isCustomerHomeStandardOptions: (options: HasAccessToOptions) => options is CustomerHomeStandardOptions;
51
76
  export interface NavigationRuntimeApi {
52
77
  hasAccessTo: (options: HasAccessToOptions) => Promise<boolean>;
53
78
  gotoAssetHome: (assetId: string, options?: IrisAppOptions | AssetHomeStandardOptions) => Promise<boolean>;