@trackunit/iris-app-api 1.4.28 → 1.4.32

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/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## 1.4.32 (2025-08-06)
2
+
3
+ This was a version bump only for iris-app-api to align it with other projects, there were no code changes.
4
+
5
+ ## 1.4.31 (2025-08-06)
6
+
7
+ This was a version bump only for iris-app-api to align it with other projects, there were no code changes.
8
+
9
+ ## 1.4.30 (2025-08-05)
10
+
11
+ This was a version bump only for iris-app-api to align it with other projects, there were no code changes.
12
+
13
+ ## 1.4.29 (2025-08-05)
14
+
15
+ This was a version bump only for iris-app-api to align it with other projects, there were no code changes.
16
+
1
17
  ## 1.4.28 (2025-08-05)
2
18
 
3
19
  This was a version bump only for iris-app-api to align it with other projects, there were no code changes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app-api",
3
- "version": "1.4.28",
3
+ "version": "1.4.32",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "repository": "https://github.com/Trackunit/manager",
6
6
  "engines": {
@@ -6,9 +6,11 @@ export type WidgetSupportedFilters = WidgetSupportedFilterBars | "TIME_RANGE";
6
6
  export declare const widgetTypes: readonly ["KPI", "CHART", "LIST", "MAP", "OTHER"];
7
7
  export type WidgetType = (typeof widgetTypes)[number];
8
8
  export declare const allAssetFilterKeys: readonly ["search", "siteIds", "groups", "types", "assetType", "brands", "models", "criticality", "activity", "metadataCompleteness", "lastSeen", "followed", "siteType", "ownerAccountIds", "area", "partner", "productionYears", "serviceStatus", "telematicsConnected", "activeFilter", "siteDepotOwnershipIds"];
9
+ export declare const allAssetFilterKeysWithCustomer: string[];
9
10
  export declare const customFieldFilterKey: "customFields";
10
11
  export type AssetFilterKeys = typeof allAssetFilterKeys;
11
- export declare const allAssetFilterKeysWithCustomFields: readonly ["search", "siteIds", "groups", "types", "assetType", "brands", "models", "criticality", "activity", "metadataCompleteness", "lastSeen", "followed", "siteType", "ownerAccountIds", "area", "partner", "productionYears", "serviceStatus", "telematicsConnected", "activeFilter", "siteDepotOwnershipIds", "customFields"];
12
+ export type AssetFilterKeysWithCustomer = typeof allAssetFilterKeysWithCustomer;
13
+ export declare const allAssetFilterKeysWithCustomFields: readonly [...string[], "customFields"];
12
14
  export type AssetFilterKeysWithCustomFields = typeof allAssetFilterKeysWithCustomFields;
13
15
  export declare const allSiteFilterKeys: readonly ["search", "siteStatus", "siteType"];
14
16
  export type SiteFilterKeys = typeof allSiteFilterKeys;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allTimeRangeFilterKeys = exports.allCustomerFilterKeysWithCustomFields = exports.allCustomerFilterKeys = exports.allSiteFilterKeysWithCustomFields = exports.allSiteFilterKeys = exports.allAssetFilterKeysWithCustomFields = exports.customFieldFilterKey = exports.allAssetFilterKeys = exports.widgetTypes = void 0;
3
+ exports.allTimeRangeFilterKeys = exports.allCustomerFilterKeysWithCustomFields = exports.allCustomerFilterKeys = exports.allSiteFilterKeysWithCustomFields = exports.allSiteFilterKeys = exports.allAssetFilterKeysWithCustomFields = exports.customFieldFilterKey = exports.allAssetFilterKeysWithCustomer = exports.allAssetFilterKeys = exports.widgetTypes = void 0;
4
4
  exports.widgetTypes = ["KPI", "CHART", "LIST", "MAP", "OTHER"];
5
5
  exports.allAssetFilterKeys = [
6
6
  "search",
@@ -25,8 +25,16 @@ exports.allAssetFilterKeys = [
25
25
  "activeFilter",
26
26
  "siteDepotOwnershipIds",
27
27
  ];
28
+ exports.allAssetFilterKeysWithCustomer = [
29
+ ...exports.allAssetFilterKeys,
30
+ "customerIds",
31
+ "rentalStatuses",
32
+ "rentalContractOrderNumber",
33
+ "rentalContractReferenceCode",
34
+ "rentalContractReferenceCodeDescriptionQuery",
35
+ ];
28
36
  exports.customFieldFilterKey = "customFields";
29
- exports.allAssetFilterKeysWithCustomFields = [...exports.allAssetFilterKeys, exports.customFieldFilterKey];
37
+ exports.allAssetFilterKeysWithCustomFields = [...exports.allAssetFilterKeysWithCustomer, exports.customFieldFilterKey];
30
38
  exports.allSiteFilterKeys = ["search", "siteStatus", "siteType"];
31
39
  exports.allSiteFilterKeysWithCustomFields = [...exports.allSiteFilterKeys, exports.customFieldFilterKey];
32
40
  exports.allCustomerFilterKeys = ["search", "customerType", "criticality", "servicePlan"];
@@ -1 +1 @@
1
- {"version":3,"file":"widgetExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/widgetExtensionManifest.ts"],"names":[],"mappings":";;;AASa,QAAA,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC;AAIhE,QAAA,kBAAkB,GAAG;IAChC,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,UAAU;IACV,sBAAsB;IACtB,UAAU;IACV,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,MAAM;IACN,SAAS;IACT,iBAAiB;IACjB,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,uBAAuB;CACf,CAAC;AAEE,QAAA,oBAAoB,GAAG,cAAuB,CAAC;AAE/C,QAAA,kCAAkC,GAAG,CAAC,GAAG,0BAAkB,EAAE,4BAAoB,CAAU,CAAC;AAG5F,QAAA,iBAAiB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAU,CAAC;AAElE,QAAA,iCAAiC,GAAG,CAAC,GAAG,yBAAiB,EAAE,4BAAoB,CAAU,CAAC;AAG1F,QAAA,qBAAqB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;AAE1F,QAAA,qCAAqC,GAAG,CAAC,GAAG,6BAAqB,EAAE,4BAAoB,CAAU,CAAC;AAGlG,QAAA,sBAAsB,GAAG,CAAC,KAAK,CAAU,CAAC","sourcesContent":["import { IconByName, IconByPath } from \"../iconImage\";\nimport { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport type WidgetSupportedLocations = \"MY_HOME\" | \"SITE_HOME\" | \"PLAYGROUND\";\n\nexport type WidgetSupportedFilterBars = \"CUSTOMERS\" | \"ASSETS\" | \"SITES\";\n\nexport type WidgetSupportedFilters = WidgetSupportedFilterBars | \"TIME_RANGE\";\n\nexport const widgetTypes = [\"KPI\", \"CHART\", \"LIST\", \"MAP\", \"OTHER\"] as const;\n\nexport type WidgetType = (typeof widgetTypes)[number];\n\nexport const allAssetFilterKeys = [\n \"search\",\n \"siteIds\",\n \"groups\",\n \"types\",\n \"assetType\",\n \"brands\",\n \"models\",\n \"criticality\",\n \"activity\",\n \"metadataCompleteness\",\n \"lastSeen\",\n \"followed\",\n \"siteType\",\n \"ownerAccountIds\",\n \"area\",\n \"partner\",\n \"productionYears\",\n \"serviceStatus\",\n \"telematicsConnected\",\n \"activeFilter\",\n \"siteDepotOwnershipIds\",\n] as const;\n\nexport const customFieldFilterKey = \"customFields\" as const;\nexport type AssetFilterKeys = typeof allAssetFilterKeys;\nexport const allAssetFilterKeysWithCustomFields = [...allAssetFilterKeys, customFieldFilterKey] as const;\nexport type AssetFilterKeysWithCustomFields = typeof allAssetFilterKeysWithCustomFields;\n\nexport const allSiteFilterKeys = [\"search\", \"siteStatus\", \"siteType\"] as const;\nexport type SiteFilterKeys = typeof allSiteFilterKeys;\nexport const allSiteFilterKeysWithCustomFields = [...allSiteFilterKeys, customFieldFilterKey] as const;\nexport type SiteFilterKeysWithCustomFields = typeof allSiteFilterKeysWithCustomFields;\n\nexport const allCustomerFilterKeys = [\"search\", \"customerType\", \"criticality\", \"servicePlan\"] as const;\nexport type CustomerFilterKeys = typeof allCustomerFilterKeys;\nexport const allCustomerFilterKeysWithCustomFields = [...allCustomerFilterKeys, customFieldFilterKey] as const;\nexport type CustomerFilterKeysWithCustomFields = typeof allCustomerFilterKeysWithCustomFields;\n\nexport const allTimeRangeFilterKeys = [\"ALL\"] as const;\nexport type TimeRangeFilterKeys = typeof allTimeRangeFilterKeys;\n\ntype FilterConfig<TFilterKeys extends ReadonlyArray<string>> = {\n include: Array<TFilterKeys[number]>;\n};\n\nexport type SupportedFiltersConfig = {\n ASSETS?: FilterConfig<AssetFilterKeysWithCustomFields>;\n SITES?: FilterConfig<SiteFilterKeysWithCustomFields>;\n CUSTOMERS?: FilterConfig<CustomerFilterKeysWithCustomFields>;\n TIME_RANGE?: FilterConfig<TimeRangeFilterKeys>;\n};\n\n/**\n * BETA! DO NOT USE THIS YET - its under development\n */\nexport interface WidgetExtensionManifest extends AbstractExtensionManifest {\n type: \"WIDGET_EXTENSION\";\n\n preview?: {\n /**\n * The description of the widget will be displayed in the drawer for adding widgets.\n */\n description?: string | Translations | TranslationKey;\n };\n\n /**\n * The widget type is used for filtering the widgets in the drawer.\n */\n widgetType: WidgetType;\n\n /**\n * Each widget must have one fixed size.\n * Standard widgets are 2x2.\n * Smaller widgets can be either 1x1 or 2x1.\n * It is not recommended to create widgets that are larger than 2x2 by default.\n * If a widget needs to support multiple sizes, create a separate widget for each size.\n * Use `allowFullWidth: true` to let users expand the widget across the full width of the screen.\n * This is generally recommended only for charts and maps where a larger display improves usability.\n */\n size: {\n default: {\n width: 1 | 2 | 3 | 4 | 5 | 6;\n height: 1 | 2 | 3 | 4 | 5 | 6;\n };\n allowFullWidth?: boolean;\n };\n\n header: {\n /**\n * The name of the widget to display in the header. Do not place date ranges or fixed filters in the name. It is used for finding the widget in the drawer.\n * Widgets sized 1x1 do not show the name in the header, but it is still visible in the drawer.\n */\n name: string | Translations | TranslationKey;\n\n /**\n * The image of the widget to display in the header, if not it will default to the icon of the manifest.\n * Most standard widgets use icons, but you can use an SVG logo instead.\n */\n image?: IconByName | IconByPath;\n\n /**\n * If true, a button will be on the header and an editDialog from the src folder of this extension will be loaded to allow users to configure the widget.\n */\n hasEditDialog?: boolean;\n };\n\n footer?: {\n /**\n * The link description to display in the footer, if not it will default to localized version of 'See full details'.\n */\n linkDescription?: string | Translations | TranslationKey;\n\n /**\n * The link to display in the footer. The link is fixed and will always point to the same route.\n */\n link: string;\n\n /**\n * A logo can be displayed in the footer to show that the widget is powered by an entity. You can use an SVG logo.\n */\n poweredByImage?: IconByPath;\n };\n\n /**\n * The locations where the widget can be placed. Choose between My Home, Site Home and Playground.\n */\n supportedLocations: Array<WidgetSupportedLocations>;\n\n /**\n * The filters that the widget can be filtered by. To support a date range filter, add \"TIME_RANGE\" to the list. The date range will be displayed separately in the menu.\n * If you would like to lock the filters to a specific value, you can do so by adding the filter to the list and setting the value to the filter.\n */\n supportedFilters?: SupportedFiltersConfig;\n}\n"]}
1
+ {"version":3,"file":"widgetExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/widgetExtensionManifest.ts"],"names":[],"mappings":";;;AASa,QAAA,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC;AAIhE,QAAA,kBAAkB,GAAG;IAChC,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,UAAU;IACV,sBAAsB;IACtB,UAAU;IACV,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,MAAM;IACN,SAAS;IACT,iBAAiB;IACjB,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,uBAAuB;CACf,CAAC;AAEE,QAAA,8BAA8B,GAAG;IAC5C,GAAG,0BAAkB;IACrB,aAAa;IACb,gBAAgB;IAChB,2BAA2B;IAC3B,6BAA6B;IAC7B,6CAA6C;CAC9C,CAAC;AACW,QAAA,oBAAoB,GAAG,cAAuB,CAAC;AAK/C,QAAA,kCAAkC,GAAG,CAAC,GAAG,sCAA8B,EAAE,4BAAoB,CAAU,CAAC;AAGxG,QAAA,iBAAiB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAU,CAAC;AAElE,QAAA,iCAAiC,GAAG,CAAC,GAAG,yBAAiB,EAAE,4BAAoB,CAAU,CAAC;AAG1F,QAAA,qBAAqB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;AAE1F,QAAA,qCAAqC,GAAG,CAAC,GAAG,6BAAqB,EAAE,4BAAoB,CAAU,CAAC;AAGlG,QAAA,sBAAsB,GAAG,CAAC,KAAK,CAAU,CAAC","sourcesContent":["import { IconByName, IconByPath } from \"../iconImage\";\nimport { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport type WidgetSupportedLocations = \"MY_HOME\" | \"SITE_HOME\" | \"PLAYGROUND\";\n\nexport type WidgetSupportedFilterBars = \"CUSTOMERS\" | \"ASSETS\" | \"SITES\";\n\nexport type WidgetSupportedFilters = WidgetSupportedFilterBars | \"TIME_RANGE\";\n\nexport const widgetTypes = [\"KPI\", \"CHART\", \"LIST\", \"MAP\", \"OTHER\"] as const;\n\nexport type WidgetType = (typeof widgetTypes)[number];\n\nexport const allAssetFilterKeys = [\n \"search\",\n \"siteIds\",\n \"groups\",\n \"types\",\n \"assetType\",\n \"brands\",\n \"models\",\n \"criticality\",\n \"activity\",\n \"metadataCompleteness\",\n \"lastSeen\",\n \"followed\",\n \"siteType\",\n \"ownerAccountIds\",\n \"area\",\n \"partner\",\n \"productionYears\",\n \"serviceStatus\",\n \"telematicsConnected\",\n \"activeFilter\",\n \"siteDepotOwnershipIds\",\n] as const;\n\nexport const allAssetFilterKeysWithCustomer = [\n ...allAssetFilterKeys,\n \"customerIds\",\n \"rentalStatuses\",\n \"rentalContractOrderNumber\",\n \"rentalContractReferenceCode\",\n \"rentalContractReferenceCodeDescriptionQuery\",\n];\nexport const customFieldFilterKey = \"customFields\" as const;\nexport type AssetFilterKeys = typeof allAssetFilterKeys;\n\nexport type AssetFilterKeysWithCustomer = typeof allAssetFilterKeysWithCustomer;\n\nexport const allAssetFilterKeysWithCustomFields = [...allAssetFilterKeysWithCustomer, customFieldFilterKey] as const;\nexport type AssetFilterKeysWithCustomFields = typeof allAssetFilterKeysWithCustomFields;\n\nexport const allSiteFilterKeys = [\"search\", \"siteStatus\", \"siteType\"] as const;\nexport type SiteFilterKeys = typeof allSiteFilterKeys;\nexport const allSiteFilterKeysWithCustomFields = [...allSiteFilterKeys, customFieldFilterKey] as const;\nexport type SiteFilterKeysWithCustomFields = typeof allSiteFilterKeysWithCustomFields;\n\nexport const allCustomerFilterKeys = [\"search\", \"customerType\", \"criticality\", \"servicePlan\"] as const;\nexport type CustomerFilterKeys = typeof allCustomerFilterKeys;\nexport const allCustomerFilterKeysWithCustomFields = [...allCustomerFilterKeys, customFieldFilterKey] as const;\nexport type CustomerFilterKeysWithCustomFields = typeof allCustomerFilterKeysWithCustomFields;\n\nexport const allTimeRangeFilterKeys = [\"ALL\"] as const;\nexport type TimeRangeFilterKeys = typeof allTimeRangeFilterKeys;\n\ntype FilterConfig<TFilterKeys extends ReadonlyArray<string>> = {\n include: Array<TFilterKeys[number]>;\n};\n\nexport type SupportedFiltersConfig = {\n ASSETS?: FilterConfig<AssetFilterKeysWithCustomFields>;\n SITES?: FilterConfig<SiteFilterKeysWithCustomFields>;\n CUSTOMERS?: FilterConfig<CustomerFilterKeysWithCustomFields>;\n TIME_RANGE?: FilterConfig<TimeRangeFilterKeys>;\n};\n\n/**\n * BETA! DO NOT USE THIS YET - its under development\n */\nexport interface WidgetExtensionManifest extends AbstractExtensionManifest {\n type: \"WIDGET_EXTENSION\";\n\n preview?: {\n /**\n * The description of the widget will be displayed in the drawer for adding widgets.\n */\n description?: string | Translations | TranslationKey;\n };\n\n /**\n * The widget type is used for filtering the widgets in the drawer.\n */\n widgetType: WidgetType;\n\n /**\n * Each widget must have one fixed size.\n * Standard widgets are 2x2.\n * Smaller widgets can be either 1x1 or 2x1.\n * It is not recommended to create widgets that are larger than 2x2 by default.\n * If a widget needs to support multiple sizes, create a separate widget for each size.\n * Use `allowFullWidth: true` to let users expand the widget across the full width of the screen.\n * This is generally recommended only for charts and maps where a larger display improves usability.\n */\n size: {\n default: {\n width: 1 | 2 | 3 | 4 | 5 | 6;\n height: 1 | 2 | 3 | 4 | 5 | 6;\n };\n allowFullWidth?: boolean;\n };\n\n header: {\n /**\n * The name of the widget to display in the header. Do not place date ranges or fixed filters in the name. It is used for finding the widget in the drawer.\n * Widgets sized 1x1 do not show the name in the header, but it is still visible in the drawer.\n */\n name: string | Translations | TranslationKey;\n\n /**\n * The image of the widget to display in the header, if not it will default to the icon of the manifest.\n * Most standard widgets use icons, but you can use an SVG logo instead.\n */\n image?: IconByName | IconByPath;\n\n /**\n * If true, a button will be on the header and an editDialog from the src folder of this extension will be loaded to allow users to configure the widget.\n */\n hasEditDialog?: boolean;\n };\n\n footer?: {\n /**\n * The link description to display in the footer, if not it will default to localized version of 'See full details'.\n */\n linkDescription?: string | Translations | TranslationKey;\n\n /**\n * The link to display in the footer. The link is fixed and will always point to the same route.\n */\n link: string;\n\n /**\n * A logo can be displayed in the footer to show that the widget is powered by an entity. You can use an SVG logo.\n */\n poweredByImage?: IconByPath;\n };\n\n /**\n * The locations where the widget can be placed. Choose between My Home, Site Home and Playground.\n */\n supportedLocations: Array<WidgetSupportedLocations>;\n\n /**\n * The filters that the widget can be filtered by. To support a date range filter, add \"TIME_RANGE\" to the list. The date range will be displayed separately in the menu.\n * If you would like to lock the filters to a specific value, you can do so by adding the filter to the list and setting the value to the filter.\n */\n supportedFilters?: SupportedFiltersConfig;\n}\n"]}