@ixon-cdk/types 1.16.0-next.0 → 1.16.0-next.1

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.
@@ -14,7 +14,11 @@ export interface ComponentContextLiveMetricInput {
14
14
  selector: string;
15
15
  unit: string | null;
16
16
  }
17
- export type ComponentContextInput = ComponentContextInputGroup | string | number | ComponentContextAggregatedMetricInput | ComponentContextLiveMetricInput | null;
17
+ export interface ComponentContextResourceSelectionInput {
18
+ name?: string;
19
+ publicId: string;
20
+ }
21
+ export type ComponentContextInput = ComponentContextInputGroup | string | number | ComponentContextResourceSelectionInput | ComponentContextAggregatedMetricInput | ComponentContextLiveMetricInput | null;
18
22
  export type ComponentContextInputGroup = ComponentContextInputs;
19
23
  export type ComponentContextInputs = {
20
24
  [key: string]: ComponentContextInput | ComponentContextInputGroup;
@@ -1,4 +1,4 @@
1
- type ComponentInputType = 'AggregatedMetric' | 'Checkbox' | 'Color' | 'Date' | 'File' | 'Group' | 'Icon' | 'Image' | 'List' | 'LiveMetric' | 'MaterialIcon' | 'Number' | 'RawMetric' | 'RichText' | 'Selection' | 'String' | 'Text';
1
+ type ComponentInputType = 'AggregatedMetric' | 'Checkbox' | 'Color' | 'Date' | 'File' | 'Group' | 'Icon' | 'Image' | 'List' | 'LiveMetric' | 'MaterialIcon' | 'Number' | 'RawMetric' | 'ResourceSelection' | 'RichText' | 'Selection' | 'String' | 'Text';
2
2
  export interface ComponentInputSummary {
3
3
  colorField?: string;
4
4
  label: string;
@@ -54,6 +54,12 @@ export interface ComponentInput {
54
54
  * @default false
55
55
  */
56
56
  required?: boolean;
57
+ /**
58
+ * Only applicable to type `ResourceSelection`.
59
+ */
60
+ resource?: {
61
+ type: string;
62
+ };
57
63
  /**
58
64
  * Only applicable to type `File`.
59
65
  */
@@ -32,6 +32,7 @@ export interface Agent extends AgentLike {
32
32
  assets?: ResLink[];
33
33
  company?: ResLink;
34
34
  connectedUsers?: UserReference[];
35
+ controlKeyGeneratedOn?: string | null;
35
36
  demoDevice?: DemoDevice | null;
36
37
  deviceId?: string | null;
37
38
  fixedVpnAddress?: string | null;
@@ -1,5 +1,7 @@
1
+ export * from './resource-data';
2
+ export * from './resource-data-add';
1
3
  export * from './resource-data-client';
2
4
  export * from './resource-data-query';
5
+ export * from './resource-data-remove';
3
6
  export * from './resource-data-result';
4
7
  export * from './resource-data-update';
5
- export * from './resource-data';
@@ -0,0 +1,12 @@
1
+ import type { ResourceData } from './resource-data';
2
+ import type { AtLeast } from './resource-data-typing';
3
+ type ResourceDataAddDataMap = {
4
+ AssetAppConfigResource: AtLeast<ResourceData.AssetAppConfigResource, 'resourceType' | 'resourcePublicId'>;
5
+ };
6
+ export type ResourceDataAddSelector = keyof ResourceDataAddDataMap;
7
+ export type ResourceDataAdd<T extends ResourceDataAddSelector = ResourceDataAddSelector> = {
8
+ _clientRef?: string;
9
+ selector: T;
10
+ data: ResourceDataAddDataMap[T];
11
+ };
12
+ export {};
@@ -1,7 +1,9 @@
1
1
  /** @module ResourceDataClient */
2
+ import type { ResourceData } from './resource-data';
3
+ import type { ResourceDataAdd, ResourceDataAddSelector } from './resource-data-add';
2
4
  import type { ResourceDataQuery, ResourceDataQuerySelector, ResourceDataTemplateQuery } from './resource-data-query';
5
+ import type { ResourceDataRemove, ResourceDataRemoveSelector } from './resource-data-remove';
3
6
  import type { ResourceDataResult } from './resource-data-result';
4
- import type { ResourceData } from './resource-data';
5
7
  import type { ResourceDataUpdate, ResourceDataUpdateSelector } from './resource-data-update';
6
8
  interface ResultDataMap {
7
9
  Agent: ResourceData.Agent;
@@ -20,6 +22,10 @@ interface ResultDataMap {
20
22
  UserList: ResourceData.User[];
21
23
  }
22
24
  export interface ResourceDataClient {
25
+ /**
26
+ * @returns {Promise} Returns a promise that resolves when the remove succeeds.
27
+ */
28
+ add<T extends ResourceDataAddSelector>(add: ResourceDataAdd<T>): Promise<void>;
23
29
  /**
24
30
  * Destroy the client. Always call this when the client is not used anymore. When the context is
25
31
  * destroyed, this is called automatically
@@ -28,25 +34,25 @@ export interface ResourceDataClient {
28
34
  /**
29
35
  * @returns {function()} Returns a deregistration function for the listener.
30
36
  */
31
- query<T extends ResourceDataQuerySelector>(query: ResourceDataQuery<T> | [ResourceDataQuery<T>], listener: (results: [ResourceDataResult<ResultDataMap[T]>]) => any): () => void;
32
- query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>], listener: (results: [ResourceDataResult<ResultDataMap[T1]>, ResourceDataResult<ResultDataMap[T2]>]) => any): () => void;
37
+ query<T extends ResourceDataQuerySelector>(query: ResourceDataQuery<T> | [ResourceDataQuery<T>], listener: (results: [ResourceDataResult<ResultDataMap[T]>]) => unknown): () => void;
38
+ query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>], listener: (results: [ResourceDataResult<ResultDataMap[T1]>, ResourceDataResult<ResultDataMap[T2]>]) => unknown): () => void;
33
39
  query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>, ResourceDataQuery<T3>], listener: (results: [
34
40
  ResourceDataResult<ResultDataMap[T1]>,
35
41
  ResourceDataResult<ResultDataMap[T2]>,
36
42
  ResourceDataResult<ResultDataMap[T3]>
37
- ]) => any): () => void;
43
+ ]) => unknown): () => void;
38
44
  query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector, T4 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>, ResourceDataQuery<T3>], listener: (results: [
39
45
  ResourceDataResult<ResultDataMap[T1]>,
40
46
  ResourceDataResult<ResultDataMap[T2]>,
41
47
  ResourceDataResult<ResultDataMap[T3]>,
42
48
  ResourceDataResult<ResultDataMap[T4]>
43
- ]) => any): () => void;
49
+ ]) => unknown): () => void;
44
50
  query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector, T4 extends ResourceDataQuerySelector>(query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>, ResourceDataQuery<T3>, ResourceDataQuery<T4>], listener: (results: [
45
51
  ResourceDataResult<ResultDataMap[T1]>,
46
52
  ResourceDataResult<ResultDataMap[T2]>,
47
53
  ResourceDataResult<ResultDataMap[T3]>,
48
54
  ResourceDataResult<ResultDataMap[T4]>
49
- ]) => any): () => void;
55
+ ]) => unknown): () => void;
50
56
  query<T1 extends ResourceDataQuerySelector, T2 extends ResourceDataQuerySelector, T3 extends ResourceDataQuerySelector, T4 extends ResourceDataQuerySelector, T5 extends ResourceDataQuerySelector>(query: [
51
57
  ResourceDataQuery<T1>,
52
58
  ResourceDataQuery<T2>,
@@ -59,7 +65,11 @@ export interface ResourceDataClient {
59
65
  ResourceDataResult<ResultDataMap[T3]>,
60
66
  ResourceDataResult<ResultDataMap[T4]>,
61
67
  ResourceDataResult<ResultDataMap[T5]>
62
- ]) => any): () => void;
68
+ ]) => unknown): () => void;
69
+ /**
70
+ * @returns {Promise} Returns a promise that resolves when the remove succeeds.
71
+ */
72
+ remove<T extends ResourceDataRemoveSelector>(remove: ResourceDataRemove<T>): Promise<void>;
63
73
  /**
64
74
  * @returns {function()} Returns a deregistration function for the listener.
65
75
  */
@@ -0,0 +1,11 @@
1
+ import type { ResourceData } from './resource-data';
2
+ type ResourceDataRemoveDataMap = {
3
+ AssetAppConfigResource: Partial<ResourceData.AssetAppConfigResource>;
4
+ };
5
+ export type ResourceDataRemoveSelector = keyof ResourceDataRemoveDataMap;
6
+ export type ResourceDataRemove<T extends ResourceDataRemoveSelector = ResourceDataRemoveSelector> = {
7
+ _clientRef?: string;
8
+ publicId: string;
9
+ selector: T;
10
+ };
11
+ export {};
@@ -0,0 +1 @@
1
+ export type AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;
@@ -1,6 +1,8 @@
1
1
  import type { ResourceData } from './resource-data';
2
+ import type { AtLeast } from './resource-data-typing';
2
3
  type ResourceDataUpdateDataMap = {
3
- AssetAppConfig: Partial<ResourceData.AssetAppConfig>;
4
+ AssetAppConfig: Partial<Omit<ResourceData.AssetAppConfig, 'resources'>>;
5
+ AssetAppConfigResource: AtLeast<ResourceData.AssetAppConfigResource, 'publicId'>;
4
6
  };
5
7
  export type ResourceDataUpdateSelector = keyof ResourceDataUpdateDataMap;
6
8
  export type ResourceDataUpdate<T extends ResourceDataUpdateSelector = ResourceDataUpdateSelector> = {
@@ -10,7 +10,7 @@ interface AgentResourceData {
10
10
  name?: string;
11
11
  publicId: string;
12
12
  }[];
13
- custom?: Record<string, any>;
13
+ custom?: Record<string, unknown>;
14
14
  dataSources?: {
15
15
  name?: string | null;
16
16
  publicId: string;
@@ -80,7 +80,7 @@ interface AgentResourceData {
80
80
  }[];
81
81
  serialNumber?: string | null;
82
82
  servers?: {
83
- custom?: Record<string, any>;
83
+ custom?: Record<string, unknown>;
84
84
  name?: string;
85
85
  publicId: string;
86
86
  requireAccessApproval?: boolean;
@@ -98,12 +98,12 @@ interface AgentResourceData {
98
98
  vpnVisibleInMobileApp?: boolean;
99
99
  vpnVisibleOnWeb?: boolean;
100
100
  }
101
- interface AppConfigResourceData<TValues = any> {
101
+ interface AppConfigResourceData<TValues = unknown> {
102
102
  publicId: string;
103
103
  values?: TValues | null;
104
104
  }
105
105
  interface AssetResourceData {
106
- custom?: Record<string, any>;
106
+ custom?: Record<string, unknown>;
107
107
  description?: string | null;
108
108
  isLibraryAsset?: boolean;
109
109
  libraryAsset?: {
@@ -131,11 +131,25 @@ interface AssetResourceData {
131
131
  publicId: string;
132
132
  } | null;
133
133
  }
134
- interface AssetAppConfigResourceData<TValues = any, TStateValues = any> {
134
+ interface AssetAppConfigResourceData<TValues = unknown, TStateValues = unknown, TResourceValues = unknown, TResourceStateValues = unknown> {
135
135
  app?: {
136
136
  publicId: string;
137
137
  };
138
138
  publicId: string;
139
+ resources?: {
140
+ publicId: string;
141
+ resourcePublicId?: string | null;
142
+ resourceType?: string;
143
+ stateValues?: TResourceStateValues | null;
144
+ values?: TResourceValues | null;
145
+ }[];
146
+ stateValues?: TStateValues | null;
147
+ values?: TValues | null;
148
+ }
149
+ interface AssetAppConfigResourceResourceData<TValues = unknown, TStateValues = unknown> {
150
+ publicId: string;
151
+ resourcePublicId?: string | null;
152
+ resourceType?: string;
139
153
  stateValues?: TStateValues | null;
140
154
  values?: TValues | null;
141
155
  }
@@ -177,7 +191,7 @@ interface MyCompanyResourceData {
177
191
  publicId: string;
178
192
  }
179
193
  interface MyUserResourceData {
180
- custom?: Record<string, any>;
194
+ custom?: Record<string, unknown>;
181
195
  name?: string;
182
196
  publicId: string;
183
197
  support?: boolean;
@@ -201,9 +215,10 @@ interface UserResourceData {
201
215
  }
202
216
  export declare namespace ResourceData {
203
217
  type Agent = AgentResourceData;
204
- type AppConfig<TValues extends object = any> = AppConfigResourceData<TValues>;
218
+ type AppConfig<TValues extends object = object> = AppConfigResourceData<TValues>;
205
219
  type Asset = AssetResourceData;
206
- type AssetAppConfig<TValues = any, TStateValues = any> = AssetAppConfigResourceData<TValues, TStateValues>;
220
+ type AssetAppConfig<TValues = unknown, TStateValues = unknown, TResourceValues = unknown, TResourceStateValues = unknown> = AssetAppConfigResourceData<TValues, TStateValues, TResourceValues, TResourceStateValues>;
221
+ type AssetAppConfigResource<TValues = unknown, TStateValues = unknown> = AssetAppConfigResourceResourceData<TValues, TStateValues>;
207
222
  type Branding = BrandingResourceData;
208
223
  type CustomProperty = CustomPropertyResourceData;
209
224
  type Group = GroupResourceData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ixon-cdk/types",
3
- "version": "1.16.0-next.0",
3
+ "version": "1.16.0-next.1",
4
4
  "description": "",
5
5
  "main": "./dist/component-devkit/src/types/src/index.d.ts",
6
6
  "author": "",