@sassoftware/vi-api 1.42.0 → 1.46.0

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 (48) hide show
  1. package/alert-reps/index.d.ts +18 -5
  2. package/alert-reps/package.json +1 -1
  3. package/component/bindings.d.ts +109 -2
  4. package/component/bindings.js +7 -1
  5. package/component/index.d.ts +2 -2
  6. package/config/config-api.d.ts +21 -16
  7. package/config/config-api.js +10 -0
  8. package/config/control-attribute-types.d.ts +168 -0
  9. package/config/control-attribute-types.js +1 -0
  10. package/config/index.d.ts +3 -0
  11. package/config/index.js +3 -0
  12. package/config/standardPropertyTypes.d.ts +50 -0
  13. package/config/standardPropertyTypes.js +52 -0
  14. package/config/status.d.ts +7 -0
  15. package/config/status.js +8 -0
  16. package/control/control-api.d.ts +41 -6
  17. package/control/events.d.ts +1 -1
  18. package/control/masking-api.d.ts +187 -0
  19. package/control/masking-api.js +3 -0
  20. package/control/page.d.ts +1 -1
  21. package/control/page.js +8 -1
  22. package/control/restrictions.d.ts +7 -1
  23. package/current-user/currentUser-api.d.ts +10 -1
  24. package/current-user/currentUser-api.js +2 -0
  25. package/elements/bindings.d.ts +25 -0
  26. package/elements/identity-select.d.ts +274 -0
  27. package/elements/identity-select.js +24 -0
  28. package/elements/index.d.ts +24 -5
  29. package/elements/index.js +23 -4
  30. package/elements/labelled-control.d.ts +47 -0
  31. package/elements/labelled-control.js +1 -0
  32. package/elements/mask-toggle-button.d.ts +37 -0
  33. package/elements/mask-toggle-button.js +1 -0
  34. package/event/event-api.d.ts +3 -2
  35. package/event/event-api.js +3 -2
  36. package/object/object-api.d.ts +6 -4
  37. package/package.json +1 -1
  38. package/page-model/page-model-api.d.ts +1 -1
  39. package/page-model/page-model-api.js +10 -0
  40. package/property/property-api.d.ts +2 -15
  41. package/score-reps/index.d.ts +11 -2
  42. package/score-reps/package.json +1 -1
  43. package/svi-datahub/index.d.ts +248 -216
  44. package/svi-datahub/package.json +1 -1
  45. package/svi-sand/index.d.ts +44 -8
  46. package/svi-sand/package.json +1 -1
  47. package/elements/properties.d.ts +0 -89
  48. /package/elements/{properties.js → bindings.js} +0 -0
@@ -0,0 +1,24 @@
1
+ import { expectType } from "../../shared/util/helper-functions";
2
+ /** @category Identities Types */
3
+ export var SizeType;
4
+ (function (SizeType) {
5
+ SizeType["Small"] = "small";
6
+ SizeType["Medium"] = "medium";
7
+ SizeType["XLarge"] = "x-large";
8
+ })(SizeType || (SizeType = {}));
9
+ /** @category Identities Types */
10
+ export var IdentityType;
11
+ (function (IdentityType) {
12
+ IdentityType["User"] = "user";
13
+ IdentityType["Group"] = "group";
14
+ })(IdentityType || (IdentityType = {}));
15
+ /** @category Identities Types */
16
+ export var IdentityState;
17
+ (function (IdentityState) {
18
+ IdentityState["Active"] = "active";
19
+ IdentityState["Inactive"] = "inactive";
20
+ IdentityState["Locked"] = "locked";
21
+ })(IdentityState || (IdentityState = {}));
22
+ expectType(true);
23
+ expectType(true);
24
+ expectType(true);
@@ -2,13 +2,11 @@
2
2
  * SAS Visual Investigator exposes a number of controls within the DOM as Custom Elements.
3
3
  *
4
4
  * See {@link SVICustomElement} for the list of available SVI Custom Elements.
5
- *
6
- * @module
7
5
  */
8
6
  /**
9
7
  * This enumeration list contains the tag names of all SVI custom elements.
10
8
  *
11
- * @category CustomElement
9
+ * @category Properties
12
10
  */
13
11
  export declare enum SVICustomElement {
14
12
  /**
@@ -25,6 +23,27 @@ export declare enum SVICustomElement {
25
23
  *
26
24
  * See {@link MaskToggleButtonProperties} for supported input bindings.
27
25
  */
28
- MaskToggleButton = "svi-mask-toggle-button"
26
+ MaskToggleButton = "svi-mask-toggle-button",
27
+ /**
28
+ * A token input that spawns a dialog for selecting a set of users, a set of groups, or a set of users and groups.
29
+ *
30
+ * See {@link IdentitySelectProperties} for supported input bindings.
31
+ */
32
+ IdentitySelect = "svi-identity-select",
33
+ /**
34
+ * A button for selecting a set of users, a set of groups, or a set of users and groups.
35
+ *
36
+ * See {@link IdentitySelectActionProperties} for supported input bindings.
37
+ */
38
+ IdentitySelectAction = "svi-identity-select-action",
39
+ /**
40
+ * An input to select a set of users, a set of groups, or a set of users and groups.
41
+ *
42
+ * See {@link AvatarProperties} for supported input bindings.
43
+ */
44
+ Avatar = "svi-avatar"
29
45
  }
30
- export * from "./properties";
46
+ export * from "./bindings";
47
+ export * from "./identity-select";
48
+ export * from "./labelled-control";
49
+ export * from "./mask-toggle-button";
package/elements/index.js CHANGED
@@ -2,13 +2,11 @@
2
2
  * SAS Visual Investigator exposes a number of controls within the DOM as Custom Elements.
3
3
  *
4
4
  * See {@link SVICustomElement} for the list of available SVI Custom Elements.
5
- *
6
- * @module
7
5
  */
8
6
  /**
9
7
  * This enumeration list contains the tag names of all SVI custom elements.
10
8
  *
11
- * @category CustomElement
9
+ * @category Properties
12
10
  */
13
11
  export var SVICustomElement;
14
12
  (function (SVICustomElement) {
@@ -27,5 +25,26 @@ export var SVICustomElement;
27
25
  * See {@link MaskToggleButtonProperties} for supported input bindings.
28
26
  */
29
27
  SVICustomElement["MaskToggleButton"] = "svi-mask-toggle-button";
28
+ /**
29
+ * A token input that spawns a dialog for selecting a set of users, a set of groups, or a set of users and groups.
30
+ *
31
+ * See {@link IdentitySelectProperties} for supported input bindings.
32
+ */
33
+ SVICustomElement["IdentitySelect"] = "svi-identity-select";
34
+ /**
35
+ * A button for selecting a set of users, a set of groups, or a set of users and groups.
36
+ *
37
+ * See {@link IdentitySelectActionProperties} for supported input bindings.
38
+ */
39
+ SVICustomElement["IdentitySelectAction"] = "svi-identity-select-action";
40
+ /**
41
+ * An input to select a set of users, a set of groups, or a set of users and groups.
42
+ *
43
+ * See {@link AvatarProperties} for supported input bindings.
44
+ */
45
+ SVICustomElement["Avatar"] = "svi-avatar";
30
46
  })(SVICustomElement || (SVICustomElement = {}));
31
- export * from "./properties";
47
+ export * from "./bindings";
48
+ export * from "./identity-select";
49
+ export * from "./labelled-control";
50
+ export * from "./mask-toggle-button";
@@ -0,0 +1,47 @@
1
+ import { PageControlBindings } from ".";
2
+ /**
3
+ * Properties for {@link SVICustomElement.LabelledControl}.
4
+ *
5
+ * @category Properties
6
+ *
7
+ * @example HTML Example:
8
+ * ```html
9
+ * <svi-labelled-control
10
+ * [childNode]="childNode"
11
+ * [pageModel]="pageModel"
12
+ * >
13
+ * <!-- my control -->
14
+ * </svi-labelled-control>
15
+ * ```
16
+ *
17
+ * @example Create the element via document.createElement:
18
+ * ```ts
19
+ * const labelledControl = document.createElement(SVICustomElement.LabelledControl);
20
+ * labelledControl.pageModel = this.pageModel;
21
+ * labelledControl.childNode = this.childNode;
22
+ * labelledControl.appendChild(myControlElement)
23
+ * ```
24
+ */
25
+ export interface LabelledControlProperties extends PageControlBindings {
26
+ /** Set the label as required. */
27
+ isRequired?: boolean;
28
+ /** Set the label as disabled. */
29
+ isDisabled?: boolean;
30
+ /** Override the text displayed in the label. */
31
+ overrideLabel?: string;
32
+ /** Add css classes to the label element. */
33
+ labelClass?: string;
34
+ /**
35
+ * Specify which dataSource the label's mask-toggle-button will toggle.
36
+ *
37
+ * If no {@link MaskToggleButtonProperties.dataSource | dataSource} is specified,
38
+ * the mask-toggle-button will toggle the dataSource(s) defined in the childNode's typeAttributes.
39
+ */
40
+ dataSource?: string;
41
+ /** Disable the label's mask toggle button. */
42
+ disableMaskToggle?: boolean;
43
+ /** Hide the label's mask toggle button. */
44
+ hideMaskToggle?: boolean;
45
+ /** Set the label's `for` attribute. */
46
+ for?: string;
47
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ import { PageControlBindings } from ".";
2
+ /**
3
+ * Properties for {@link SVICustomElement.MaskToggleButton}.
4
+ *
5
+ * @category Properties
6
+ *
7
+ * @example HTML Example
8
+ * ```html
9
+ * <svi-mask-toggle-button
10
+ * [childNode]="childNode"
11
+ * [pageModel]="pageModel"
12
+ * >
13
+ * </svi-mask-toggle-button>
14
+ * ```
15
+ *
16
+ * @example Create element via document.createElement:
17
+ * ```ts
18
+ * const maskToggleBtn = document.createElement(SVICustomElement.MaskToggleButton);
19
+ * maskToggleBtn.pageModel = this.pageModel;
20
+ * maskToggleBtn.childNode = this.childNode;
21
+ * ```
22
+ */
23
+ export interface MaskToggleButtonProperties extends PageControlBindings {
24
+ /**
25
+ * Specify which dataSource will be toggled.
26
+ *
27
+ * If no {@link MaskToggleButtonProperties.dataSource | dataSource} is specified,
28
+ * the mask-toggle-button will toggle the dataSource(s) defined in the childNode's typeAttributes.
29
+ */
30
+ dataSource?: string;
31
+ /** Disable the mask toggle button. */
32
+ disabled?: boolean;
33
+ /** Hide the mask toggle button. */
34
+ hidden?: boolean;
35
+ /** Override the control name displayed in the authorization dialog. */
36
+ controlName?: string;
37
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -17,8 +17,9 @@ export declare enum PageEvents {
17
17
  UpdateSubDocumentTypeEvent = "spb::updateSubDocumentType",
18
18
  TabSelectedEvent = "spb::tabSelected",
19
19
  VisitAllTabs = "spb::mark-all-tabs-visited",
20
- MaskToggleEvent = "spb::mask-toggle",
21
- MaskAllEvent = "spb::mask-all",
20
+ MaskEvent = "spb::mask",
21
+ UnmaskEvent = "spb::unmask",
22
+ MaskResetEvent = "spb::mask-reset",
22
23
  ClearDateFieldEvent = "spb::clear-date-field"
23
24
  }
24
25
  export declare enum DocumentGeneratorEvents {
@@ -18,8 +18,9 @@ export var PageEvents;
18
18
  PageEvents["UpdateSubDocumentTypeEvent"] = "spb::updateSubDocumentType";
19
19
  PageEvents["TabSelectedEvent"] = "spb::tabSelected";
20
20
  PageEvents["VisitAllTabs"] = "spb::mark-all-tabs-visited";
21
- PageEvents["MaskToggleEvent"] = "spb::mask-toggle";
22
- PageEvents["MaskAllEvent"] = "spb::mask-all";
21
+ PageEvents["MaskEvent"] = "spb::mask";
22
+ PageEvents["UnmaskEvent"] = "spb::unmask";
23
+ PageEvents["MaskResetEvent"] = "spb::mask-reset";
23
24
  PageEvents["ClearDateFieldEvent"] = "spb::clear-date-field";
24
25
  })(PageEvents || (PageEvents = {}));
25
26
  export var DocumentGeneratorEvents;
@@ -63,19 +63,20 @@ export interface ObjectApi {
63
63
  * @param objectType {string} Object type.
64
64
  * @param objectId {string} Object ID.
65
65
  * @param [includeDisplayLabel = true] {boolean} Checks whether or not to return the object with a display label.
66
+ * @param [includeChildObjects = false] {boolean} Checks whether or not to return the child objects associated with this object.
66
67
  * @return The specified object.
67
68
  */
68
- getObject(objectType: string, objectId: string, includeDisplayLabel?: boolean): Promise<VIObject>;
69
+ getObject(objectType: string, objectId: string, includeDisplayLabel?: boolean, includeChildObjects?: boolean): Promise<VIObject>;
69
70
  /**
70
71
  * @method
71
72
  * @description Gets the child objects of an object.
72
73
  * @param objectType {string} Object type.
73
74
  * @param objectId {string} Gets the child objects relating to the object ID.
74
75
  * @param childObjectType {string} Child object type.
75
- * @param [maxResponses = 25] {number} Maximum number of child objects to be returned.
76
+ * @param [limit = 25] {number} Maximum number of child objects to be returned.
76
77
  * @return A Promise that resolves to an array of objects, that are child objects of the specified object.
77
78
  */
78
- getChildObjects(objectType: string, objectId: string, childObjectType: string, maxResponses?: number): Promise<VIObject[]>;
79
+ getChildObjects(objectType: string, objectId: string, childObjectType: string, limit?: number): Promise<VIObject[]>;
79
80
  /**
80
81
  * @method
81
82
  * @description Updates an existing object with the provided data.
@@ -97,10 +98,11 @@ export interface ObjectApi {
97
98
  * @param objectTypeVersion {number} Object type version.
98
99
  * @param originalFieldValues {FieldValues} Field values before the object was edited
99
100
  * @param newFieldValues {FieldValues} Field values after the object was edited
101
+ * @param objectVersion {number} Object Version
100
102
  * @param [options] {UpdateObjectOptions} Optional extra parameters.
101
103
  * @return A Promise that resolves to the updated object when the object has successfully been updated.
102
104
  */
103
- patchObject(objectType: string, objectId: string, objectTypeId: number, objectTypeVersion: number, originalFieldValues: FieldValues, newFieldValues: FieldValues, options?: UpdateObjectOptions): Promise<VIObject>;
105
+ patchObject(objectType: string, objectId: string, objectTypeId: number, objectTypeVersion: number, originalFieldValues: FieldValues, newFieldValues: FieldValues, objectVersion: number, options?: UpdateObjectOptions): Promise<VIObject>;
104
106
  /**
105
107
  * @method
106
108
  * @description Deletes an object.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sassoftware/vi-api",
3
- "version": "1.42.0",
3
+ "version": "1.46.0",
4
4
  "description": "Types used in the SAS Visual Investigator API",
5
5
  "keywords": [
6
6
  "SAS",
@@ -149,7 +149,7 @@ export interface IPageEventData {
149
149
  /**
150
150
  * Page model events which can have pre-event or post-event hooks.
151
151
  */
152
- export declare const enum HookablePageEvents {
152
+ export declare enum HookablePageEvents {
153
153
  /**
154
154
  * A pagemodel is being saved as an object.
155
155
  */
@@ -5,6 +5,16 @@ export var PageMode;
5
5
  PageMode["View"] = "view";
6
6
  PageMode["Design"] = "design";
7
7
  })(PageMode || (PageMode = {}));
8
+ /**
9
+ * Page model events which can have pre-event or post-event hooks.
10
+ */
11
+ export var HookablePageEvents;
12
+ (function (HookablePageEvents) {
13
+ /**
14
+ * A pagemodel is being saved as an object.
15
+ */
16
+ HookablePageEvents["SaveObject"] = "svi:hookable:pagemodel:saveObject";
17
+ })(HookablePageEvents || (HookablePageEvents = {}));
8
18
  /**
9
19
  * @typedef {object} PageModelApi~CreateFromObjectOptions
10
20
  * @property [clone] {boolean} Whether or not to clone the page model data or use the referenced values.
@@ -1,4 +1,4 @@
1
- import { ResourcedString } from "../svi-datahub";
1
+ import { ControlAttributeMap, IBaseControlAttribute, IGenericControlAttribute } from "../config/control-attribute-types";
2
2
  import { Control } from "../control/page";
3
3
  import { ChildNode, TypeAttributes } from "../object/object-api";
4
4
  import { PageTemplateMetadata } from "../page-model/page-model-api";
@@ -11,20 +11,7 @@ export interface EntityToolbarItem {
11
11
  [attr: string]: any;
12
12
  };
13
13
  }
14
- export interface PropertyConfig {
15
- [property: string]: any;
16
- order?: number;
17
- type: string;
18
- displayName: ResourcedString;
19
- required?: boolean | string;
20
- localizable?: boolean | string;
21
- allowMultiple?: boolean | string;
22
- states?: Record<string, boolean>;
23
- defaultValue?: any;
24
- disabledExpression?: string;
25
- picklistName?: string;
26
- ignoreRestrictions?: boolean;
27
- }
14
+ export type PropertyConfig<T = any> = ControlAttributeMap<T>[keyof ControlAttributeMap<T>] | IBaseControlAttribute | IGenericControlAttribute;
28
15
  export interface SelectedNode {
29
16
  id: number;
30
17
  node: ChildNode;
@@ -1,6 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- // Generated using typescript-generator version 2.15.527 on 2024-04-29 09:50:32.
3
+ // Generated using typescript-generator version 2.15.527 on 2025-02-05 14:45:29.
4
4
 
5
5
  export interface BaseRep extends TrackedResource {
6
6
  links?: Link[];
@@ -55,6 +55,12 @@ export interface EntityElementsRep {
55
55
  version?: number;
56
56
  }
57
57
 
58
+ export interface ScorecardConstants {
59
+ }
60
+
61
+ export interface Length {
62
+ }
63
+
58
64
  export interface ScorecardDefinitionRep extends BaseRep {
59
65
  currentTableName?: string;
60
66
  domainId?: string;
@@ -86,7 +92,7 @@ export interface ScorecardSummaryRep extends BaseRep {
86
92
  effectiveTimeStamp?: string;
87
93
  }
88
94
 
89
- export interface Link extends Serializable {
95
+ export interface Link extends Serializable, Comparable<Link> {
90
96
  method?: string;
91
97
  rel?: string;
92
98
  href?: string;
@@ -117,6 +123,9 @@ export interface TimeTrackedResource extends LastModifiedProviderFromModifiedTim
117
123
  export interface ETagAndLastModifiedProvider extends ETaggable, LastModifiedProvider {
118
124
  }
119
125
 
126
+ export interface Comparable<T> {
127
+ }
128
+
120
129
  export interface Preconditionable {
121
130
  }
122
131
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@types/score-reps",
3
- "version": "6.0.3",
3
+ "version": "8.1.2",
4
4
  "types": "index.d.ts"
5
5
  }