@sassoftware/vi-api 1.51.0 → 1.51.2

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/README.md CHANGED
@@ -4,7 +4,7 @@ The [SAS Visual Investigator](https://www.sas.com/en_us/software/intelligence-an
4
4
 
5
5
  ## Getting Started
6
6
 
7
- For documentation and examples please see our [Solution Extension GitHub](https://github.com/sassoftware/vi-solution-extensions).
7
+ For documentation and examples, see the SAS [Solution Extension GitHub](https://github.com/sassoftware/vi-solution-extensions).
8
8
 
9
9
  ### Installation
10
10
  To use the API, install the NPM package [@sassoftware/vi-api](https://www.npmjs.com/package/@sassoftware/vi-api):
@@ -40,7 +40,7 @@ export interface ControlMemberApi<ControlTypeAttributes extends TypeAttributes =
40
40
  readonly admin: ControlAdminApi;
41
41
  }
42
42
  /**
43
- * This Control API pertains to functionality that checks the state, registers event handlers, and so on.
43
+ * This Control API relates to functionality that checks the state, registers event handlers, and so on.
44
44
  */
45
45
  export interface ControlApiBase<ControlTypeAttributes extends TypeAttributes = TypeAttributes, ControlFieldType extends FieldType = never> {
46
46
  /**
@@ -51,12 +51,13 @@ export interface ControlApiBase<ControlTypeAttributes extends TypeAttributes = T
51
51
  readonly type: string;
52
52
  /**
53
53
  * Control Mask
54
- * @deprecated use `api.control.masking.isConfiguredForMasking` instead.
55
- **/
54
+ * @deprecated Use `api.control.masking.isConfiguredForMasking` instead.
55
+ */
56
56
  isMaskedControl(): boolean;
57
- /** Control Mask Authorization
58
- * @deprecated use `api.control.masking.isAuthorizedToUnmask`
59
- **/
57
+ /**
58
+ * Control Mask Authorization
59
+ * @deprecated Use `api.control.masking.isAuthorizedToUnmask` instead.
60
+ */
60
61
  isAuthorizedToUnmask(): boolean;
61
62
  /**
62
63
  * Sets the value of the control's field.
@@ -83,7 +84,7 @@ export interface ControlApiBase<ControlTypeAttributes extends TypeAttributes = T
83
84
  * Returns the client field properties that are associated with the calling control.
84
85
  * Field must be configured as dataSource in the control's typeAttributes.
85
86
  * @method
86
- * @returns The field restrictions that should be applied.
87
+ * @returns The client field properties that should be applied.
87
88
  */
88
89
  getClientFieldProperties(): FieldTypeToClientFieldProperties<ControlFieldType> | undefined;
89
90
  /**
@@ -107,12 +108,12 @@ export interface ControlApiBase<ControlTypeAttributes extends TypeAttributes = T
107
108
  */
108
109
  getControl(): Control<ControlTypeAttributes>;
109
110
  /**
110
- * Access the Control Data Masking API
111
+ * Access the Control Data Masking API.
111
112
  */
112
113
  masking: MaskingControlApi;
113
114
  }
114
115
  /**
115
- * This API pertains to administration functionality for controls, for example registering resources.
116
+ * This API relates to administration functionality for controls, for example registering resources.
116
117
  *
117
118
  * @category API
118
119
  */
@@ -209,7 +210,7 @@ export interface ControlStateApi {
209
210
  /**
210
211
  * Returns the masked state of the calling control.
211
212
  * True if the control is masked, otherwise false.
212
- * @deprecated use `api.control.masking.isMasked`
213
+ * @deprecated Use `api.control.masking.isMasked` instead.
213
214
  */
214
215
  readonly maskActive: boolean;
215
216
  /**
@@ -233,6 +234,11 @@ export interface ControlStateApi {
233
234
  * @method
234
235
  */
235
236
  update(): void;
237
+ /**
238
+ * Cleans up any resources held by the ControlStateApi instance.
239
+ * @ignore
240
+ */
241
+ destroy(): void;
236
242
  }
237
243
  /**
238
244
  * API methods related to object fields associated with a page.
@@ -406,7 +412,7 @@ export interface ControlPageApi extends ControlPageApiBase {
406
412
  reloadRefreshableControls(categoryToRefresh?: string, controlToRefresh?: Control): void;
407
413
  /**
408
414
  * @method
409
- * @returns True if any RefreshableControls have options.requiresIndex present. Otherwise false
415
+ * @returns True if any RefreshableControls have options.requiresIndex present. Otherwise, false.
410
416
  */
411
417
  hasAnyRefreshableControlRequiresIndex(): boolean;
412
418
  /**
@@ -423,10 +429,10 @@ export interface ControlPageApi extends ControlPageApiBase {
423
429
  * Toggle the page-level sliding panel. This panel should be used to contain information that is
424
430
  * supplementary to the document, for example attachments or workflow tasks.
425
431
  * @method
426
- * @param [sectionLabel] {string} Describes the section, this should be internationalized.
432
+ * @param [sectionLabel] {string} Describes the section; this should be internationalized.
427
433
  * @param [content] {SlidingPanelContent} The content of the sliding panel.
428
434
  * @param [panelProperties] {SlidingPanelProperties} Properties for the panel.
429
- * When providing a url for content: the panel properties will be available on the controller's "slidingPanel" object.
435
+ * When providing a URL for content: the panel properties will be available on the controller's "slidingPanel" object.
430
436
  * When providing a selector for content: the properties will be set on the element to be created.
431
437
  * @param [onClose] {function} A callback function invoked when the panel is dismissed. There are no parameters. Returns void.
432
438
  * @param [focusPreviousActiveElementOnClose] {boolean} Toggle for whether the app should apply focus to the last active element before the panel was opened.
@@ -474,12 +480,18 @@ export interface ControlPageApi extends ControlPageApiBase {
474
480
  */
475
481
  save(stopEditing: boolean, closeObject: boolean): Promise<void>;
476
482
  /**
477
- * Access the Page Data Masking API
483
+ * Access the Page Data Masking API.
478
484
  */
479
485
  masking: MaskingPageApi;
486
+ /**
487
+ * Register a callback function that is invoked when the page that contains the current control is navigated back to.
488
+ * Useful for updating homepage controls whose config sets "reuse" to true and need to update when the homepage is reloaded.
489
+ * @method
490
+ * @param callback {function} The function to be invoked.
491
+ */
480
492
  onNavigationStart(callback: () => void): void;
481
493
  /**
482
- * Checks if the sliding panel is pinned
494
+ * Checks if the sliding panel is pinned.
483
495
  * @returns A boolean value that checks whether the sliding panel is pinned.
484
496
  */
485
497
  isSlidingPanelPinned(): boolean | undefined;
@@ -564,8 +576,7 @@ export interface ControlFileApi extends ControlFileApiBase {
564
576
  * Equivalent to {@link PageEventsApiBase} with the exception that event hooks will be scoped to the page on which the calling control resides.
565
577
  * @extends PageEventsApiBase
566
578
  */
567
- export interface ControlPageEventsApi extends PageEventsApiBase {
568
- }
579
+ export type ControlPageEventsApi = PageEventsApiBase;
569
580
  export interface FieldNotOnPageError {
570
581
  name: "FieldNotOnPageError";
571
582
  message: string;
@@ -20,7 +20,8 @@ export declare enum PageEvents {
20
20
  MaskEvent = "spb::mask",
21
21
  UnmaskEvent = "spb::unmask",
22
22
  MaskResetEvent = "spb::mask-reset",
23
- ClearDateFieldEvent = "spb::clear-date-field"
23
+ ClearDateFieldEvent = "spb::clear-date-field",
24
+ BroadcastControlEvent = "spb::broadcast-control-change"
24
25
  }
25
26
  export declare enum DocumentGeneratorEvents {
26
27
  AfterDocumentGenerated = "docgen::after-document-generated"
@@ -22,6 +22,7 @@ export var PageEvents;
22
22
  PageEvents["UnmaskEvent"] = "spb::unmask";
23
23
  PageEvents["MaskResetEvent"] = "spb::mask-reset";
24
24
  PageEvents["ClearDateFieldEvent"] = "spb::clear-date-field";
25
+ PageEvents["BroadcastControlEvent"] = "spb::broadcast-control-change";
25
26
  })(PageEvents || (PageEvents = {}));
26
27
  export var DocumentGeneratorEvents;
27
28
  (function (DocumentGeneratorEvents) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sassoftware/vi-api",
3
- "version": "1.51.0",
3
+ "version": "1.51.2",
4
4
  "description": "Types used in the SAS Visual Investigator API",
5
5
  "keywords": [
6
6
  "SAS",
@@ -4,6 +4,7 @@ import { FileOperation, SASObjectAttachedFile } from "../file/file-api";
4
4
  import { ObjectFieldRestrictions } from "../object/object-api";
5
5
  import { PathsRepresentation } from "../svi-sand";
6
6
  import { TemplateFileCategoryAssociationDTO } from "../svi-datahub";
7
+ import { ClientFieldProperties } from "../control/client-field-properties";
7
8
  export declare enum PageMode {
8
9
  Create = "create",
9
10
  Edit = "edit",
@@ -47,6 +48,7 @@ export interface PageModelObjectData {
47
48
  displayLabel?: string;
48
49
  fieldRestrictions?: ObjectFieldRestrictions;
49
50
  fileRestrictions?: Record<string, Record<string, FileRestrictions>>;
51
+ clientFieldProperties?: Record<string, Record<string, ClientFieldProperties>>;
50
52
  id?: string;
51
53
  linkedPages?: LinkedPage[];
52
54
  mode?: PageMode;
@@ -170,7 +172,7 @@ export interface IPageEvent<T extends IPageEventData> {
170
172
  addPostHook(hook: IPostPageEventHook<T>): PageEventHookRemove;
171
173
  /**
172
174
  * @method
173
- * @description run pre-hooks, execute the action, run post hooks.
175
+ * @description Run pre-hooks, execute the action, run post hooks.
174
176
  * @param payload is passed as input for any event hooks.
175
177
  * @param action the action to perform.
176
178
  */
@@ -12,7 +12,7 @@ export interface ObjectPageDesignerState {
12
12
  primaryDataSource: StoredObjectDTO;
13
13
  }
14
14
  /**
15
- * This API provides functionality that pertains to the page state.
15
+ * This API provides functionality that relates to the page state.
16
16
  * Accessed from the window at `window.sas.vi.pageState`.
17
17
  *
18
18
  * @example window.sas.vi.pageState.getCurrent();
@@ -51,7 +51,7 @@ export interface PageStateApi {
51
51
  */
52
52
  getCurrentHomepageDesigner(): HomepageDesignerState | undefined;
53
53
  /**
54
- * Gives the currently active object pages state, or undefined if an object page
54
+ * Gives the currently active object page's state, or undefined if an object page
55
55
  * designer tab is not active.
56
56
  */
57
57
  getCurrentObjectPageDesigner(): ObjectPageDesignerState | undefined;
@@ -1,7 +1,7 @@
1
1
  import { Template, TemplateResourceSummary } from "../svi-datahub";
2
2
  import { ApplicationType, TemplateType } from "../page-admin/page-admin-api";
3
3
  /**
4
- * This API provides functionality that pertains to the page templates.
4
+ * This API provides functionality that relates to the page templates.
5
5
  *
6
6
  * Accessed from the window at `window.sas.vi.pageTemplate`.
7
7
  *
@@ -92,7 +92,7 @@ export interface EditorApi {
92
92
  onPropertyChange(handler: (category: string, property: string, currentValue: any, previousValue: any) => void): () => void;
93
93
  }
94
94
  /**
95
- * This API pertains to page/toolbar control properties in SAS Visual Investigator.
95
+ * This API relates to page/toolbar control properties in SAS Visual Investigator.
96
96
  *
97
97
  * Accessed from the window at `window.sas.vi.property`.
98
98
  *
@@ -40,8 +40,7 @@ export interface NetworkData {
40
40
  };
41
41
  numNodes: number;
42
42
  }
43
- export interface SearchAndCreateDialogModel extends CreateRelationshipDialogModel<SearchAndCreateResponse> {
44
- }
43
+ export type SearchAndCreateDialogModel = CreateRelationshipDialogModel<SearchAndCreateResponse>;
45
44
  export interface SearchDialogModel extends SearchOrCreateAndLinkDialogBase<SearchDialogResponse> {
46
45
  canCreate?: boolean;
47
46
  }
@@ -61,7 +60,7 @@ export interface SearchAndCreateResponse {
61
60
  relateToModel?: SearchAndCreateRelateToModel;
62
61
  }
63
62
  /**
64
- * {@link SearchApi} extension pertains to functionality related to SAS Visual Investigator's search capabilities.
63
+ * {@link SearchApi} extension relates to functionality related to SAS Visual Investigator's search capabilities.
65
64
  * These additional methods are available only in the SAS Visual Investigator Investigate and Search interface.
66
65
  *
67
66
  * Accessed from the window at `window.sas.vi.search`.
@@ -83,13 +82,13 @@ export interface ClientSearchApi extends SearchApi {
83
82
  * @description Performs a search against the svi-sand service and navigates the user to the Search Results page.
84
83
  * @param queryText {string} Text used to form the query.
85
84
  * @param visualizationName {"summary" | "map" | "table"} Visualization to query for and then display to the user.
86
- * @param [mapFilters] {MapFilter[]} The map filter object to include with the search query. This can consist of MapBoundedPolygonFilter, MapRadiusFilter, MapBoundedBoxFilter or MapShapeFilter.
85
+ * @param [mapFilters] {MapFilter[]} The map filter object to include with the search query. This can consist of MapBoundedPolygonFilter, MapRadiusFilter, MapBoundedBoxFilter, or MapShapeFilter.
87
86
  * @param [queryMode] {"standard" | "phonetic" | "synonym"} Used to perform phonetic and synonym searches. Default: "standard".
88
87
  */
89
88
  navigateSearch(queryText: string, visualizationName: SearchVisualization, mapFilters?: MapFilter[], queryMode?: QueryMode[]): Promise<void>;
90
89
  /**
91
90
  * @method
92
- * @description Gets the current search query if one exists. Otherwise undefined.
91
+ * @description Gets the current search query if one exists. Otherwise, undefined.
93
92
  */
94
93
  getCurrentSearchQuery(): SearchQuery | undefined;
95
94
  /**
@@ -127,7 +126,7 @@ export interface ClientSearchApi extends SearchApi {
127
126
  * @method
128
127
  * @description Adds an image to the Insights selected in the "Add image to Insights" dialog.
129
128
  * @param imageData {Uint8Array} Image to add.
130
- * @param contentType {string} This is used in the content-type header when the file is uploaded. For example 'image/png'.
129
+ * @param contentType {string} This is used in the content-type header when the file is uploaded. For example, 'image/png'.
131
130
  * @param [height] {string} Height of the Insights cell.
132
131
  * @param [width] {string} Width of the Insights cell.
133
132
  */
@@ -146,7 +145,7 @@ export interface ClientSearchApi extends SearchApi {
146
145
  addToNewWorkspace(objectsToAdd: ObjectIdentifier[], targetObjectType: string, targetObjectId?: string, visualization?: Visualization, workspaceName?: string, networkData?: NetworkData): Promise<void>;
147
146
  /**
148
147
  * @method
149
- * @description Launches a wizard allowing users to search, before creating an object/relationship.
148
+ * @description Launches a wizard allowing users to search before creating an object/relationship.
150
149
  * The relationship wizard is determined by the relateToParentLabel or relateToParentName defined in the wizardValues parameter.
151
150
  * @param wizardValues {SearchAndCreateDialogModel} Object containing entity and relationship data.
152
151
  * @returns A Promise that resolves when the dialog box is closed.
@@ -154,7 +153,7 @@ export interface ClientSearchApi extends SearchApi {
154
153
  openSearchAndCreateDialog(wizardValues: SearchAndCreateDialogModel): Promise<SearchAndCreateDialogModel>;
155
154
  /**
156
155
  * @method
157
- * @description Launches a wizard allowing users to search, before creating an object/relationship.
156
+ * @description Launches a wizard allowing users to search before creating an object/relationship.
158
157
  * The relationship wizard is determined by the relateToParentLabel or relateToParentName defined in the wizardValues parameter.
159
158
  * @param wizardValues {SearchDialogModel} Object containing entity and relationship data.
160
159
  * @returns A Promise that resolves when the dialog box is closed.
@@ -12,45 +12,45 @@ export interface INavigationBarTabs<D1 = any, D2 = D1> {
12
12
  export interface INavigationBarTab<D = {
13
13
  [key: string]: any;
14
14
  }, SecondaryData = D> {
15
- /** unique tab id */
15
+ /** Unique tab identifier */
16
16
  id: string;
17
- /** url relative to shell root e.g. /user/123 - this must start with a / */
17
+ /** URL relative to shell root (e.g., /user/123) - must start with a forward slash */
18
18
  routeUrl: string;
19
- /** label for the tab, can be String or the resource.key (if .isLabelResourceKey:true) */
19
+ /** Label for the tab, can be a string or resource key (if isLabelResourceKey is true) */
20
20
  label: string;
21
- /** a weight used during .sort to order the tabs; will default to the order the tabs came as
22
- * doesn't mean their array index, as many can be the same, negatives, fractions
23
- * */
21
+ /** Weight used during sorting to order the tabs; defaults to the order in which tabs were added.
22
+ * This doesn't refer to array index, as many tabs can have the same value, including negatives and fractions.
23
+ */
24
24
  sortIndex?: number;
25
- /** when true, will use resourceService.get to resolve INavigationBarTab.label */
25
+ /** When true, uses resourceService.get to resolve INavigationBarTab.label */
26
26
  isLabelResourceKey?: boolean;
27
- /** font icon */
27
+ /** Font icon */
28
28
  icon?: string;
29
- /** image url */
29
+ /** Image URL */
30
30
  img?: string;
31
- /** aria-controls id */
31
+ /** aria-controls ID */
32
32
  controlsId?: string;
33
- /** list of secondary tabs which will be displayed under the top-level tab */
33
+ /** List of secondary tabs displayed under the top-level tab */
34
34
  secondaryTabs?: Array<ISecondaryNavigationBarTab<SecondaryData>>;
35
- /** keep track of the currently selected secondary tab */
35
+ /** Currently selected secondary tab */
36
36
  selectedSecondaryTab?: ISecondaryNavigationBarTab<SecondaryData>;
37
- /** callback to configure save confirm actions on close. */
37
+ /** Callback to configure save confirmation actions on close */
38
38
  getSaveOptions?(tab: INavigationBarTab): INavigationBarTabSaveOptions | undefined;
39
- /** callback when tab is removed */
39
+ /** Callback executed when tab is removed */
40
40
  onClose?(tab: INavigationBarTab): Promise<boolean> | Observable<boolean> | boolean;
41
- /** mark tab as dirty */
41
+ /** Mark tab as having unsaved changes */
42
42
  dirty?: boolean;
43
- /** visually disable and make tab unselectable */
43
+ /** Visually disable and make tab unselectable */
44
44
  disabled?: boolean;
45
- /** visually hide tab and make unselectable */
45
+ /** Visually hide tab and make it unselectable */
46
46
  hidden?: boolean;
47
- /** exclude tab from appearing in the navigation bar system tab menu */
47
+ /** Exclude tab from appearing in the navigation bar system tab menu */
48
48
  excludedFromSystemMenu?: boolean;
49
- /** visually hide secondary tabs bar for a tab */
49
+ /** Visually hide secondary tabs bar for this tab */
50
50
  hideSecondaryTabs?: boolean;
51
- /** indicate that the tab is associated with some new object being created. */
51
+ /** Indicate that the tab is associated with a new object being created */
52
52
  creating?: boolean;
53
- /** any extra data to be associated with the tab */
53
+ /** Any additional data to be associated with the tab */
54
54
  data?: D;
55
55
  }
56
56
  export type ISecondaryNavigationBarTab<D = {
@@ -58,15 +58,15 @@ export type ISecondaryNavigationBarTab<D = {
58
58
  }> = Omit<INavigationBarTab<D>, "secondaryTabs" | "selectedSecondaryTab">;
59
59
  export interface SviShellTabData {
60
60
  /**
61
- * required user capabilities for the tab.
62
- * if unmet, the tab is hidden and cannot be navigated to.
61
+ * Required user capabilities for the tab.
62
+ * If unmet, the tab is hidden and cannot be navigated to.
63
63
  * @example
64
64
  * { or: ["svi.administration.alerts", "svi.vsd.flow.view"] }
65
65
  */
66
66
  requiredCapabilities?: RequiredResourcesExpression;
67
67
  /**
68
68
  * REST APIs required by the tab's content.
69
- * if unavailable, the tab is hidden and cannot be navigated to.
69
+ * If unavailable, the tab is hidden and cannot be navigated to.
70
70
  * @example
71
71
  * { and: ["svi-alert", "documentGeneratorAdapter"] }
72
72
  */
@@ -82,41 +82,41 @@ export interface SviShellTabData {
82
82
  }
83
83
  export interface ExternalTabConfig<T = SviShellTabData, P = any> {
84
84
  /**
85
- * will try to place at this index, can be negative, fraction, etc to put before/between existing tabs
85
+ * Will try to place at this index, can be negative, fraction, etc. to put before/between existing tabs.
86
86
  */
87
87
  sortIndex?: number;
88
88
  /**
89
- * finds TabId, and adds this as a secondaryTab to that tab
89
+ * Finds TabId, and adds this as a secondaryTab to that tab.
90
90
  */
91
91
  mainTabId?: string;
92
92
  /**
93
- * this is the element/tag name that will get presented
93
+ * This is the element/tag name that will be presented.
94
94
  */
95
95
  elementName: string;
96
96
  /**
97
- * this is the URL that the tab will be registered under,
98
- * technically it's just a unique ID as this will be used to unregister a route and close any related tab(s)
97
+ * This is the URL that the tab will be registered under.
98
+ * Technically it's just a unique ID as this will be used to unregister a route and close any related tab(s).
99
99
  */
100
100
  configUrl: string;
101
101
  /**
102
- * function to return {@link INavigationBarTab} , remember routeUrl is from baseURL with a leading /
103
- * fullUrl is the full URL that relates to the tab, useful when catching wildcards
104
- * params is constructed as of /:param1/:param2, so {param1: string, param2: string}
105
- * be aware fullUrl/params will be undefined if buildOnRegister true
102
+ * Function to return {@link INavigationBarTab}. Remember routeUrl is from baseURL with a leading /.
103
+ * fullUrl is the full URL that relates to the tab, useful when catching wildcards.
104
+ * params is constructed as of /:param1/:param2, so {param1: string, param2: string}.
105
+ * Be aware fullUrl/params will be undefined if buildOnRegister is true.
106
106
  */
107
107
  buildTab: (fullUrl?: string, params?: P) => INavigationBarTab<T>;
108
108
  /**
109
- * add as a systemTab?, if left out will default to applicationTab, ignored if mainTabId is defined
109
+ * Add as a system tab. If left out will default to application tab, ignored if mainTabId is defined.
110
110
  */
111
111
  systemTab?: boolean;
112
112
  /**
113
- * set this to true if you want the component to reset every time you navigate away
113
+ * Set this to true if you want the component to reset every time you navigate away.
114
114
  */
115
115
  doNotReuse?: boolean;
116
116
  /**
117
- * set this to true if you want buildTab to run when registered (e.g. for a system tab that's always there)
118
- * if your buildTab takes params, this can not be provided and must be assumed undefined
119
- * a secondaryTab (one that has mainTabId) will be created regardless of this flag.
117
+ * Set this to true if you want buildTab to run when registered (e.g. for a system tab that's always there).
118
+ * If your buildTab takes params, this cannot be provided and must be assumed undefined.
119
+ * A secondaryTab (one that has mainTabId) will be created regardless of this flag.
120
120
  */
121
121
  buildOnRegister?: boolean;
122
122
  }
@@ -132,27 +132,27 @@ export interface ShellTabsApi<T = SviShellTabData> {
132
132
  /**
133
133
  * @method
134
134
  * @description This is used to expose any {@link PotentialTabItem} hooks on a component up to the Tab Service.
135
- * @param {any} context pass "this"
136
- * @param {HTMLElement} nativeElement This will pass the ElementRef for the component
135
+ * @param {any} context Pass "this".
136
+ * @param {HTMLElement} nativeElement This will pass the ElementRef for the component.
137
137
  *
138
- * onTabClose {@link OnTabClose}, optional, can be used to prevent closing of a tab or close async
139
- * onAttachTab {@link OnAttachTab}, will always trigger when currentNavigationBarTab has set
140
- * onAttachToolbar {@link TabWithToolbar}, optional, will set currentToolbar if there was a toolbar in the VI Router
141
- * onTabEnter {@link OnTabEnter}, optional, will trigger when tab is entered
142
- * onTabLeave {@link OnTabLeave}, optional, will trigger when tab is left
143
- * onTabSaveConfirm {@link OnTabSaveConfirm}, optional, basic dialog box can be created whe closing a dirty tab.
138
+ * onTabClose {@link OnTabClose}, optional, can be used to prevent closing of a tab or close async.
139
+ * onAttachTab {@link OnAttachTab}, will always trigger when currentNavigationBarTab is set.
140
+ * onAttachToolbar {@link TabWithToolbar}, optional, will set currentToolbar if there was a toolbar in the VI Router.
141
+ * onTabEnter {@link OnTabEnter}, optional, will trigger when tab is entered.
142
+ * onTabLeave {@link OnTabLeave}, optional, will trigger when tab is left.
143
+ * onTabSaveConfirm {@link OnTabSaveConfirm}, optional, basic dialog box can be created when closing a dirty tab.
144
144
  */
145
145
  createTabApiForElement: (context: any, nativeElement: HTMLElement) => void;
146
146
  /**
147
147
  * @method
148
148
  * @description Use this function to register new routes for tabs.
149
- * @param {ExternalTabConfig[]} tab See {@link ExternalTabConfig}
149
+ * @param {ExternalTabConfig[]} tab See {@link ExternalTabConfig}.
150
150
  */
151
151
  registerExternalTabs: (tab: Array<ExternalTabConfig<T>>) => void;
152
152
  /**
153
153
  * @method
154
154
  * @description Use this function to remove routes added via registerTabFn.
155
- * @param {ExternalTabConfig[]} tabsToRemove See {@link ExternalTabConfig}
155
+ * @param {ExternalTabConfig[]} tabsToRemove See {@link ExternalTabConfig}.
156
156
  */
157
157
  unregisterExternalTabs: (tabsToRemove: Array<ExternalTabConfig<T>>) => void;
158
158
  /**
@@ -165,12 +165,12 @@ export interface ShellTabsApi<T = SviShellTabData> {
165
165
  };
166
166
  /**
167
167
  * @method
168
- * @description This stream will track the current top level tab.
168
+ * @description This stream will track the current top-level tab.
169
169
  */
170
170
  selectedPrimaryTabChanged$: Observable<INavigationBarTab>;
171
171
  /**
172
172
  * @method
173
- * @description This stream will track the current second level tab.
173
+ * @description This stream will track the current second-level tab.
174
174
  */
175
175
  selectedSecondaryTabChanged$: Observable<INavigationBarTab | undefined>;
176
176
  /**
@@ -188,7 +188,7 @@ export interface ShellTabsApi<T = SviShellTabData> {
188
188
  tabRemoved$: Observable<INavigationBarTab>;
189
189
  /**
190
190
  * @method
191
- * @description get Tab by ID
191
+ * @description Get Tab by ID.
192
192
  * @param [tabId] {string} This will be ID of an existing tab.
193
193
  */
194
194
  getTabById: (tabId: string) => INavigationBarTab | undefined;
@@ -207,10 +207,10 @@ export interface ShellTabsApi<T = SviShellTabData> {
207
207
  selectDefaultTab: () => Promise<boolean>;
208
208
  /**
209
209
  * @method
210
- * @description This will attempt to open+select a matching INavigationBarTab and optional secondaryTab, returning false on failure
211
- * in the event the tab doesn't exist already, it will add the tab assuming an appropriate route has been registered for it.
212
- * @param [tabToSelect] {INavigationBarTab} See {@link INavigationBarTab}
213
- * @param [secondaryTab] {INavigationBarTab} See {@link INavigationBarTab} if left undefined, this will select the previously
210
+ * @description This will attempt to open+select a matching INavigationBarTab and optional secondaryTab, returning false on failure.
211
+ * In the event the tab doesn't exist already, it will add the tab assuming an appropriate route has been registered for it.
212
+ * @param [tabToSelect] {INavigationBarTab} See {@link INavigationBarTab}.
213
+ * @param [secondaryTab] {INavigationBarTab} See {@link INavigationBarTab}. If left undefined, this will select the previously
214
214
  * selected secondary tab of the primary tab or its first index secondary tab.
215
215
  */
216
216
  openTab: (tabToSelect: INavigationBarTab, secondaryTab?: INavigationBarTab) => Promise<boolean>;
@@ -229,10 +229,10 @@ export interface ShellTabsApi<T = SviShellTabData> {
229
229
  removeApplicationTabById: (tabIdToRemove: string, suppressNavigation?: boolean) => Promise<boolean>;
230
230
  /**
231
231
  * @method
232
- * @description This will remove an existing application tab then replace with another, if {@link removeApplicationTabById} is unsuccessful this will fail
233
- * use case can be saving a tab which has a temporary ID, and reopening it with a saved payload.
232
+ * @description This will remove an existing application tab then replace with another. If {@link removeApplicationTabById} is unsuccessful this will fail.
233
+ * Use case can be saving a tab which has a temporary ID, and reopening it with a saved payload.
234
234
  * @param [tabId] {string} This will be ID of an existing tab.
235
- * @param [newTab] {INavigationBarTab} See {@link INavigationBarTab}
235
+ * @param [newTab] {INavigationBarTab} See {@link INavigationBarTab}.
236
236
  *
237
237
  */
238
238
  replaceApplicationTab: (tabId: string, newTab: INavigationBarTab) => Promise<boolean>;
@@ -20,16 +20,16 @@ export interface OnTabEnterParams {
20
20
  export type OnTabLeaveParams = Omit<OnTabEnterParams, "recycled">;
21
21
  export interface OnTabEnter {
22
22
  /**
23
- * Function to run when the Tab is entered, this happens on first load as well
24
- * @param params - from is previous tab (possibly undefined on first load), to is always this tab;
25
- * type {@link INavigationBarTab}, recycled is whether the component was recycled or not
23
+ * Function to run when the tab is entered. This happens on first load as well.
24
+ * @param params - from is the previous tab (possibly undefined on first load), to is always this tab;
25
+ * type {@link INavigationBarTab}, recycled indicates whether the component was recycled or not.
26
26
  */
27
27
  onTabEnter(params: OnTabEnterParams): void;
28
28
  }
29
29
  export interface OnTabLeave {
30
30
  /**
31
- * Function to run when the Tab is left
32
- * @param params - from is always this tab, to is where the user is going; type {@link INavigationBarTab}
31
+ * Function to run when the tab is left.
32
+ * @param params - from is always this tab, to is where the user is going; type {@link INavigationBarTab}.
33
33
  */
34
34
  onTabLeave(params: OnTabLeaveParams): void;
35
35
  }
@@ -46,13 +46,13 @@ export interface TabWithToolbar<T> {
46
46
  }
47
47
  export interface OnTabClose {
48
48
  /**
49
- * @param tab the current tab model that is closing.
49
+ * @param tab The current tab model that is closing.
50
50
  */
51
51
  onTabClose(tab: INavigationBarTab): boolean | Promise<boolean> | Observable<boolean>;
52
52
  }
53
53
  export interface OnTabSaveConfirm {
54
54
  /**
55
- * @param tab the current tab model that is closing.
55
+ * @param tab The current tab model that is closing.
56
56
  */
57
57
  onTabSaveConfirm(tab: INavigationBarTab): INavigationBarTabSaveOptions | undefined;
58
58
  }
@@ -1,6 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- // Generated using typescript-generator version 2.15.527 on 2025-09-03 21:39:02.
3
+ // Generated using typescript-generator version 2.15.527 on 2025-09-05 16:55:06.
4
4
 
5
5
  export interface SecuredApiMeta {
6
6
  experimental?: boolean;
@@ -14,9 +14,9 @@ export interface SecuredApiMeta {
14
14
 
15
15
  export interface SecuredBuild {
16
16
  buildVersion?: string;
17
- applicationVersion?: string;
18
17
  sourceId?: string;
19
18
  sourceTimeStamp?: string;
19
+ applicationVersion?: string;
20
20
  timeStamp?: string;
21
21
  }
22
22
 
@@ -47,10 +47,10 @@ export interface ResourceMediaTypes {
47
47
  }
48
48
 
49
49
  export interface Build extends Serializable {
50
- buildVersion?: string;
51
- applicationVersion?: string;
52
50
  sourceId?: string;
53
51
  sourceTimeStamp?: string;
52
+ applicationVersion?: string;
53
+ buildVersion?: string;
54
54
  timeStamp?: string;
55
55
  }
56
56
 
@@ -2767,9 +2767,9 @@ export interface DataField {
2767
2767
  ownerName?: string;
2768
2768
  currentUserIsAuthorizedToReveal?: boolean;
2769
2769
  required?: boolean;
2770
+ label?: string;
2770
2771
  columnName?: string;
2771
2772
  scale?: number;
2772
- label?: string;
2773
2773
  name?: string;
2774
2774
  length?: number;
2775
2775
  id?: number;
@@ -2790,8 +2790,8 @@ export interface DataObject extends SolutionAssignedDTO {
2790
2790
  dataStoreName?: string;
2791
2791
  dataStoreDefaultSchemaName?: string;
2792
2792
  dataStoreAssignedTimeZone?: string;
2793
- tableName?: string;
2794
2793
  label?: string;
2794
+ tableName?: string;
2795
2795
  name?: string;
2796
2796
  fields?: DataField[];
2797
2797
  id?: number;
@@ -2849,15 +2849,15 @@ export interface Entity extends SolutionAssignedDTO {
2849
2849
  borderColor?: string;
2850
2850
  borderWidth?: number;
2851
2851
  useForNetworkBuild?: boolean;
2852
- compounds?: Compound[];
2853
2852
  temporalSplitting?: boolean;
2853
+ compounds?: Compound[];
2854
2854
  displayTextElements?: SortableNameReference[];
2855
2855
  linkDisplayTextElements?: SortableNameReference[];
2856
2856
  requiresMultipleContributors?: boolean;
2857
2857
  publishCode?: PublishCode;
2858
2858
  defaultMapIcon?: Icon;
2859
- scale?: number;
2860
2859
  label?: string;
2860
+ scale?: number;
2861
2861
  name?: string;
2862
2862
  id?: number;
2863
2863
  }
@@ -2914,8 +2914,8 @@ export interface ReferenceListSummary {
2914
2914
  }
2915
2915
 
2916
2916
  export interface Relationship extends DataObject {
2917
- fromObjectName?: string;
2918
2917
  toObjectName?: string;
2918
+ fromObjectName?: string;
2919
2919
  cardinality?: RelationshipCardinality;
2920
2920
  previousCardinality?: RelationshipCardinality;
2921
2921
  symmetric?: boolean;
@@ -2930,11 +2930,11 @@ export interface Relationship extends DataObject {
2930
2930
  linkFields?: { [index: string]: string }[];
2931
2931
  joinTableName?: string;
2932
2932
  required?: boolean;
2933
+ width?: number;
2933
2934
  qualifiedName?: string;
2934
2935
  managed?: boolean;
2935
2936
  summaryFields?: SortableNameReference[];
2936
2937
  color?: string;
2937
- width?: number;
2938
2938
  type?: RelationshipType;
2939
2939
  }
2940
2940
 
@@ -2978,8 +2978,8 @@ export interface StoredDataObject extends DataObject {
2978
2978
  }
2979
2979
 
2980
2980
  export interface Transaction extends DataObject {
2981
- fromObjectName?: string;
2982
2981
  toObjectName?: string;
2982
+ fromObjectName?: string;
2983
2983
  toObjectTypeFieldName?: string;
2984
2984
  fromObjectTypeFieldName?: string;
2985
2985
  fromObjectRefFieldName?: string;
@@ -3925,8 +3925,8 @@ export interface JavaType extends ResolvedType, Serializable, Type {
3925
3925
  keyType?: JavaType;
3926
3926
  interfaces?: JavaType[];
3927
3927
  genericSignature?: string;
3928
- bindings?: TypeBindings;
3929
3928
  contentType?: JavaType;
3929
+ bindings?: TypeBindings;
3930
3930
  }
3931
3931
 
3932
3932
  export interface JsonDeserializer<T> extends NullValueProvider {
@@ -4363,9 +4363,6 @@ export interface OfField<F> extends TypeDescriptor {
4363
4363
  primitive?: boolean;
4364
4364
  }
4365
4365
 
4366
- export interface AnnotationMap extends Annotations {
4367
- }
4368
-
4369
4366
  export interface TypeResolutionContext {
4370
4367
  }
4371
4368
 
@@ -4376,10 +4373,13 @@ export interface Member {
4376
4373
  declaringClass?: Class<any>;
4377
4374
  }
4378
4375
 
4376
+ export interface AnnotationMap extends Annotations {
4377
+ }
4378
+
4379
4379
  export interface AnnotatedMember extends Annotated, Serializable {
4380
- allAnnotations?: AnnotationMap;
4381
4380
  typeContext?: TypeResolutionContext;
4382
4381
  member?: Member;
4382
+ allAnnotations?: AnnotationMap;
4383
4383
  declaringClass?: Class<any>;
4384
4384
  fullName?: string;
4385
4385
  }
@@ -4388,8 +4388,8 @@ export interface ObjectIdInfo {
4388
4388
  generatorType?: Class<ObjectIdGenerator<any>>;
4389
4389
  resolverType?: Class<ObjectIdResolver>;
4390
4390
  alwaysAsId?: boolean;
4391
- propertyName?: PropertyName;
4392
4391
  scope?: Class<any>;
4392
+ propertyName?: PropertyName;
4393
4393
  }
4394
4394
 
4395
4395
  export interface TypeDeserializer {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@types/svi-datahub",
3
- "version": "17.42.15",
3
+ "version": "17.42.20",
4
4
  "types": "index.d.ts"
5
5
  }