@microsoft/windows-admin-center-sdk 2.296.0 → 2.298.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.
Files changed (147) hide show
  1. package/angular/assets/strings/cs-CZ/strings.json +1 -1
  2. package/angular/assets/strings/de-DE/strings.json +1 -1
  3. package/angular/assets/strings/es-ES/strings.json +1 -1
  4. package/angular/assets/strings/fr-FR/strings.json +1 -1
  5. package/angular/assets/strings/hu-HU/strings.json +1 -1
  6. package/angular/assets/strings/it-IT/strings.json +1 -1
  7. package/angular/assets/strings/ja-JP/strings.json +1 -1
  8. package/angular/assets/strings/ko-KR/strings.json +1 -1
  9. package/angular/assets/strings/nl-NL/strings.json +1 -1
  10. package/angular/assets/strings/pl-PL/strings.json +1 -1
  11. package/angular/assets/strings/pt-BR/strings.json +1 -1
  12. package/angular/assets/strings/pt-PT/strings.json +1 -1
  13. package/angular/assets/strings/ru-RU/strings.json +1 -1
  14. package/angular/assets/strings/strings.json +1 -1
  15. package/angular/assets/strings/sv-SE/strings.json +1 -1
  16. package/angular/assets/strings/tr-TR/strings.json +1 -1
  17. package/angular/assets/strings/zh-CN/strings.json +1 -1
  18. package/angular/assets/strings/zh-TW/strings.json +1 -1
  19. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +558 -240
  20. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
  21. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +2 -2
  22. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
  23. package/angular/esm2015/src/controls/actions/containers/action-bar/action-bar.component.js +7 -2
  24. package/angular/esm2015/src/controls/alert-bar/alert-bar.component.js +5 -5
  25. package/angular/esm2015/src/controls/common/base.component.js +8 -1
  26. package/angular/esm2015/src/controls/data-table/data-table.component.js +39 -9
  27. package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +11 -8
  28. package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +8 -9
  29. package/angular/esm2015/src/controls/form/form-field/file/file-form-field.component.js +14 -2
  30. package/angular/esm2015/src/controls/form/form-field/form-field.component.js +9 -2
  31. package/angular/esm2015/src/controls/layout/layout-definition.component.js +9 -2
  32. package/angular/esm2015/src/controls/layout/layout.component.js +11 -2
  33. package/angular/esm2015/src/controls/master-view/master-view.component.js +32 -5
  34. package/angular/esm2015/src/controls/page-alert-bar/models/index.js +1 -1
  35. package/angular/esm2015/src/controls/pivot/pivot.component.js +11 -5
  36. package/angular/esm2015/src/controls/property-grid/property-grid-item.component.js +50 -2
  37. package/angular/esm2015/src/controls/property-grid/property-grid.component.js +73 -60
  38. package/angular/esm2015/src/controls/property-grid/property-grid.module.js +5 -1
  39. package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +151 -70
  40. package/angular/esm2015/src/controls/settings/settings.component.js +48 -8
  41. package/angular/esm2015/src/controls/settings/settings.module.js +21 -9
  42. package/angular/esm2015/src/controls/wizard/wizard.component.js +55 -65
  43. package/angular/esm2015/src/generated/strings.js +1 -1
  44. package/angular/esm2015/src/service/app-context.service.js +3 -1
  45. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +535 -240
  46. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
  47. package/angular/package.json +2 -0
  48. package/angular/src/controls/common/base.component.d.ts +5 -0
  49. package/angular/src/controls/data-table/data-table.component.d.ts +15 -0
  50. package/angular/src/controls/form/form-field/checklist/checklist-form-field.component.d.ts +1 -0
  51. package/angular/src/controls/form/form-field/file/file-form-field.component.d.ts +4 -0
  52. package/angular/src/controls/layout/layout-definition.component.d.ts +6 -1
  53. package/angular/src/controls/master-view/master-view.component.d.ts +118 -2
  54. package/angular/src/controls/page-alert-bar/models/index.d.ts +1 -1
  55. package/angular/src/controls/pivot/pivot.component.d.ts +4 -1
  56. package/angular/src/controls/property-grid/property-grid-item.component.d.ts +53 -3
  57. package/angular/src/controls/property-grid/property-grid.component.d.ts +1 -2
  58. package/angular/src/controls/property-grid/property-grid.module.d.ts +4 -3
  59. package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +32 -1
  60. package/angular/src/controls/settings/settings.component.d.ts +18 -1
  61. package/angular/src/controls/settings/settings.module.d.ts +3 -1
  62. package/angular/src/generated/strings.d.ts +3 -0
  63. package/core/base/environment.d.ts +10 -0
  64. package/core/base/environment.js.map +1 -1
  65. package/core/data/gateway-connection.d.ts +34 -0
  66. package/core/data/gateway-connection.js +59 -2
  67. package/core/data/gateway-connection.js.map +1 -1
  68. package/core/data/gateway-status.d.ts +24 -0
  69. package/core/data/gateway-status.js +3 -0
  70. package/core/data/gateway-status.js.map +1 -0
  71. package/core/data/node-connection.d.ts +4 -0
  72. package/core/data/node-connection.js.map +1 -1
  73. package/core/data/powershell.d.ts +4 -0
  74. package/core/data/powershell.js +1 -0
  75. package/core/data/powershell.js.map +1 -1
  76. package/core/data/wdac-operations.d.ts +123 -0
  77. package/core/data/wdac-operations.js +144 -0
  78. package/core/data/wdac-operations.js.map +1 -0
  79. package/core/diagnostics/sme-web-telemetry-models.d.ts +20 -3
  80. package/core/diagnostics/sme-web-telemetry-models.js +6 -2
  81. package/core/diagnostics/sme-web-telemetry-models.js.map +1 -1
  82. package/core/diagnostics/sme-web-telemetry.d.ts +13 -1
  83. package/core/diagnostics/sme-web-telemetry.js +51 -11
  84. package/core/diagnostics/sme-web-telemetry.js.map +1 -1
  85. package/core/generated/powershell-scripts.d.ts +8 -4
  86. package/core/generated/powershell-scripts.js +8 -4
  87. package/core/generated/powershell-scripts.js.map +1 -1
  88. package/core/index.d.ts +2 -0
  89. package/core/index.js +1 -0
  90. package/core/index.js.map +1 -1
  91. package/core/manifest/environment-modules.js +10 -0
  92. package/core/manifest/environment-modules.js.map +1 -1
  93. package/core/notification/powershell-notification.js +1 -1
  94. package/core/notification/powershell-notification.js.map +1 -1
  95. package/core/performance/performance-tracker.d.ts +67 -0
  96. package/core/performance/performance-tracker.js +211 -4
  97. package/core/performance/performance-tracker.js.map +1 -1
  98. package/core/rpc/credssp/rpc-credssp-model.d.ts +27 -2
  99. package/core/rpc/credssp/rpc-credssp-model.js +10 -0
  100. package/core/rpc/credssp/rpc-credssp-model.js.map +1 -1
  101. package/core/security/credssp-manager.d.ts +15 -1
  102. package/core/security/credssp-manager.js +28 -0
  103. package/core/security/credssp-manager.js.map +1 -1
  104. package/core/shared/gateway-inventory/gateway-inventory.d.ts +10 -0
  105. package/core/shared/gateway-inventory/gateway-inventory.js +11 -0
  106. package/core/shared/gateway-inventory/gateway-inventory.js.map +1 -1
  107. package/e2e/assets/strings/cs-CZ/strings.json +1 -1
  108. package/e2e/assets/strings/de-DE/strings.json +1 -1
  109. package/e2e/assets/strings/es-ES/strings.json +1 -1
  110. package/e2e/assets/strings/fr-FR/strings.json +1 -1
  111. package/e2e/assets/strings/hu-HU/strings.json +1 -1
  112. package/e2e/assets/strings/it-IT/strings.json +1 -1
  113. package/e2e/assets/strings/ja-JP/strings.json +1 -1
  114. package/e2e/assets/strings/ko-KR/strings.json +1 -1
  115. package/e2e/assets/strings/nl-NL/strings.json +1 -1
  116. package/e2e/assets/strings/pl-PL/strings.json +1 -1
  117. package/e2e/assets/strings/pt-BR/strings.json +1 -1
  118. package/e2e/assets/strings/pt-PT/strings.json +1 -1
  119. package/e2e/assets/strings/ru-RU/strings.json +1 -1
  120. package/e2e/assets/strings/strings.json +1 -1
  121. package/e2e/assets/strings/sv-SE/strings.json +1 -1
  122. package/e2e/assets/strings/tr-TR/strings.json +1 -1
  123. package/e2e/assets/strings/zh-CN/strings.json +1 -1
  124. package/e2e/assets/strings/zh-TW/strings.json +1 -1
  125. package/package.json +5 -3
  126. package/styles/css/main.css +1 -1
  127. package/tools/module-template/gulpfile.ts/index.ts +1 -1
  128. package/tools/package-lock.json +18081 -4110
  129. package/tools/wac-cli/src/create/main.d.ts +6 -3
  130. package/tools/wac-cli/src/create/main.js +87 -35
  131. package/tools/wac-cli/src/create/main.js.map +1 -1
  132. package/tools/wac-cli/src/index.js +2 -2
  133. package/tools/wac-cli/src/index.js.map +1 -1
  134. package/tools/wac-cli/templates/internal/npmrc.txt +6 -0
  135. package/tools/wac-cli/templates/internal/package.json +101 -0
  136. package/tools/wac-cli/templates/{manifest/solution-manifest.json → solution/manifest.json} +19 -0
  137. package/tools/wac-cli/templates/solution/strings.resjson +16 -0
  138. package/tools/wac-cli/templates/wac-template/angular.json +2 -2
  139. package/tools/wac-cli/templates/wac-template/gulpfile.ts/config-data.ts +1 -1
  140. package/tools/wac-cli/templates/wac-template/package.json +0 -8
  141. package/tools/wac-cli/templates/wac-template/src/app/app-routing.module.ts +1 -1
  142. package/tools/wac-cli/templates/wac-template/src/main.ts +2 -0
  143. package/tools/wac-cli/templates/{manifest/tool-manifest.json → wac-template/src/manifest.json} +0 -0
  144. package/tools/wac-cli/templates/wac-template/src/polyfills.ts +1 -1
  145. package/tools/wac-cli/templates/wac-template/src/test.ts +2 -2
  146. package/tools/wac-cli/templates/wac-template/src/version.ts +3 -0
  147. package/tools/wac-cli/templates/wac-template/version.json +5 -0
@@ -33,6 +33,8 @@
33
33
  "@angular/platform-browser": "11.2.14",
34
34
  "@angular/platform-browser-dynamic": "11.2.14",
35
35
  "@angular/router": "11.2.14",
36
+ "chart.js": "2.9.4",
37
+ "moment": "2.29.2",
36
38
  "core-js": "2.6.0",
37
39
  "zone.js": "~0.11.3"
38
40
  },
@@ -64,6 +64,11 @@ export declare abstract class BaseComponent<TResourceStrings> extends NgLifecycl
64
64
  * Derived classes are always expected to call super.getInitialHostClasses() when overriding
65
65
  */
66
66
  protected getInitialHostClasses(): string[];
67
+ /**
68
+ * Shortcut to get an attribute on the host element
69
+ * @param name The name of the attribute
70
+ */
71
+ protected getAttribute(name: string): string;
67
72
  /**
68
73
  * Shortcut to set an attribute on the host element
69
74
  * @param name The name of the attribute
@@ -456,6 +456,16 @@ export declare class DataTableComponent extends CoreBaseComponent implements OnI
456
456
  private getIsFocusingOutFromLastFormField;
457
457
  handleRenderedItemRowFocusOut(renderedItem: DataTableRenderedItem): void;
458
458
  shouldShowEditRow(renderedItem: DataTableRenderedItem): boolean;
459
+ /**
460
+ * Retrieves the text that should be associated with the aria-label for column sort order (if sortable).
461
+ * This label is utilized by screen readers for accessibility.
462
+ * If the current sort order is Ascending, the label will indicate a button icon is present to Descend order.
463
+ * If the current sort order is Descending, the label will indicate a button icon is present to Ascend order.
464
+ * If the current sort order is None, the label is null, and the screen reader will not read anything.
465
+ * @param column the table column
466
+ * @returns the text for the aria-label on the sort icon
467
+ */
468
+ getSortLabel(column: DataTableColumnComponent): string;
459
469
  /**
460
470
  * It implements the AfterViewInit interface.
461
471
  */
@@ -641,6 +651,11 @@ export declare class DataTableComponent extends CoreBaseComponent implements OnI
641
651
  private processColumnsMain;
642
652
  private processActualColumns;
643
653
  processColumnsByOrder(order: Array<string>): void;
654
+ /**
655
+ * Get the number of filtered items (if any) within the dataTable.
656
+ * @returns number of dataTable filtered items, zero if none.
657
+ */
658
+ getNumberOfFilteredItems(): number;
644
659
  /**
645
660
  * This function is added from upgrading data table to support editable data table
646
661
  * The idea is to use the data table's header width to be applied on the data table body columns.
@@ -53,6 +53,7 @@ export declare class ChecklistFormFieldComponent<TValue> extends SmeInternalOpti
53
53
  * id values will be assigned be the @see BaseComponent super class.
54
54
  */
55
55
  protected createIdBag(): MsftSme.StringMap<string>;
56
+ formatDataUtaId(option: string): string;
56
57
  getCheckboxCount(index?: number): string;
57
58
  /**
58
59
  * Performs validation that is internal to this control
@@ -41,6 +41,10 @@ export declare class FileFormFieldComponent extends SmeInternalFormFieldComponen
41
41
  * gets the file count label
42
42
  */
43
43
  get fileCountLabel(): string;
44
+ /**
45
+ * gets aria-label text
46
+ */
47
+ get ariaLabelText(): string;
44
48
  /**
45
49
  * Indicates if there are any files selected
46
50
  */
@@ -3,6 +3,11 @@ export declare class LayoutDefinitionComponent {
3
3
  until: number;
4
4
  columns: number;
5
5
  name: string;
6
+ /**
7
+ * Setting addBottomPadding to True will add bottom padding to all layout-items,
8
+ * otherwise does NOT add bottom padding to any layout-items.
9
+ */
10
+ addBottomPadding: boolean;
6
11
  static ɵfac: i0.ɵɵFactoryDef<LayoutDefinitionComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDefWithMeta<LayoutDefinitionComponent, "sme-layout-definition", never, { "until": "until"; "columns": "columns"; "name": "name"; }, {}, never, never>;
12
+ static ɵcmp: i0.ɵɵComponentDefWithMeta<LayoutDefinitionComponent, "sme-layout-definition", never, { "until": "until"; "columns": "columns"; "name": "name"; "addBottomPadding": "addBottomPadding"; }, {}, never, never>;
8
13
  }
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, DoCheck, ElementRef, EventEmitter, Injector, NgZone, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, DoCheck, ElementRef, EventEmitter, Injector, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ActionBarComponent } from '../actions/containers/action-bar/action-bar.component';
3
3
  import { CoreBaseComponent } from '../common/base.component';
4
4
  import { DataTableComponent, TreeTableComponent } from '../data-table/data-table.component';
@@ -6,7 +6,7 @@ import { SearchFormFieldComponent } from '../form/form-field/search/search-form-
6
6
  import { PivotComponent } from '../pivot/pivot.component';
7
7
  import { SplitViewComponent } from '../split-view/split-view.component';
8
8
  import * as i0 from "@angular/core";
9
- export declare class MasterViewComponent extends CoreBaseComponent implements AfterViewInit, DoCheck, OnDestroy, OnInit {
9
+ export declare class MasterViewComponent extends CoreBaseComponent implements AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit {
10
10
  private ngZone;
11
11
  private splitView;
12
12
  private pivotComponent;
@@ -42,6 +42,117 @@ export declare class MasterViewComponent extends CoreBaseComponent implements Af
42
42
  title: string;
43
43
  };
44
44
  };
45
+ commonStrings: {
46
+ add: string;
47
+ apply: string;
48
+ back: string;
49
+ skip: string;
50
+ cancel: string;
51
+ close: string;
52
+ clear: string;
53
+ continue: string;
54
+ details: string;
55
+ disable: string;
56
+ disabled: string;
57
+ discard: string;
58
+ discarded: string;
59
+ enable: string;
60
+ enabled: string;
61
+ exit: string;
62
+ failed: string;
63
+ failure: string;
64
+ finish: string;
65
+ free: string;
66
+ inProgress: string;
67
+ message: string;
68
+ next: string;
69
+ no: string;
70
+ remove: string;
71
+ save: string;
72
+ search: string;
73
+ succeeded: string;
74
+ success: string;
75
+ submit: string;
76
+ total: string;
77
+ used: string;
78
+ yes: string;
79
+ more: string;
80
+ actions: string;
81
+ expand: string;
82
+ collapse: string;
83
+ on: string;
84
+ off: string;
85
+ reset: string;
86
+ none: string;
87
+ OK: {
88
+ affirmative: string;
89
+ state: string;
90
+ };
91
+ Capacity: {
92
+ criticalState: string;
93
+ warningState: string;
94
+ normalState: string;
95
+ };
96
+ Form: {
97
+ Validation: {
98
+ required: string;
99
+ UnknownFieldName: string;
100
+ IllegalNumber: string;
101
+ AlertTypes: {
102
+ error: string;
103
+ warn: string;
104
+ info: string;
105
+ success: string;
106
+ pending: string;
107
+ };
108
+ Min: {
109
+ format: string;
110
+ };
111
+ Max: {
112
+ format: string;
113
+ };
114
+ Required: {
115
+ format: string;
116
+ };
117
+ Email: {
118
+ format: string;
119
+ };
120
+ MinLength: {
121
+ format: string;
122
+ };
123
+ MaxLength: {
124
+ format: string;
125
+ };
126
+ Pattern: {
127
+ format: string;
128
+ };
129
+ Capslock: {
130
+ message: string;
131
+ };
132
+ isNumber: {
133
+ format: string;
134
+ };
135
+ MachineName: {
136
+ invalidCharacters: string;
137
+ invalidCharactersWithSpace: string;
138
+ whitespaceWillBeTrimmed: string;
139
+ noStartWithPeriod: string;
140
+ };
141
+ MatchField: {
142
+ noMatch: string;
143
+ };
144
+ Pending: {
145
+ message: string;
146
+ };
147
+ };
148
+ Loading: {
149
+ message: string;
150
+ };
151
+ };
152
+ InfoBubble: {
153
+ title: string;
154
+ };
155
+ };
45
156
  searchElement: SearchFormFieldComponent;
46
157
  actionBarComponent: ActionBarComponent;
47
158
  containerElement: ElementRef;
@@ -94,6 +205,7 @@ export declare class MasterViewComponent extends CoreBaseComponent implements Af
94
205
  */
95
206
  ngAfterViewInit(): void;
96
207
  ngOnInit(): void;
208
+ ngOnChanges(changes: SimpleChanges): void;
97
209
  ngOnDestroy(): void;
98
210
  updateLayout(): void;
99
211
  ngDoCheck(): void;
@@ -107,6 +219,10 @@ export declare class MasterViewComponent extends CoreBaseComponent implements Af
107
219
  * Update the action bar
108
220
  */
109
221
  updateActionBar(): void;
222
+ /**
223
+ * Handles clicking on the refresh button
224
+ */
225
+ refreshButtonClicked(): void;
110
226
  private handleDetailPaneExpanding;
111
227
  private ensureDataItemIsInViewport;
112
228
  private setupDataTableAccessibility;
@@ -1 +1 @@
1
- export { PageAlert, HealthAlertSeverity } from './page-alert';
1
+ export { ExternalLink, PageAlert, HealthAlertSeverity } from './page-alert';
@@ -99,7 +99,7 @@ export declare class PivotComponent extends CoreBaseComponent implements Layout,
99
99
  /**
100
100
  * Force refresh for the pivot tabs.
101
101
  */
102
- refresh(): void;
102
+ refresh(shouldEmit?: boolean): void;
103
103
  /**
104
104
  * Selects a tab
105
105
  * @param tab The tab to select
@@ -117,6 +117,9 @@ export declare class PivotComponent extends CoreBaseComponent implements Layout,
117
117
  * Gets the initial host classes to be applied to this element
118
118
  */
119
119
  protected getInitialHostClasses(): string[];
120
+ /**
121
+ * Main rendering functionality for the pivot tab
122
+ */
120
123
  private updatePivotTabs;
121
124
  static ɵfac: i0.ɵɵFactoryDef<PivotComponent, [null, { optional: true; skipSelf: true; }]>;
122
125
  static ɵcmp: i0.ɵɵComponentDefWithMeta<PivotComponent, "sme-pivot", never, { "selection": "selection"; "switchTabByShowHide": "switchTabByShowHide"; "headerText": "headerText"; "alignHeader": "alignHeader"; "alignTabs": "alignTabs"; "noLeftPadding": "noLeftPadding"; "disabled": "disabled"; }, { "selectionChange": "selectionChange"; "layoutChanged": "layoutChanged"; }, ["tabs", "visibleTabsQL"], never>;
@@ -1,19 +1,69 @@
1
+ import { OnInit } from '@angular/core';
1
2
  import { StatusIconType } from '../icon/layered-icon/status/status-icon.component';
2
3
  import * as i0 from "@angular/core";
3
- export declare class PropertyGridItemComponent {
4
+ export declare class PropertyGridItemComponent implements OnInit {
5
+ /**
6
+ * The internal value/context for the property grid item.
7
+ */
8
+ private internalValue;
9
+ /**
10
+ * The label for the property grid item.
11
+ */
4
12
  label: string;
5
- value: any;
13
+ /**
14
+ * The setter for value/context.
15
+ */
16
+ set value(input: any);
17
+ /**
18
+ * The getter for value/context.
19
+ */
20
+ get value(): any;
21
+ /**
22
+ * It indicates the action for the property grid item.
23
+ */
6
24
  action: MsftSme.Action1<PropertyGridItemComponent>;
25
+ /**
26
+ * The link for the property grid item.
27
+ */
7
28
  link: string;
29
+ /**
30
+ * The tooltip for the property grid item.
31
+ */
8
32
  tooltip: string;
33
+ /**
34
+ * It indicates whether the property grid item is external link.
35
+ */
9
36
  isExternalLink: boolean;
37
+ /**
38
+ * The icon class for the property grid item.
39
+ */
10
40
  iconClass: string;
41
+ /**
42
+ * The status for the property grid item.
43
+ */
11
44
  status: StatusIconType.Bindable;
45
+ /**
46
+ * It indicates the column span for the layout.
47
+ */
12
48
  columnSpan: number;
49
+ /**
50
+ * It indicates the rendering of loading wheel when data unloaded.
51
+ */
52
+ isAsync: boolean;
53
+ /**
54
+ * It indicates whether the property grid is loading.
55
+ * This parameter has to have isAsync set to true to use.
56
+ */
57
+ loading: boolean;
13
58
  /**
14
59
  * Gets the status class to apply to this components value section
15
60
  */
16
61
  get statusClass(): string;
62
+ ngOnInit(): void;
63
+ /**
64
+ * Give the ability to reset loading.
65
+ */
66
+ resetLoading(): void;
17
67
  static ɵfac: i0.ɵɵFactoryDef<PropertyGridItemComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDefWithMeta<PropertyGridItemComponent, "sme-property-grid-item", never, { "label": "label"; "value": "value"; "action": "action"; "link": "link"; "tooltip": "tooltip"; "isExternalLink": "isExternalLink"; "iconClass": "iconClass"; "status": "status"; "columnSpan": "columnSpan"; }, {}, never, never>;
68
+ static ɵcmp: i0.ɵɵComponentDefWithMeta<PropertyGridItemComponent, "sme-property-grid-item", never, { "label": "label"; "value": "value"; "action": "action"; "link": "link"; "tooltip": "tooltip"; "isExternalLink": "isExternalLink"; "iconClass": "iconClass"; "status": "status"; "columnSpan": "columnSpan"; "isAsync": "isAsync"; }, {}, never, never>;
19
69
  }
@@ -56,14 +56,13 @@ export declare class PropertyGridComponent extends CoreBaseComponent implements
56
56
  */
57
57
  protected get logSourceName(): string;
58
58
  /**
59
- * The source name to use for logging
59
+ * The orientation for the property grid
60
60
  */
61
61
  orientation: PropertyGridOrientation;
62
62
  /**
63
63
  * Implementation of the Layout interface
64
64
  */
65
65
  layoutChanged: EventEmitter<void>;
66
- private changeDetector;
67
66
  constructor(injector: Injector, layout: Layout);
68
67
  stringifyValue(value: any): any;
69
68
  getTemplate(item: PropertyGridItemComponent): TemplateRef<PropertyGridItemComponent>;
@@ -4,10 +4,11 @@ import * as i2 from "./property-grid-item.component";
4
4
  import * as i3 from "@angular/router";
5
5
  import * as i4 from "@angular/common";
6
6
  import * as i5 from "../layout/layout.module";
7
- import * as i6 from "../icon/icon.module";
8
- import * as i7 from "../tooltip/tooltip.module";
7
+ import * as i6 from "../loading-wheel/loading-wheel.module";
8
+ import * as i7 from "../icon/icon.module";
9
+ import * as i8 from "../tooltip/tooltip.module";
9
10
  export declare class PropertyGridModule {
10
11
  static ɵfac: i0.ɵɵFactoryDef<PropertyGridModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDefWithMeta<PropertyGridModule, [typeof i1.PropertyGridComponent, typeof i2.PropertyGridItemComponent], [typeof i3.RouterModule, typeof i4.CommonModule, typeof i5.LayoutModule, typeof i6.IconModule, typeof i7.TooltipModule], [typeof i1.PropertyGridComponent, typeof i2.PropertyGridItemComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDefWithMeta<PropertyGridModule, [typeof i1.PropertyGridComponent, typeof i2.PropertyGridItemComponent], [typeof i3.RouterModule, typeof i4.CommonModule, typeof i5.LayoutModule, typeof i6.LoadingWheelModule, typeof i7.IconModule, typeof i8.TooltipModule], [typeof i1.PropertyGridComponent, typeof i2.PropertyGridItemComponent]>;
12
13
  static ɵinj: i0.ɵɵInjectorDef<PropertyGridModule>;
13
14
  }
@@ -6,6 +6,7 @@ import { Observable } from 'rxjs';
6
6
  import { AppContextService } from '../../../service/app-context.service';
7
7
  import { RpcShellService } from '../../../service/rpc-shell.service';
8
8
  import { CoreBaseComponent } from '../../common/base.component';
9
+ import { SearchFormFieldComponent } from '../../form';
9
10
  import { CanComponentDeactivate } from '../settings-can-deactivate-guard.service';
10
11
  import { SettingsFormService } from '../settings-form.service';
11
12
  import { SettingsComponent } from '../settings.component';
@@ -33,6 +34,13 @@ export declare class CommonSettingsComponent extends CoreBaseComponent implement
33
34
  groupTools: GroupToolsMenu[];
34
35
  layers: RpcDialogOverlayData[];
35
36
  selectedSetting: CommonSettingsNavigationItem;
37
+ /**
38
+ * Search box related variables
39
+ */
40
+ filter: string;
41
+ searchTitle: string;
42
+ filteredSettings: CommonSettingsNavigationItem[];
43
+ searchTextBox: SearchFormFieldComponent;
36
44
  settingsTitle: string;
37
45
  settings: CommonSettingsNavigationItem[];
38
46
  showHeader: boolean;
@@ -42,6 +50,13 @@ export declare class CommonSettingsComponent extends CoreBaseComponent implement
42
50
  commands: any[];
43
51
  extras?: NavigationExtras;
44
52
  };
53
+ /**
54
+ * Controls whether the tab list showing the Settings items is scrollable or not
55
+ * Default to true. Allowing separate scroll bar for the navbar and the selected Settings.
56
+ * Set to false for backward compatibility and use previous behavior where there is
57
+ * only 1 single scroll bar for both navbar and content of the selected Settings item.
58
+ */
59
+ scrollableSecondaryNav: boolean;
45
60
  settingsComponent: SettingsComponent;
46
61
  private latestForm;
47
62
  private latestPristineFormValue;
@@ -83,6 +98,22 @@ export declare class CommonSettingsComponent extends CoreBaseComponent implement
83
98
  * @param formControl The form control to get the value from
84
99
  */
85
100
  private getRawValueRecursive;
101
+ /**
102
+ * Update this.selectedSetting to the newly selected Settings item when user navigate to a new Settings item
103
+ * Also call the child component this.settingsComponent to update the settingsTitle to reflect the title
104
+ * of the newly selected Settings item
105
+ *
106
+ * @param newSetting The newly selected Settings item
107
+ */
108
+ onSmeRouterLinkActivated(newSetting: CommonSettingsNavigationItem): void;
109
+ /**
110
+ * Callback function for the search field
111
+ */
112
+ onSearch(): void;
113
+ /**
114
+ * Filter out the settings Item based on this.filter string and match the title of Settings Items
115
+ */
116
+ private filterSetting;
86
117
  static ɵfac: i0.ɵɵFactoryDef<CommonSettingsComponent, never>;
87
- static ɵcmp: i0.ɵɵComponentDefWithMeta<CommonSettingsComponent, "sme-common-settings", never, { "settingsTitle": "settingsTitle"; "settings": "settings"; "showHeader": "showHeader"; "hackShowOverlay": "hackShowOverlay"; "hackToolHeader": "hackToolHeader"; "backRoute": "backRoute"; }, {}, never, ["*"]>;
118
+ static ɵcmp: i0.ɵɵComponentDefWithMeta<CommonSettingsComponent, "sme-common-settings", never, { "settingsTitle": "settingsTitle"; "settings": "settings"; "showHeader": "showHeader"; "hackShowOverlay": "hackShowOverlay"; "hackToolHeader": "hackToolHeader"; "backRoute": "backRoute"; "scrollableSecondaryNav": "scrollableSecondaryNav"; }, {}, never, ["*"]>;
88
119
  }
@@ -42,6 +42,10 @@ export declare class SettingsComponent extends CoreBaseComponent implements OnIn
42
42
  allForms: FormGroup[];
43
43
  addPadding: boolean;
44
44
  private autoFocus;
45
+ /**
46
+ * Separator used in sticky header on top of Settings page
47
+ */
48
+ readonly headerSeparator = "|";
45
49
  /**
46
50
  * @deprecated Add your own custom back button in the form
47
51
  */
@@ -50,6 +54,15 @@ export declare class SettingsComponent extends CoreBaseComponent implements OnIn
50
54
  extras?: NavigationExtras;
51
55
  };
52
56
  settingsTitle: string;
57
+ /**
58
+ * Store the currently selected settings title
59
+ */
60
+ selectedSettingsTitle: string;
61
+ /**
62
+ * Store the concatenation of settingsTitle, headerSeparator & selectedSettingsTitle
63
+ * Used for tool tip when hover over header
64
+ */
65
+ fullSettingsTitle: string;
53
66
  private layoutComponent;
54
67
  settingsForms: SettingsFormService;
55
68
  dialogService: DialogService;
@@ -67,6 +80,10 @@ export declare class SettingsComponent extends CoreBaseComponent implements OnIn
67
80
  */
68
81
  protected getInitialHostClasses(): string[];
69
82
  isPaddingRequired(): boolean;
83
+ /**
84
+ * Update this.settingsTitle (header of the setting page) to newly selected setting item
85
+ */
86
+ updateSelectedSettingTitle(newSelectedSettingTitle: string): void;
70
87
  static ɵfac: i0.ɵɵFactoryDef<SettingsComponent, never>;
71
- static ɵcmp: i0.ɵɵComponentDefWithMeta<SettingsComponent, "sme-settings", never, { "backRoute": "backRoute"; "settingsTitle": "settingsTitle"; }, {}, never, ["sme-settings-navigation", "sme-settings-header", "sme-settings-content", "sme-settings-footer"]>;
88
+ static ɵcmp: i0.ɵɵComponentDefWithMeta<SettingsComponent, "sme-settings", never, { "backRoute": "backRoute"; "settingsTitle": "settingsTitle"; "selectedSettingsTitle": "selectedSettingsTitle"; }, {}, never, ["sme-settings-navigation", "sme-settings-header", "sme-settings-content", "sme-settings-footer"]>;
72
89
  }
@@ -13,8 +13,10 @@ import * as i11 from "@angular/common";
13
13
  import * as i12 from "../header/header.module";
14
14
  import * as i13 from "../layout/layout.module";
15
15
  import * as i14 from "../tooltip/tooltip.module";
16
+ import * as i15 from "@angular/forms";
17
+ import * as i16 from "../form/forms.module";
16
18
  export declare class SettingsModule {
17
19
  static ɵfac: i0.ɵɵFactoryDef<SettingsModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDefWithMeta<SettingsModule, [typeof i1.SettingsComponent, typeof i2.SettingsFormDirective, typeof i3.SettingsFooterComponent, typeof i4.SettingsHeaderComponent, typeof i5.SettingsContentComponent, typeof i6.SettingsPageComponent, typeof i7.SettingsNavigationComponent, typeof i8.CommonSettingsComponent], [typeof i9.SmeRouterModule, typeof i10.RouterModule, typeof i11.CommonModule, typeof i12.HeaderModule, typeof i13.LayoutModule, typeof i14.TooltipModule], [typeof i1.SettingsComponent, typeof i2.SettingsFormDirective, typeof i3.SettingsFooterComponent, typeof i4.SettingsHeaderComponent, typeof i5.SettingsContentComponent, typeof i6.SettingsPageComponent, typeof i7.SettingsNavigationComponent, typeof i8.CommonSettingsComponent]>;
20
+ static ɵmod: i0.ɵɵNgModuleDefWithMeta<SettingsModule, [typeof i1.SettingsComponent, typeof i2.SettingsFormDirective, typeof i3.SettingsFooterComponent, typeof i4.SettingsHeaderComponent, typeof i5.SettingsContentComponent, typeof i6.SettingsPageComponent, typeof i7.SettingsNavigationComponent, typeof i8.CommonSettingsComponent], [typeof i9.SmeRouterModule, typeof i10.RouterModule, typeof i11.CommonModule, typeof i12.HeaderModule, typeof i13.LayoutModule, typeof i14.TooltipModule, typeof i15.FormsModule, typeof i16.SmeFormsModule], [typeof i1.SettingsComponent, typeof i2.SettingsFormDirective, typeof i3.SettingsFooterComponent, typeof i4.SettingsHeaderComponent, typeof i5.SettingsContentComponent, typeof i6.SettingsPageComponent, typeof i7.SettingsNavigationComponent, typeof i8.CommonSettingsComponent]>;
19
21
  static ɵinj: i0.ɵɵInjectorDef<SettingsModule>;
20
22
  }
@@ -5,6 +5,7 @@
5
5
  export interface Strings {
6
6
  MsftSmeShell: {
7
7
  Angular: {
8
+ searchPlaceHolder: string;
8
9
  Banner: {
9
10
  DismissalDialog: {
10
11
  footnote: string;
@@ -381,6 +382,8 @@ export interface Strings {
381
382
  Aria: {
382
383
  Label: {
383
384
  rowSelection: string;
385
+ ascendSortOrderButton: string;
386
+ descendSortOrderButton: string;
384
387
  };
385
388
  };
386
389
  };
@@ -113,6 +113,16 @@ declare namespace MsftSme {
113
113
  sourceLibraryCdnLink?: string;
114
114
  sourceLibraryCdnIntegrityHash?: string;
115
115
  };
116
+ extensionsAutoUpdate?: {
117
+ enable?: boolean;
118
+ showAlert?: boolean;
119
+ };
120
+ gatewayAutoUpdate?: {
121
+ enable?: boolean;
122
+ };
123
+ whatsNew?: {
124
+ showDialog?: boolean;
125
+ };
116
126
  appBar?: {
117
127
  hide?: boolean;
118
128
  title?: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/base/environment.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA4VhB;AA5VD,WAAU,OAAO;IACb,YAAY,CAAC;AA2VjB,CAAC,EA5VS,OAAO,KAAP,OAAO,QA4VhB","file":"environment.js","sourcesContent":["namespace MsftSme {\r\n 'use strict';\r\n export interface MsftSmeInit {\r\n entryPointType?: string;\r\n entryPointName?: string;\r\n mode: number;\r\n moduleName?: string;\r\n moduleVersion?: string;\r\n shellOrigin?: string;\r\n isProduction?: boolean;\r\n sessionId?: string;\r\n logLevel?: number;\r\n powerShellModuleName?: string;\r\n websocket?: boolean;\r\n powerShellEndpoint?: string;\r\n powerShellPrefix?: string;\r\n sessionExpiration: number;\r\n performanceProfile: boolean;\r\n experiments?: string[];\r\n developerGuide: boolean;\r\n connectivityLevel: string;\r\n isShell: boolean;\r\n shellVersion: string;\r\n }\r\n\r\n export interface MsftSmeEnvironment {\r\n name: string;\r\n displayName: string;\r\n origin: string;\r\n signature: string;\r\n shell: {\r\n name: string;\r\n origin: string;\r\n };\r\n resources: any[];\r\n entryPoints: any[];\r\n modules: any[];\r\n configuration: EnvironmentConfiguration;\r\n version: string;\r\n loadPath?: string;\r\n }\r\n\r\n export interface MsftSmeAssets {\r\n css: string[];\r\n js: string[];\r\n }\r\n\r\n export interface MsftSmeExternalLibraries {\r\n // mapping of supported library versions to there library locations.\r\n // Caution. New library versions will almost always have a minimal\r\n // time where older versions must still be supported. (generally 2 GA releases)\r\n monaco: {\r\n '0.17.1': string;\r\n };\r\n jsll: {\r\n '4.2.18': string;\r\n };\r\n }\r\n\r\n /**\r\n * Defines a mapping of an assets versions to its relative module paths\r\n */\r\n export interface MsftSmeVersionedAsset extends MsftSme.StringMap<string> { }\r\n\r\n /**\r\n * Defines a mapping of an asset name to its versioned paths\r\n */\r\n export interface MsftSmeModuleAssets extends MsftSme.StringMap<MsftSmeVersionedAsset> { }\r\n\r\n /**\r\n * Defines a mapping of an modules names to its shared asset collection\r\n */\r\n export interface MsftSmeSharedAssets extends MsftSme.StringMap<MsftSmeModuleAssets> { }\r\n\r\n export interface MsftSmeResources {\r\n localeId: string;\r\n localeRegionalId: string;\r\n strings: any;\r\n theme: string;\r\n assets: MsftSmeAssets;\r\n moduleAssets: MsftSmeSharedAssets;\r\n accessibilityMode: boolean;\r\n lib: MsftSmeExternalLibraries;\r\n }\r\n\r\n export interface EnvironmentConfiguration {\r\n gateway?: {\r\n disabled?: boolean\r\n };\r\n signOn?: {\r\n signedHttpRequestToken?: {\r\n jwt: string,\r\n username: string,\r\n }\r\n };\r\n application?: {\r\n theme?: 'light' | 'dark';\r\n locale?: string;\r\n };\r\n nodes?: {\r\n defaultCredentials?: {\r\n username: string,\r\n password: string\r\n encryptedWith?: 'jwk' | string\r\n }\r\n };\r\n notifications?: {\r\n redirectToHostWindow?: boolean\r\n };\r\n tools?: {\r\n hide?: boolean\r\n };\r\n connections?: {\r\n type?: 'standard' | 'server' | 'cluster',\r\n name?: string,\r\n nodeFqdns?: string[],\r\n header?: {\r\n hide?: boolean\r\n }\r\n };\r\n telemetry?: {\r\n sourceLibraryCdnLink?: string,\r\n sourceLibraryCdnIntegrityHash?: string\r\n };\r\n appBar?: {\r\n hide?: boolean\r\n title?: {\r\n hide?: boolean,\r\n value?: string,\r\n disableNavigation?: boolean\r\n },\r\n solution?: {\r\n default?: string,\r\n hide: boolean,\r\n hideDropdown: boolean\r\n },\r\n navigation?: {\r\n allowHistory: boolean,\r\n allowRefresh: boolean,\r\n allowUrlInput: boolean,\r\n allowHome: boolean\r\n },\r\n urlField?: {\r\n hideSolutionUrl: boolean\r\n },\r\n rightMenu?: {\r\n showScripts: boolean,\r\n showSettings: boolean,\r\n showAbout: boolean,\r\n showWindowControls: boolean,\r\n showShareLink: boolean\r\n },\r\n aboutDialog?: {\r\n showFeedback: boolean,\r\n feedbackLink: string,\r\n showDocumentation: boolean,\r\n documentationLink: string,\r\n releaseNotesLink: string,\r\n seeMoreReleaseDetailsLink: string,\r\n showLicense: boolean,\r\n showScriptsUseRights: boolean,\r\n showLicenseExtensions: boolean,\r\n showPrivacyStatement: boolean,\r\n privacyLink: string,\r\n showSupportPolicy: boolean,\r\n supportLink: string,\r\n showThirdPartyNotice: boolean,\r\n showShortcuts: boolean,\r\n openLinkWithoutHref: boolean\r\n },\r\n overview?: {\r\n gatewayStatusUpdateLink: string,\r\n updateLearnMoreLink: string\r\n }\r\n };\r\n settings?: {\r\n account?: {\r\n show: boolean\r\n },\r\n personalization?: {\r\n show: boolean\r\n },\r\n diagnostic?: {\r\n show: boolean\r\n },\r\n language?: {\r\n show: boolean\r\n },\r\n notification?: {\r\n show: boolean\r\n },\r\n extension?: {\r\n show: boolean\r\n },\r\n azure?: {\r\n show: boolean\r\n },\r\n access?: {\r\n show: boolean\r\n },\r\n sharedConnections?: {\r\n show: boolean\r\n },\r\n connectivity?: {\r\n show: boolean\r\n },\r\n general?: {\r\n show: boolean\r\n };\r\n updates?: {\r\n show: boolean\r\n }\r\n extensionUpdates?: {\r\n show: boolean\r\n }\r\n performance?: {\r\n show: boolean\r\n },\r\n advanced?: {\r\n show: boolean\r\n },\r\n proxy?: {\r\n show: boolean\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Electron Renderer\r\n * @see http://electron.atom.io/docs/api/ipc-renderer\r\n */\r\n export interface MsftSmeElectronIpcRenderer {\r\n on(channel: string, listener: Function): this;\r\n once(channel: string, listener: Function): this;\r\n removeAllListeners(channel: string): this;\r\n removeListener(channel: string, listener: Function): this;\r\n send(channel: string, ...args: any[]): void;\r\n sendSync(channel: string, ...args: any[]): any;\r\n sendTo(webContentsId: number, channel: string, ...args: any[]): void;\r\n sendToHost(channel: string, ...args: any[]): void;\r\n }\r\n\r\n /**\r\n * Electron Remote\r\n * @see http://electron.atom.io/docs/api/remote\r\n */\r\n export interface MsftSmeElectronRemote {\r\n getCurrentWindow(): {\r\n close(): void,\r\n minimize(): void,\r\n maximize(): void,\r\n unmaximize(): void,\r\n isMaximized(): boolean,\r\n };\r\n }\r\n\r\n export interface MsftSmeElectron {\r\n ipcRenderer: MsftSmeElectronIpcRenderer;\r\n remote: MsftSmeElectronRemote;\r\n }\r\n\r\n export interface MsftSmeHost {\r\n isElectron: boolean;\r\n isWeb: boolean;\r\n electron?: MsftSmeElectron;\r\n }\r\n\r\n export interface MsftSmeWindowContext {\r\n Init: MsftSmeInit;\r\n Environment: MsftSmeEnvironment;\r\n Resources: MsftSmeResources;\r\n Host: MsftSmeHost;\r\n }\r\n\r\n export interface SMEWindow extends Window {\r\n MsftSme: MsftSmeWindowContext;\r\n }\r\n\r\n export interface MessageEventListener extends EventListener {\r\n (evt: MessageEvent): void;\r\n }\r\n\r\n // The following focus is available on HTMLElement, however, focus is available on Element\r\n export interface Element {\r\n focus(): void;\r\n }\r\n\r\n export interface StringMap<T> {\r\n [key: string]: T;\r\n }\r\n\r\n export interface NumberMap<T> {\r\n [key: number]: T;\r\n length?: number;\r\n }\r\n\r\n export interface NameValue<N, T> {\r\n name: N;\r\n value: T;\r\n }\r\n\r\n export type Action = () => void;\r\n\r\n export type Action1<T> = (arg: T) => void;\r\n\r\n export type Action2<T1, T2> = (arg1: T1, arg2: T2) => void;\r\n\r\n export type Action3<T1, T2, T3> = (arg1: T1, arg2: T2, arg3: T3) => void;\r\n\r\n export type Func<R> = () => R;\r\n\r\n export type Func1<T, R> = (arg: T) => R;\r\n\r\n export type Func2<T1, T2, R> = (arg1: T1, arg2: T2) => R;\r\n\r\n export type Primitive = number | string | Date | boolean;\r\n\r\n export interface StringMapPrimitive extends StringMap<StringMapRecursive | Primitive | Array<Primitive | StringMapRecursive>> { }\r\n\r\n export type StringMapRecursive = StringMapPrimitive;\r\n\r\n // tslint:disable-next-line:no-empty-interface\r\n export interface Obsolete { }\r\n\r\n ////////////////////////////////////////\r\n /// BEGIN: IE11 ECMAScript Extensions\r\n ////////////////////////////////////////\r\n\r\n // tslint:disable-next-line:no-empty-interface\r\n export interface CollatorOptions extends Intl.CollatorOptions {\r\n }\r\n\r\n export interface Map<K, V> {\r\n delete(key: K): boolean;\r\n get(key: K): V;\r\n has(key: K): boolean;\r\n set(key: K, value: V): void;\r\n clear(): void;\r\n forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;\r\n }\r\n\r\n ////////////////////////////////////////\r\n /// END: IE11 ECMAScript Extensions\r\n ////////////////////////////////////////\r\n\r\n export interface RandomSource {\r\n getRandomValues(array: ArrayBufferView): ArrayBufferView;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../packages/core/base/environment.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAsWhB;AAtWD,WAAU,OAAO;IACb,YAAY,CAAC;AAqWjB,CAAC,EAtWS,OAAO,KAAP,OAAO,QAsWhB","file":"environment.js","sourcesContent":["namespace MsftSme {\r\n 'use strict';\r\n export interface MsftSmeInit {\r\n entryPointType?: string;\r\n entryPointName?: string;\r\n mode: number;\r\n moduleName?: string;\r\n moduleVersion?: string;\r\n shellOrigin?: string;\r\n isProduction?: boolean;\r\n sessionId?: string;\r\n logLevel?: number;\r\n powerShellModuleName?: string;\r\n websocket?: boolean;\r\n powerShellEndpoint?: string;\r\n powerShellPrefix?: string;\r\n sessionExpiration: number;\r\n performanceProfile: boolean;\r\n experiments?: string[];\r\n developerGuide: boolean;\r\n connectivityLevel: string;\r\n isShell: boolean;\r\n shellVersion: string;\r\n }\r\n\r\n export interface MsftSmeEnvironment {\r\n name: string;\r\n displayName: string;\r\n origin: string;\r\n signature: string;\r\n shell: {\r\n name: string;\r\n origin: string;\r\n };\r\n resources: any[];\r\n entryPoints: any[];\r\n modules: any[];\r\n configuration: EnvironmentConfiguration;\r\n version: string;\r\n loadPath?: string;\r\n }\r\n\r\n export interface MsftSmeAssets {\r\n css: string[];\r\n js: string[];\r\n }\r\n\r\n export interface MsftSmeExternalLibraries {\r\n // mapping of supported library versions to there library locations.\r\n // Caution. New library versions will almost always have a minimal\r\n // time where older versions must still be supported. (generally 2 GA releases)\r\n monaco: {\r\n '0.17.1': string;\r\n };\r\n jsll: {\r\n '4.2.18': string;\r\n };\r\n }\r\n\r\n /**\r\n * Defines a mapping of an assets versions to its relative module paths\r\n */\r\n export interface MsftSmeVersionedAsset extends MsftSme.StringMap<string> { }\r\n\r\n /**\r\n * Defines a mapping of an asset name to its versioned paths\r\n */\r\n export interface MsftSmeModuleAssets extends MsftSme.StringMap<MsftSmeVersionedAsset> { }\r\n\r\n /**\r\n * Defines a mapping of an modules names to its shared asset collection\r\n */\r\n export interface MsftSmeSharedAssets extends MsftSme.StringMap<MsftSmeModuleAssets> { }\r\n\r\n export interface MsftSmeResources {\r\n localeId: string;\r\n localeRegionalId: string;\r\n strings: any;\r\n theme: string;\r\n assets: MsftSmeAssets;\r\n moduleAssets: MsftSmeSharedAssets;\r\n accessibilityMode: boolean;\r\n lib: MsftSmeExternalLibraries;\r\n }\r\n\r\n export interface EnvironmentConfiguration {\r\n gateway?: {\r\n disabled?: boolean\r\n };\r\n signOn?: {\r\n signedHttpRequestToken?: {\r\n jwt: string,\r\n username: string,\r\n }\r\n };\r\n application?: {\r\n theme?: 'light' | 'dark';\r\n locale?: string;\r\n };\r\n nodes?: {\r\n defaultCredentials?: {\r\n username: string,\r\n password: string\r\n encryptedWith?: 'jwk' | string\r\n }\r\n };\r\n notifications?: {\r\n redirectToHostWindow?: boolean\r\n };\r\n tools?: {\r\n hide?: boolean\r\n };\r\n connections?: {\r\n type?: 'standard' | 'server' | 'cluster',\r\n name?: string,\r\n nodeFqdns?: string[],\r\n header?: {\r\n hide?: boolean\r\n }\r\n };\r\n telemetry?: {\r\n sourceLibraryCdnLink?: string,\r\n sourceLibraryCdnIntegrityHash?: string\r\n };\r\n extensionsAutoUpdate?: {\r\n enable?: boolean,\r\n showAlert?: boolean\r\n };\r\n gatewayAutoUpdate?: {\r\n enable?: boolean\r\n };\r\n whatsNew?: {\r\n showDialog?: boolean\r\n };\r\n appBar?: {\r\n hide?: boolean\r\n title?: {\r\n hide?: boolean,\r\n value?: string,\r\n disableNavigation?: boolean\r\n },\r\n solution?: {\r\n default?: string,\r\n hide: boolean,\r\n hideDropdown: boolean\r\n },\r\n navigation?: {\r\n allowHistory: boolean,\r\n allowRefresh: boolean,\r\n allowUrlInput: boolean,\r\n allowHome: boolean\r\n },\r\n urlField?: {\r\n hideSolutionUrl: boolean\r\n },\r\n rightMenu?: {\r\n showScripts: boolean,\r\n showSettings: boolean,\r\n showAbout: boolean,\r\n showWindowControls: boolean,\r\n showShareLink: boolean\r\n },\r\n aboutDialog?: {\r\n showFeedback: boolean,\r\n feedbackLink: string,\r\n showDocumentation: boolean,\r\n documentationLink: string,\r\n releaseNotesLink: string,\r\n seeMoreReleaseDetailsLink: string,\r\n showLicense: boolean,\r\n showScriptsUseRights: boolean,\r\n showLicenseExtensions: boolean,\r\n showPrivacyStatement: boolean,\r\n privacyLink: string,\r\n showSupportPolicy: boolean,\r\n supportLink: string,\r\n showThirdPartyNotice: boolean,\r\n showShortcuts: boolean,\r\n openLinkWithoutHref: boolean\r\n },\r\n overview?: {\r\n gatewayStatusUpdateLink: string,\r\n updateLearnMoreLink: string\r\n }\r\n };\r\n settings?: {\r\n account?: {\r\n show: boolean\r\n },\r\n personalization?: {\r\n show: boolean\r\n },\r\n diagnostic?: {\r\n show: boolean\r\n },\r\n language?: {\r\n show: boolean\r\n },\r\n notification?: {\r\n show: boolean\r\n },\r\n extension?: {\r\n show: boolean\r\n },\r\n azure?: {\r\n show: boolean\r\n },\r\n access?: {\r\n show: boolean\r\n },\r\n sharedConnections?: {\r\n show: boolean\r\n },\r\n connectivity?: {\r\n show: boolean\r\n },\r\n general?: {\r\n show: boolean\r\n };\r\n updates?: {\r\n show: boolean\r\n }\r\n extensionUpdates?: {\r\n show: boolean\r\n }\r\n performance?: {\r\n show: boolean\r\n },\r\n advanced?: {\r\n show: boolean\r\n },\r\n proxy?: {\r\n show: boolean\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Electron Renderer\r\n * @see http://electron.atom.io/docs/api/ipc-renderer\r\n */\r\n export interface MsftSmeElectronIpcRenderer {\r\n on(channel: string, listener: Function): this;\r\n once(channel: string, listener: Function): this;\r\n removeAllListeners(channel: string): this;\r\n removeListener(channel: string, listener: Function): this;\r\n send(channel: string, ...args: any[]): void;\r\n sendSync(channel: string, ...args: any[]): any;\r\n sendTo(webContentsId: number, channel: string, ...args: any[]): void;\r\n sendToHost(channel: string, ...args: any[]): void;\r\n }\r\n\r\n /**\r\n * Electron Remote\r\n * @see http://electron.atom.io/docs/api/remote\r\n */\r\n export interface MsftSmeElectronRemote {\r\n getCurrentWindow(): {\r\n close(): void,\r\n minimize(): void,\r\n maximize(): void,\r\n unmaximize(): void,\r\n isMaximized(): boolean,\r\n };\r\n }\r\n\r\n export interface MsftSmeElectron {\r\n ipcRenderer: MsftSmeElectronIpcRenderer;\r\n remote: MsftSmeElectronRemote;\r\n }\r\n\r\n export interface MsftSmeHost {\r\n isElectron: boolean;\r\n isWeb: boolean;\r\n electron?: MsftSmeElectron;\r\n }\r\n\r\n export interface MsftSmeWindowContext {\r\n Init: MsftSmeInit;\r\n Environment: MsftSmeEnvironment;\r\n Resources: MsftSmeResources;\r\n Host: MsftSmeHost;\r\n }\r\n\r\n export interface SMEWindow extends Window {\r\n MsftSme: MsftSmeWindowContext;\r\n }\r\n\r\n export interface MessageEventListener extends EventListener {\r\n (evt: MessageEvent): void;\r\n }\r\n\r\n // The following focus is available on HTMLElement, however, focus is available on Element\r\n export interface Element {\r\n focus(): void;\r\n }\r\n\r\n export interface StringMap<T> {\r\n [key: string]: T;\r\n }\r\n\r\n export interface NumberMap<T> {\r\n [key: number]: T;\r\n length?: number;\r\n }\r\n\r\n export interface NameValue<N, T> {\r\n name: N;\r\n value: T;\r\n }\r\n\r\n export type Action = () => void;\r\n\r\n export type Action1<T> = (arg: T) => void;\r\n\r\n export type Action2<T1, T2> = (arg1: T1, arg2: T2) => void;\r\n\r\n export type Action3<T1, T2, T3> = (arg1: T1, arg2: T2, arg3: T3) => void;\r\n\r\n export type Func<R> = () => R;\r\n\r\n export type Func1<T, R> = (arg: T) => R;\r\n\r\n export type Func2<T1, T2, R> = (arg1: T1, arg2: T2) => R;\r\n\r\n export type Primitive = number | string | Date | boolean;\r\n\r\n export interface StringMapPrimitive extends StringMap<StringMapRecursive | Primitive | Array<Primitive | StringMapRecursive>> { }\r\n\r\n export type StringMapRecursive = StringMapPrimitive;\r\n\r\n // tslint:disable-next-line:no-empty-interface\r\n export interface Obsolete { }\r\n\r\n ////////////////////////////////////////\r\n /// BEGIN: IE11 ECMAScript Extensions\r\n ////////////////////////////////////////\r\n\r\n // tslint:disable-next-line:no-empty-interface\r\n export interface CollatorOptions extends Intl.CollatorOptions {\r\n }\r\n\r\n export interface Map<K, V> {\r\n delete(key: K): boolean;\r\n get(key: K): V;\r\n has(key: K): boolean;\r\n set(key: K, value: V): void;\r\n clear(): void;\r\n forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;\r\n }\r\n\r\n ////////////////////////////////////////\r\n /// END: IE11 ECMAScript Extensions\r\n ////////////////////////////////////////\r\n\r\n export interface RandomSource {\r\n getRandomValues(array: ArrayBufferView): ArrayBufferView;\r\n }\r\n}\r\n"]}
@@ -90,6 +90,22 @@ export declare class GatewayConnection extends RpcServiceForwarder {
90
90
  http: Http;
91
91
  private authorizationManager;
92
92
  private static rpcCommands;
93
+ /**
94
+ * The IPv4 address for localhost
95
+ */
96
+ private readonly localhostIpV4;
97
+ /**
98
+ * The IPv6 address for localhost
99
+ */
100
+ private readonly localhostIpV6;
101
+ /**
102
+ * The localhost name
103
+ */
104
+ private readonly localhost;
105
+ /**
106
+ * Time interval to check for internalGatewayStatus refresh.
107
+ */
108
+ private readonly lastUpdatedInternalGatewayStatusInterval;
93
109
  /**
94
110
  * internally maintained gateway URL.
95
111
  */
@@ -102,6 +118,14 @@ export declare class GatewayConnection extends RpcServiceForwarder {
102
118
  * gatewayUrl param is specified.
103
119
  */
104
120
  private internalGatewayUrlSpecified;
121
+ /**
122
+ * Last time internal gateway status was updated in milliseconds
123
+ */
124
+ private lastUpdatedInternalGatewayStatus;
125
+ /**
126
+ * Internally maintained gateway status.
127
+ */
128
+ private internalGatewayStatus;
105
129
  /**
106
130
  * The replay subject for gateway url to settle.
107
131
  */
@@ -150,6 +174,10 @@ export declare class GatewayConnection extends RpcServiceForwarder {
150
174
  * Gets the gateway node name to make a CIM/PowerShell query to the gateway node.
151
175
  */
152
176
  get gatewayName(): string;
177
+ /**
178
+ * Gets gateway status from cache or sets cache if it doesn't exist.
179
+ */
180
+ private get gatewayStatus();
153
181
  /**
154
182
  * Initializes a new instance of the Gateway class.
155
183
  *
@@ -267,6 +295,12 @@ export declare class GatewayConnection extends RpcServiceForwarder {
267
295
  completed: boolean;
268
296
  id: string;
269
297
  }>;
298
+ /**
299
+ * Gets gateway machine if found in list of given nodes
300
+ * @param nodes Node names or IPs to check
301
+ * @returns Node name of gateway if found, null otherwise
302
+ */
303
+ getGateway(nodes: string[]): Observable<string>;
270
304
  /**
271
305
  * Check gateway condition.
272
306
  */