@microsoft/windows-admin-center-sdk 4.123.0 → 4.167.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.
- package/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/id-ID/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/esm2020/src/controls/actions/containers/action-container.component.mjs +2 -3
- package/angular/esm2020/src/controls/alert-bar/alert-bar.component.mjs +2 -2
- package/angular/esm2020/src/controls/breadcrumb-header/breadcrumb-header.component.mjs +1 -1
- package/angular/esm2020/src/controls/common/base.component.mjs +1 -1
- package/angular/esm2020/src/controls/common/spacer-base.component.mjs +25 -1
- package/angular/esm2020/src/controls/context-menu/context-menu.component.mjs +2 -3
- package/angular/esm2020/src/controls/data-table/data-table.component.mjs +7 -7
- package/angular/esm2020/src/controls/dialog/base-dialog.component.mjs +2 -4
- package/angular/esm2020/src/controls/dialog/confirmation-list-dialog/confirmation-list-dialog.component.mjs +2 -2
- package/angular/esm2020/src/controls/dropdown/dropdown.component.mjs +1 -4
- package/angular/esm2020/src/controls/form/form-field/clock/clock-form-field.component.mjs +10 -7
- package/angular/esm2020/src/controls/form/form-field/form-field.component.mjs +1 -1
- package/angular/esm2020/src/controls/form/form-field/number/number-form-field.component.mjs +22 -4
- package/angular/esm2020/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.mjs +5 -5
- package/angular/esm2020/src/controls/icon/icon-text/icon-text.component.mjs +6 -6
- package/angular/esm2020/src/controls/icon/layered-icon/status/status-icon.component.mjs +1 -1
- package/angular/esm2020/src/controls/layout/editable-layout.component.mjs +2 -3
- package/angular/esm2020/src/controls/node-credentials-form/node-credentials-form.component.mjs +2 -2
- package/angular/esm2020/src/controls/property-grid/property-grid.component.mjs +33 -13
- package/angular/esm2020/src/controls/schema/tabbed-form-loader.component.mjs +2 -2
- package/angular/esm2020/src/controls/settings/common-settings/common-settings.component.mjs +5 -5
- package/angular/esm2020/src/controls/settings/settings-form.directive.mjs +3 -7
- package/angular/esm2020/src/controls/settings/settings-form.service.mjs +2 -4
- package/angular/esm2020/src/controls/snap-in-extension/snap-in-extension.component.mjs +1 -1
- package/angular/esm2020/src/controls/split-view/split-view.component.mjs +2 -2
- package/angular/esm2020/src/directives/router/router-link.directive.mjs +2 -2
- package/angular/esm2020/src/directives/svg/svg.directive.mjs +2 -3
- package/angular/esm2020/src/generated/strings.mjs +1 -1
- package/angular/esm2020/src/service/navigation.service.mjs +3 -8
- package/angular/esm2020/src/service/user-alive.service.mjs +2 -4
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs +126 -72
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
- package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs +115 -70
- package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
- package/angular/package.json +1 -1
- package/angular/src/controls/common/spacer-base.component.d.ts +11 -2
- package/angular/src/controls/form/form-field/number/number-form-field.component.d.ts +8 -0
- package/angular/src/controls/icon/icon-text/icon-text.component.d.ts +1 -1
- package/angular/src/controls/property-grid/property-grid.component.d.ts +2 -0
- package/angular/src/directives/svg/svg.directive.d.ts +1 -2
- package/angular/src/generated/strings.d.ts +12 -0
- package/core/azure/azure-constants.d.ts +2 -2
- package/core/azure/azure-constants.d.ts.map +1 -1
- package/core/azure/azure-constants.js +10 -3
- package/core/azure/azure-constants.js.map +1 -1
- package/core/data/gateway-url-translator.d.ts +1 -0
- package/core/data/gateway-url-translator.d.ts.map +1 -1
- package/core/data/gateway-url-translator.js +21 -6
- package/core/data/gateway-url-translator.js.map +1 -1
- package/core/data/node-connection.d.ts.map +1 -1
- package/core/data/node-connection.js +0 -2
- package/core/data/node-connection.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts.map +1 -1
- package/core/generated/powershell-scripts.js +1 -1
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/resources/scripts/public/inventory/Get-ServerInventory.ps1 +30 -8
- package/{microsoft-windows-admin-center-sdk-4.123.0.tgz → microsoft-windows-admin-center-sdk-4.167.0.tgz} +0 -0
- package/package.json +9 -7
- package/styles/css/main-v2.css +1 -1
- package/tools/code-formatter/.eslintrc.base.json +1 -0
- package/tools/code-formatter/lint.d.ts.map +1 -1
- package/tools/code-formatter/lint.js +7 -1
- package/tools/code-formatter/lint.js.map +1 -1
- package/tools/code-formatter/utilities.d.ts +7 -0
- package/tools/code-formatter/utilities.d.ts.map +1 -0
- package/tools/code-formatter/utilities.js +79 -0
- package/tools/code-formatter/utilities.js.map +1 -0
- package/tools/gulp-update-notes-resource/index.d.ts.map +1 -1
- package/tools/gulp-update-notes-resource/index.js +4 -4
- package/tools/gulp-update-notes-resource/index.js.map +1 -1
- package/tools/module-template/.eslintrc.json +3 -0
- package/tools/module-template/gulpfile.ts/common/utilities.ts +1 -0
- package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.d.ts +9 -0
- package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.d.ts.map +1 -0
- package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js +16 -0
- package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js.map +1 -0
- package/tools/wac-cli/src/angular15/main.d.ts +19 -3
- package/tools/wac-cli/src/angular15/main.d.ts.map +1 -1
- package/tools/wac-cli/src/angular15/main.js +41 -7
- package/tools/wac-cli/src/angular15/main.js.map +1 -1
- package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.d.ts +18 -0
- package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.d.ts.map +1 -0
- package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js +49 -0
- package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js.map +1 -0
|
@@ -137,7 +137,7 @@ class SmeRouterLinkDirective {
|
|
|
137
137
|
this.updateIsActive();
|
|
138
138
|
}
|
|
139
139
|
ngOnDestroy() {
|
|
140
|
-
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
140
|
+
this.subscriptions.forEach(sub => sub === null || sub === void 0 ? void 0 : sub.unsubscribe());
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Updates the isActive state and fires appropriate events if that state has changed.
|
|
@@ -6305,7 +6305,6 @@ class DropdownComponent {
|
|
|
6305
6305
|
ngAfterViewInit() {
|
|
6306
6306
|
// load the context menu code here so as to allow all child views to be completely initialized
|
|
6307
6307
|
if (!this.isContextMenu) {
|
|
6308
|
-
this.renderer.setAttribute(this.toggleElement.nativeElement, 'aria-haspopup', 'true');
|
|
6309
6308
|
this.unsubscribeToggleClick = this.renderer.listen(this.toggleElement.nativeElement, 'click', (event) => this.onToggleClick(event));
|
|
6310
6309
|
}
|
|
6311
6310
|
else {
|
|
@@ -6373,7 +6372,6 @@ class DropdownComponent {
|
|
|
6373
6372
|
if (this.isOpen) {
|
|
6374
6373
|
// close if opened
|
|
6375
6374
|
this.dropdownService.close(this);
|
|
6376
|
-
this.renderer.setAttribute(this.toggleElement.nativeElement, 'aria-expanded', 'false');
|
|
6377
6375
|
if (event) {
|
|
6378
6376
|
this.dropdownService.closeNested(this, event);
|
|
6379
6377
|
}
|
|
@@ -6383,7 +6381,6 @@ class DropdownComponent {
|
|
|
6383
6381
|
else {
|
|
6384
6382
|
// open if closed
|
|
6385
6383
|
this.dropdownService.open(this, calculateHeight, displayToSide).then(() => {
|
|
6386
|
-
this.renderer.setAttribute(this.toggleElement.nativeElement, 'aria-expanded', 'true');
|
|
6387
6384
|
this.toggleElement.nativeElement.addEventListener('closeEvent', () => {
|
|
6388
6385
|
this.isOpen = false;
|
|
6389
6386
|
}, false);
|
|
@@ -6526,7 +6523,6 @@ class ActionContainerComponent extends CoreBaseComponent {
|
|
|
6526
6523
|
/**
|
|
6527
6524
|
* Event emitter fired whenever an error occurs within a child ActionItem.
|
|
6528
6525
|
*/
|
|
6529
|
-
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
6530
6526
|
this.error = new EventEmitter();
|
|
6531
6527
|
/**
|
|
6532
6528
|
* Event emitter fired whenever a child ActionItem is executed.
|
|
@@ -6611,7 +6607,8 @@ class ActionContainerComponent extends CoreBaseComponent {
|
|
|
6611
6607
|
* Callback method run when ActionContainerComponent is destroyed.
|
|
6612
6608
|
*/
|
|
6613
6609
|
ngOnDestroy() {
|
|
6614
|
-
|
|
6610
|
+
var _a;
|
|
6611
|
+
(_a = this.completedSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
6615
6612
|
}
|
|
6616
6613
|
/**
|
|
6617
6614
|
* Callback method run immediately after Angular has completed initialization of all of ActionContainerComponent's content.
|
|
@@ -8790,9 +8787,9 @@ function IconTextComponent_input_1_Template(rf, ctx) {
|
|
|
8790
8787
|
i0.ɵɵattribute("aria-label", ctx_r1.readOnlyFormFieldLabel);
|
|
8791
8788
|
}
|
|
8792
8789
|
}
|
|
8793
|
-
function
|
|
8790
|
+
function IconTextComponent_h3_2_Template(rf, ctx) {
|
|
8794
8791
|
if (rf & 1) {
|
|
8795
|
-
i0.ɵɵelementStart(0, "
|
|
8792
|
+
i0.ɵɵelementStart(0, "h3", 8);
|
|
8796
8793
|
i0.ɵɵtext(1);
|
|
8797
8794
|
i0.ɵɵelementEnd();
|
|
8798
8795
|
}
|
|
@@ -8810,7 +8807,7 @@ class IconTextComponent extends CoreBaseComponent {
|
|
|
8810
8807
|
*/
|
|
8811
8808
|
this.title = '';
|
|
8812
8809
|
/**
|
|
8813
|
-
*
|
|
8810
|
+
* It determines whether to show title
|
|
8814
8811
|
*/
|
|
8815
8812
|
this.showTitle = true;
|
|
8816
8813
|
this.layoutFlex = true;
|
|
@@ -8842,7 +8839,7 @@ class IconTextComponent extends CoreBaseComponent {
|
|
|
8842
8839
|
if (rf & 1) {
|
|
8843
8840
|
i0.ɵɵtemplate(0, IconTextComponent_ng_container_0_Template, 3, 2, "ng-container", 0);
|
|
8844
8841
|
i0.ɵɵtemplate(1, IconTextComponent_input_1_Template, 1, 2, "input", 1);
|
|
8845
|
-
i0.ɵɵtemplate(2,
|
|
8842
|
+
i0.ɵɵtemplate(2, IconTextComponent_h3_2_Template, 2, 1, "h3", 2);
|
|
8846
8843
|
}
|
|
8847
8844
|
if (rf & 2) {
|
|
8848
8845
|
i0.ɵɵproperty("ngIf", ctx.smeIconClassName || ctx.urlIcon);
|
|
@@ -8855,7 +8852,7 @@ class IconTextComponent extends CoreBaseComponent {
|
|
|
8855
8852
|
(function () {
|
|
8856
8853
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IconTextComponent, [{
|
|
8857
8854
|
type: Component,
|
|
8858
|
-
args: [{ selector: 'sme-icon-text', template: "<ng-container *ngIf=\"smeIconClassName || urlIcon\">\r\n <span *ngIf=\"smeIconClassName\" class=\"sme-icon-text-icon sme-position-flex-align-center sme-icon sme-margin-right-xs\" [class]=\"smeIconClassName ? smeIconClassName : ''\"></span>\r\n <span *ngIf=\"urlIcon && !smeIconClassName\" class=\"sme-icon-text-icon sme-position-flex-align-center sme-url-icon sme-margin-right-xs\" [style.background-image]=\"urlIcon\"></span>\r\n</ng-container>\r\n<input *ngIf=\"readOnlyFormField\" type=\"text\" readonly class=\"sme-icon-text-text sme-position-flex-auto\" [attr.aria-label]=\"readOnlyFormFieldLabel\" tabindex=\"-1\" [value]=\"title\" />\r\n<
|
|
8855
|
+
args: [{ selector: 'sme-icon-text', template: "<ng-container *ngIf=\"smeIconClassName || urlIcon\">\r\n <span *ngIf=\"smeIconClassName\" class=\"sme-icon-text-icon sme-position-flex-align-center sme-icon sme-margin-right-xs\" [class]=\"smeIconClassName ? smeIconClassName : ''\"></span>\r\n <span *ngIf=\"urlIcon && !smeIconClassName\" class=\"sme-icon-text-icon sme-position-flex-align-center sme-url-icon sme-margin-right-xs\" [style.background-image]=\"urlIcon\"></span>\r\n</ng-container>\r\n<input *ngIf=\"readOnlyFormField\" type=\"text\" readonly class=\"sme-icon-text-text sme-position-flex-auto\" [attr.aria-label]=\"readOnlyFormFieldLabel\" tabindex=\"-1\" [value]=\"title\" />\r\n<h3 *ngIf=\"!readOnlyFormField && showTitle\" class=\"sme-icon-text-text sme-position-flex-align-center\">{{ title }}</h3>\r\n" }]
|
|
8859
8856
|
}], function () { return [{ type: i0.Injector }]; }, { title: [{
|
|
8860
8857
|
type: Input
|
|
8861
8858
|
}], showTitle: [{
|
|
@@ -16372,7 +16369,7 @@ class TabbedFormLoaderComponent extends ObjectPropertySchemaFieldLoaderComponent
|
|
|
16372
16369
|
});
|
|
16373
16370
|
}
|
|
16374
16371
|
ngOnDestroy() {
|
|
16375
|
-
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
16372
|
+
this.subscriptions.forEach(sub => sub === null || sub === void 0 ? void 0 : sub.unsubscribe());
|
|
16376
16373
|
}
|
|
16377
16374
|
setupSchema(schema) {
|
|
16378
16375
|
for (let i = 0; i < schema.properties.length; i++) {
|
|
@@ -18400,8 +18397,10 @@ function ClockFormFieldComponent_div_12_Template(rf, ctx) {
|
|
|
18400
18397
|
if (rf & 2) {
|
|
18401
18398
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
18402
18399
|
i0.ɵɵadvance(1);
|
|
18400
|
+
i0.ɵɵproperty("title", ctx_r3.strings.MsftSmeShell.Angular.Common.apply);
|
|
18403
18401
|
i0.ɵɵattribute("aria-label", ctx_r3.strings.MsftSmeShell.Angular.Common.apply);
|
|
18404
18402
|
i0.ɵɵadvance(2);
|
|
18403
|
+
i0.ɵɵproperty("title", ctx_r3.strings.MsftSmeShell.Angular.Common.clear);
|
|
18405
18404
|
i0.ɵɵattribute("aria-label", ctx_r3.strings.MsftSmeShell.Angular.Common.clear);
|
|
18406
18405
|
}
|
|
18407
18406
|
}
|
|
@@ -18968,7 +18967,7 @@ class ClockFormFieldComponent extends DateLikeFormFieldComponent {
|
|
|
18968
18967
|
}
|
|
18969
18968
|
}
|
|
18970
18969
|
/** @nocollapse */ ClockFormFieldComponent.ɵfac = function ClockFormFieldComponent_Factory(t) { return new (t || ClockFormFieldComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
18971
|
-
/** @nocollapse */ ClockFormFieldComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: ClockFormFieldComponent, selectors: [["sme-form-field", "type", "clock"]], inputs: { showConfirmation: "showConfirmation" }, outputs: { accepted: "accepted", cleared: "cleared" }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0$1g, decls: 14, vars: 9, consts: [["role", "region", 3, "formField"], [1, "sme-clock", "sme-focus-zone", "sme-form-field-editor"], [1, "sme-clock-main-content"], [1, "sme-clock-column", "sme-clock-column-hours", 3, "wheel", "scroll"], [1, "sme-clock-column-header"], ["type", "button", 3, "sme-selected", "tabindex", "click", "keydown", 4, "ngFor", "ngForOf"], [1, "sme-clock-column", "sme-clock-column-minutes", 3, "wheel", "scroll"], ["class", "sme-clock-column sme-clock-column-meridiem", 3, "wheel", "scroll", 4, "ngIf"], ["class", "sme-clock-confirmation", 4, "ngIf"], [3, "alert", 4, "ngIf"], ["type", "button", 3, "tabindex", "click", "keydown"], [1, "sme-clock-column", "sme-clock-column-meridiem", 3, "wheel", "scroll"], ["type", "button", 3, "class", "sme-selected", "tabindex", "click", "keydown", 4, "ngFor", "ngForOf"], [1, "sme-clock-confirmation"], ["type", "button", "tabindex", "0", 3, "click"], [1, "sme-icon", "sme-icon-size-xxs", "sme-icon-accept"], [1, "sme-icon", "sme-icon-size-xxs", "sme-icon-clear"], [3, "alert"]], template: function ClockFormFieldComponent_Template(rf, ctx) {
|
|
18970
|
+
/** @nocollapse */ ClockFormFieldComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: ClockFormFieldComponent, selectors: [["sme-form-field", "type", "clock"]], inputs: { showConfirmation: "showConfirmation" }, outputs: { accepted: "accepted", cleared: "cleared" }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0$1g, decls: 14, vars: 9, consts: [["role", "region", 3, "formField"], [1, "sme-clock", "sme-focus-zone", "sme-form-field-editor"], [1, "sme-clock-main-content"], [1, "sme-clock-column", "sme-clock-column-hours", 3, "wheel", "scroll"], [1, "sme-clock-column-header"], ["type", "button", 3, "sme-selected", "tabindex", "click", "keydown", 4, "ngFor", "ngForOf"], [1, "sme-clock-column", "sme-clock-column-minutes", 3, "wheel", "scroll"], ["class", "sme-clock-column sme-clock-column-meridiem", 3, "wheel", "scroll", 4, "ngIf"], ["class", "sme-clock-confirmation", 4, "ngIf"], [3, "alert", 4, "ngIf"], ["type", "button", 3, "tabindex", "click", "keydown"], [1, "sme-clock-column", "sme-clock-column-meridiem", 3, "wheel", "scroll"], ["type", "button", 3, "class", "sme-selected", "tabindex", "click", "keydown", 4, "ngFor", "ngForOf"], [1, "sme-clock-confirmation"], ["type", "button", "tabindex", "0", 3, "title", "click"], [1, "sme-icon", "sme-icon-size-xxs", "sme-icon-accept"], [1, "sme-icon", "sme-icon-size-xxs", "sme-icon-clear"], [3, "alert"]], template: function ClockFormFieldComponent_Template(rf, ctx) {
|
|
18972
18971
|
if (rf & 1) {
|
|
18973
18972
|
i0.ɵɵelementStart(0, "sme-form-field-layout", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
18974
18973
|
i0.ɵɵlistener("wheel", function ClockFormFieldComponent_Template_div_wheel_3_listener($event) { return ctx.onHourWheel($event); })("scroll", function ClockFormFieldComponent_Template_div_scroll_3_listener($event) { return ctx.onColumnScroll($event); });
|
|
@@ -18986,7 +18985,7 @@ class ClockFormFieldComponent extends DateLikeFormFieldComponent {
|
|
|
18986
18985
|
i0.ɵɵelementEnd();
|
|
18987
18986
|
i0.ɵɵtemplate(11, ClockFormFieldComponent_div_11_Template, 4, 2, "div", 7);
|
|
18988
18987
|
i0.ɵɵelementEnd();
|
|
18989
|
-
i0.ɵɵtemplate(12, ClockFormFieldComponent_div_12_Template, 5,
|
|
18988
|
+
i0.ɵɵtemplate(12, ClockFormFieldComponent_div_12_Template, 5, 4, "div", 8);
|
|
18990
18989
|
i0.ɵɵelementEnd();
|
|
18991
18990
|
i0.ɵɵtemplate(13, ClockFormFieldComponent_sme_validation_alert_13_Template, 1, 1, "sme-validation-alert", 9);
|
|
18992
18991
|
i0.ɵɵelementEnd();
|
|
@@ -19009,7 +19008,7 @@ class ClockFormFieldComponent extends DateLikeFormFieldComponent {
|
|
|
19009
19008
|
i0.ɵɵadvance(1);
|
|
19010
19009
|
i0.ɵɵproperty("ngIf", !ctx.compact);
|
|
19011
19010
|
}
|
|
19012
|
-
}, dependencies: [i1$1.NgForOf, i1$1.NgIf, ValidationAlertComponent, FormFieldLayoutComponent], encapsulation: 2 });
|
|
19011
|
+
}, dependencies: [i1$1.NgForOf, i1$1.NgIf, TooltipDirective, ValidationAlertComponent, FormFieldLayoutComponent], encapsulation: 2 });
|
|
19013
19012
|
__decorate([
|
|
19014
19013
|
Debounce$1(10),
|
|
19015
19014
|
__metadata("design:type", Function),
|
|
@@ -19025,7 +19024,7 @@ __decorate([
|
|
|
19025
19024
|
(function () {
|
|
19026
19025
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClockFormFieldComponent, [{
|
|
19027
19026
|
type: Component,
|
|
19028
|
-
args: [{ selector: 'sme-form-field[type="clock"]', template: "<sme-form-field-layout [formField]=\"this\" role=\"region\" [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"sme-clock sme-focus-zone sme-form-field-editor \">\r\n <div class=\"sme-clock-main-content\">\r\n <div class=\"sme-clock-column sme-clock-column-hours\" (wheel)=\"onHourWheel($event)\"\r\n (scroll)=\"onColumnScroll($event)\">\r\n <div class=\"sme-clock-column-header\">{{this.strings.MsftSmeShell.Angular.Clock.Headings.hour}}</div>\r\n <button type=\"button\" *ngFor=\"let hour of hours\" [class.sme-selected]=\"hour.isSelected\" [tabindex]=\"hour.isSelected ? 0 : -1\"\r\n (click)=\"onHourClicked($event, hour)\" (keydown)=\"onHourKeydown($event)\" [attr.aria-label]=\"strings.MsftSmeShell.Angular.Clock.Headings.hour + hour.display\">{{hour.display}}</button>\r\n </div>\r\n <div class=\"sme-clock-column sme-clock-column-minutes\" (wheel)=\"onMinuteWheel($event)\"\r\n (scroll)=\"onColumnScroll($event)\">\r\n <div class=\"sme-clock-column-header\">{{this.strings.MsftSmeShell.Angular.Clock.Headings.minute}}</div>\r\n <button type=\"button\" *ngFor=\"let minute of minutes\" [class.sme-selected]=\"minute.isSelected\"\r\n [tabindex]=\"minute.isSelected ? 0 : -1\" (click)=\"onMinuteClicked($event, minute)\"\r\n (keydown)=\"onMinuteKeydown($event)\" [attr.aria-label]=\"strings.MsftSmeShell.Angular.Clock.Headings.minute + minute.display\">{{minute.display}}</button>\r\n </div>\r\n <div *ngIf=\"!!viewportMeridiem\" class=\"sme-clock-column sme-clock-column-meridiem\"\r\n (wheel)=\"onMeridiemWheel($event)\" (scroll)=\"onColumnScroll($event)\">\r\n <div class=\"sme-clock-column-header\">{{this.strings.MsftSmeShell.Angular.Clock.Headings.meridiem}}</div>\r\n <button type=\"button\" *ngFor=\"let meridiem of meridiems\" class=\"sme-clock-meridiem-{{meridiem.value}}\"\r\n [class.sme-selected]=\"meridiem.isSelected\" [tabindex]=\"meridiem.isSelected ? 0 : -1\"\r\n (click)=\"onMeridiemClicked($event, meridiem.value)\"\r\n (keydown)=\"onMeridiemKeydown($event)\">{{meridiem.display}}</button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showConfirmation\" class=\"sme-clock-confirmation\">\r\n <button type=\"button\" [attr.aria-label]=\"this.strings.MsftSmeShell.Angular.Common.apply\" tabindex=\"0\"\r\n
|
|
19027
|
+
args: [{ selector: 'sme-form-field[type="clock"]', template: "<sme-form-field-layout [formField]=\"this\" role=\"region\" [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"sme-clock sme-focus-zone sme-form-field-editor \">\r\n <div class=\"sme-clock-main-content\">\r\n <div class=\"sme-clock-column sme-clock-column-hours\" (wheel)=\"onHourWheel($event)\"\r\n (scroll)=\"onColumnScroll($event)\">\r\n <div class=\"sme-clock-column-header\">{{this.strings.MsftSmeShell.Angular.Clock.Headings.hour}}</div>\r\n <button type=\"button\" *ngFor=\"let hour of hours\" [class.sme-selected]=\"hour.isSelected\" [tabindex]=\"hour.isSelected ? 0 : -1\"\r\n (click)=\"onHourClicked($event, hour)\" (keydown)=\"onHourKeydown($event)\" [attr.aria-label]=\"strings.MsftSmeShell.Angular.Clock.Headings.hour + hour.display\">{{hour.display}}</button>\r\n </div>\r\n <div class=\"sme-clock-column sme-clock-column-minutes\" (wheel)=\"onMinuteWheel($event)\"\r\n (scroll)=\"onColumnScroll($event)\">\r\n <div class=\"sme-clock-column-header\">{{this.strings.MsftSmeShell.Angular.Clock.Headings.minute}}</div>\r\n <button type=\"button\" *ngFor=\"let minute of minutes\" [class.sme-selected]=\"minute.isSelected\"\r\n [tabindex]=\"minute.isSelected ? 0 : -1\" (click)=\"onMinuteClicked($event, minute)\"\r\n (keydown)=\"onMinuteKeydown($event)\" [attr.aria-label]=\"strings.MsftSmeShell.Angular.Clock.Headings.minute + minute.display\">{{minute.display}}</button>\r\n </div>\r\n <div *ngIf=\"!!viewportMeridiem\" class=\"sme-clock-column sme-clock-column-meridiem\"\r\n (wheel)=\"onMeridiemWheel($event)\" (scroll)=\"onColumnScroll($event)\">\r\n <div class=\"sme-clock-column-header\">{{this.strings.MsftSmeShell.Angular.Clock.Headings.meridiem}}</div>\r\n <button type=\"button\" *ngFor=\"let meridiem of meridiems\" class=\"sme-clock-meridiem-{{meridiem.value}}\"\r\n [class.sme-selected]=\"meridiem.isSelected\" [tabindex]=\"meridiem.isSelected ? 0 : -1\"\r\n (click)=\"onMeridiemClicked($event, meridiem.value)\"\r\n (keydown)=\"onMeridiemKeydown($event)\">{{meridiem.display}}</button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showConfirmation\" class=\"sme-clock-confirmation\">\r\n <button type=\"button\" [title]=\"this.strings.MsftSmeShell.Angular.Common.apply\"\r\n [attr.aria-label]=\"this.strings.MsftSmeShell.Angular.Common.apply\" tabindex=\"0\"\r\n (click)=\"onAcceptClicked($event)\">\r\n <span class=\"sme-icon sme-icon-size-xxs sme-icon-accept\"></span>\r\n </button>\r\n <button type=\"button\" [title]=\"this.strings.MsftSmeShell.Angular.Common.clear\"\r\n [attr.aria-label]=\"this.strings.MsftSmeShell.Angular.Common.clear\" tabindex=\"0\"\r\n (click)=\"cleared.emit($event)\">\r\n <span class=\"sme-icon sme-icon-size-xxs sme-icon-clear\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n <sme-validation-alert *ngIf=\"!compact\" [alert]=\"alert\"></sme-validation-alert>\r\n</sme-form-field-layout>\r\n" }]
|
|
19029
19028
|
}], function () { return [{ type: i0.Injector }]; }, { showConfirmation: [{
|
|
19030
19029
|
type: Input
|
|
19031
19030
|
}], accepted: [{
|
|
@@ -22249,6 +22248,13 @@ function NumberFormFieldComponent_div_3_span_4_Template(rf, ctx) {
|
|
|
22249
22248
|
i0.ɵɵelement(6, "span", 15);
|
|
22250
22249
|
i0.ɵɵelementEnd()();
|
|
22251
22250
|
}
|
|
22251
|
+
if (rf & 2) {
|
|
22252
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
22253
|
+
i0.ɵɵadvance(1);
|
|
22254
|
+
i0.ɵɵattribute("aria-label", ctx_r4.ariaLabelIncrease);
|
|
22255
|
+
i0.ɵɵadvance(3);
|
|
22256
|
+
i0.ɵɵattribute("aria-label", ctx_r4.ariaLabelDecrease);
|
|
22257
|
+
}
|
|
22252
22258
|
}
|
|
22253
22259
|
function NumberFormFieldComponent_div_3_Template(rf, ctx) {
|
|
22254
22260
|
if (rf & 1) {
|
|
@@ -22256,14 +22262,14 @@ function NumberFormFieldComponent_div_3_Template(rf, ctx) {
|
|
|
22256
22262
|
i0.ɵɵelementStart(0, "div", 5, 6)(2, "input", 7, 8);
|
|
22257
22263
|
i0.ɵɵlistener("ngModelChange", function NumberFormFieldComponent_div_3_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.value = $event); })("focus", function NumberFormFieldComponent_div_3_Template_input_focus_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onInputFocus($event)); })("focusout", function NumberFormFieldComponent_div_3_Template_input_focusout_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onInputFocusOut($event)); })("keydown", function NumberFormFieldComponent_div_3_Template_input_keydown_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onInputKeydown($event)); });
|
|
22258
22264
|
i0.ɵɵelementEnd();
|
|
22259
|
-
i0.ɵɵtemplate(4, NumberFormFieldComponent_div_3_span_4_Template, 7,
|
|
22265
|
+
i0.ɵɵtemplate(4, NumberFormFieldComponent_div_3_span_4_Template, 7, 2, "span", 9);
|
|
22260
22266
|
i0.ɵɵelementEnd();
|
|
22261
22267
|
}
|
|
22262
22268
|
if (rf & 2) {
|
|
22263
22269
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
22264
22270
|
i0.ɵɵadvance(2);
|
|
22265
22271
|
i0.ɵɵproperty("ngModel", ctx_r1.value)("required", ctx_r1.required)("disabled", ctx_r1.loadingOrDisabled)("max", ctx_r1.max)("min", ctx_r1.min)("step", ctx_r1.step)("placeholder", ctx_r1.placeholder);
|
|
22266
|
-
i0.ɵɵattribute("role", ctx_r1.showSpinButton ? "
|
|
22272
|
+
i0.ɵɵattribute("role", ctx_r1.showSpinButton ? "spinbutton" : null)("aria-valuemax", ctx_r1.max)("aria-valuemin", ctx_r1.min)("aria-label", ctx_r1.label)("aria-required", ctx_r1.required);
|
|
22267
22273
|
i0.ɵɵadvance(2);
|
|
22268
22274
|
i0.ɵɵproperty("ngIf", ctx_r1.showSpinButton);
|
|
22269
22275
|
}
|
|
@@ -22318,6 +22324,18 @@ let NumberFormFieldComponent = class NumberFormFieldComponent extends SmeInterna
|
|
|
22318
22324
|
? MsftSme.isNullOrUndefined(this.step) ? 1 : this.step
|
|
22319
22325
|
: this.incrementBy;
|
|
22320
22326
|
}
|
|
22327
|
+
/**
|
|
22328
|
+
* Getter aria label increase for spin button increase.
|
|
22329
|
+
*/
|
|
22330
|
+
get ariaLabelIncrease() {
|
|
22331
|
+
return this.strings.MsftSmeShell.Angular.Form.SpinButton.increase.format(this.incrementBy);
|
|
22332
|
+
}
|
|
22333
|
+
/**
|
|
22334
|
+
* Getter aria label increase for spin button decrease.
|
|
22335
|
+
*/
|
|
22336
|
+
get ariaLabelDecrease() {
|
|
22337
|
+
return this.strings.MsftSmeShell.Angular.Form.SpinButton.decrease.format(this.incrementBy);
|
|
22338
|
+
}
|
|
22321
22339
|
/**
|
|
22322
22340
|
* Handle keydown events on the number input
|
|
22323
22341
|
*/
|
|
@@ -22569,7 +22587,7 @@ NumberFormFieldComponent = __decorate([
|
|
|
22569
22587
|
(function () {
|
|
22570
22588
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NumberFormFieldComponent, [{
|
|
22571
22589
|
type: Component,
|
|
22572
|
-
args: [{ selector: 'sme-form-field[type="number"]', template: "<sme-form-field-layout [formField]=\"this\">\r\n <div class=\"sme-form-field-editor\">\r\n <span *ngIf=\"readonly\">{{ value }}</span>\r\n <div #container *ngIf=\"!readonly\" class=\"sme-number-form-field-container\">\r\n <input #input type=\"number\" autocomplete=\"off\" [(ngModel)]=\"value\" class=\"sme-hidden-focus\" [attr.role]=\"showSpinButton ? '
|
|
22590
|
+
args: [{ selector: 'sme-form-field[type="number"]', template: "<sme-form-field-layout [formField]=\"this\">\r\n <div class=\"sme-form-field-editor\">\r\n <span *ngIf=\"readonly\">{{ value }}</span>\r\n <div #container *ngIf=\"!readonly\" class=\"sme-number-form-field-container\">\r\n <input #input type=\"number\" autocomplete=\"off\" [(ngModel)]=\"value\" class=\"sme-hidden-focus\" [attr.role]=\"showSpinButton ? 'spinbutton': null\"\r\n [required]=\"required\" [disabled]=\"loadingOrDisabled\" [max]=\"max\" [min]=\"min\" [step]=\"step\" [placeholder]=\"placeholder\"\r\n [attr.aria-valuemax]=\"max\" [attr.aria-valuemin]=\"min\" [attr.aria-label]=\"label\" [attr.aria-required]=\"required\"\r\n (focus)=\"onInputFocus($event)\" (focusout)=\"onInputFocusOut($event)\" (keydown)=\"onInputKeydown($event)\">\r\n <span *ngIf=\"showSpinButton\" class=\"sme-arrange-stack-v sme-form-field-number-button-group\">\r\n <button #incrementButton type=\"button\" class=\"sme-button-auto-width\" tabindex=\"-1\" (click)=\"increment()\" [attr.aria-label]=\"ariaLabelIncrease\">\r\n <span class=\"sme-icon sme-icon-chevronUpSmall\"></span>\r\n </button>\r\n <button #decrementButton type=\"button\" class=\"sme-button-auto-width\" tabindex=\"-1\" (click)=\"decrement()\" [attr.aria-label]=\"ariaLabelDecrease\">\r\n <span class=\"sme-icon sme-icon-chevronDownSmall\"></span>\r\n </button>\r\n </span>\r\n </div>\r\n </div>\r\n <sme-validation-alert [alert]=\"alert\"></sme-validation-alert>\r\n</sme-form-field-layout>\r\n" }]
|
|
22573
22591
|
}], function () { return [{ type: i0.Injector }]; }, { input: [{
|
|
22574
22592
|
type: ViewChild,
|
|
22575
22593
|
args: ['input']
|
|
@@ -23413,7 +23431,7 @@ function RadioGroupFormFieldLoaderComponent_ng_container_2_sme_option_1_Template
|
|
|
23413
23431
|
if (rf & 2) {
|
|
23414
23432
|
const item_r2 = i0.ɵɵnextContext().$implicit;
|
|
23415
23433
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
23416
|
-
i0.ɵɵproperty("disabled", ctx_r3.shouldDisable()
|
|
23434
|
+
i0.ɵɵproperty("disabled", ctx_r3.shouldDisable() === item_r2.value)("value", item_r2.value)("label", ctx_r3.localize(item_r2.label))("description", ctx_r3.localize(item_r2.description));
|
|
23417
23435
|
}
|
|
23418
23436
|
}
|
|
23419
23437
|
function RadioGroupFormFieldLoaderComponent_ng_container_2_sme_option_2_ng_template_1_Template(rf, ctx) {
|
|
@@ -23438,7 +23456,7 @@ function RadioGroupFormFieldLoaderComponent_ng_container_2_sme_option_2_Template
|
|
|
23438
23456
|
if (rf & 2) {
|
|
23439
23457
|
const item_r2 = i0.ɵɵnextContext().$implicit;
|
|
23440
23458
|
const ctx_r4 = i0.ɵɵnextContext();
|
|
23441
|
-
i0.ɵɵproperty("disabled", ctx_r4.shouldDisable()
|
|
23459
|
+
i0.ɵɵproperty("disabled", ctx_r4.shouldDisable() === item_r2.value)("value", item_r2.value)("label", ctx_r4.localize(item_r2.label))("description", ctx_r4.localize(item_r2.description));
|
|
23442
23460
|
}
|
|
23443
23461
|
}
|
|
23444
23462
|
function RadioGroupFormFieldLoaderComponent_ng_container_2_Template(rf, ctx) {
|
|
@@ -23763,10 +23781,10 @@ class RadioGroupFormFieldLoaderComponent extends ObjectPropertySchemaFieldLoader
|
|
|
23763
23781
|
[disabled]="!!(propertySchema.disabledCondition && evalExpression(propertySchema.disabledCondition))"
|
|
23764
23782
|
(customValidate)="resolveFunction(propertySchema.customValidation)($event)">
|
|
23765
23783
|
<ng-container *ngFor="let item of options">
|
|
23766
|
-
<sme-option *ngIf="!getObjectOptionByMainOption(item.value)" [disabled]="shouldDisable()
|
|
23784
|
+
<sme-option *ngIf="!getObjectOptionByMainOption(item.value)" [disabled]="shouldDisable()===item.value"
|
|
23767
23785
|
[value]="item.value" [label]="localize(item.label)" [description]="localize(item.description)">
|
|
23768
23786
|
</sme-option>
|
|
23769
|
-
<sme-option *ngIf="getObjectOptionByMainOption(item.value)" [disabled]="shouldDisable()
|
|
23787
|
+
<sme-option *ngIf="getObjectOptionByMainOption(item.value)" [disabled]="shouldDisable()===item.value"
|
|
23770
23788
|
[value]="item.value" [label]="localize(item.label)" [description]="localize(item.description)">
|
|
23771
23789
|
<ng-template>
|
|
23772
23790
|
<sme-schema-field-host [propertySchema]="getObjectOptionByMainOption(item.value)"
|
|
@@ -26766,12 +26784,36 @@ class DataTableColumnComponent {
|
|
|
26766
26784
|
* if we don't initialize from child components.
|
|
26767
26785
|
*/
|
|
26768
26786
|
class SpacerBaseDirective extends CoreBaseComponent {
|
|
26787
|
+
constructor() {
|
|
26788
|
+
super(...arguments);
|
|
26789
|
+
/**
|
|
26790
|
+
* The internal value for showLeftMargin.
|
|
26791
|
+
*/
|
|
26792
|
+
this.showLeftMarginInternal = true;
|
|
26793
|
+
}
|
|
26769
26794
|
/**
|
|
26770
26795
|
* The log source name for the component.
|
|
26771
26796
|
*/
|
|
26772
26797
|
get logSourceName() {
|
|
26773
26798
|
return 'SpacerBaseDirective';
|
|
26774
26799
|
}
|
|
26800
|
+
/**
|
|
26801
|
+
* Setter showLeftMargin.
|
|
26802
|
+
* The input parameter for determining the component to render left margin.
|
|
26803
|
+
* Custom implementation on control is required.
|
|
26804
|
+
* Migrated from the data-table control, the data-table control will still accept this input but actual implementation will be noLeftMargin.
|
|
26805
|
+
* @deprecated since '05/01/23' Use noLeftMargin instead.
|
|
26806
|
+
*/
|
|
26807
|
+
set showLeftMargin(input) {
|
|
26808
|
+
this.showLeftMarginInternal = !!input;
|
|
26809
|
+
this.noLeftMargin = !input;
|
|
26810
|
+
}
|
|
26811
|
+
/**
|
|
26812
|
+
* Getter showLeftMargin.
|
|
26813
|
+
*/
|
|
26814
|
+
get showLeftMargin() {
|
|
26815
|
+
return !!this.showLeftMarginInternal;
|
|
26816
|
+
}
|
|
26775
26817
|
}
|
|
26776
26818
|
/** @nocollapse */ SpacerBaseDirective.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵSpacerBaseDirective_BaseFactory; return function SpacerBaseDirective_Factory(t) { return (ɵSpacerBaseDirective_BaseFactory || (ɵSpacerBaseDirective_BaseFactory = i0.ɵɵgetInheritedFactory(SpacerBaseDirective)))(t || SpacerBaseDirective); }; }();
|
|
26777
26819
|
/** @nocollapse */ SpacerBaseDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: SpacerBaseDirective, inputs: { noLeftPadding: "noLeftPadding", noPadding: "noPadding", noHorizontalMargin: "noHorizontalMargin", noSideMargin: "noSideMargin", showLeftMargin: "showLeftMargin", noLeftMargin: "noLeftMargin" }, features: [i0.ɵɵInheritDefinitionFeature] });
|
|
@@ -32923,7 +32965,7 @@ DataTableComponent.pxConverter = new PxConverter();
|
|
|
32923
32965
|
i0.ɵɵelement(28, "div", 27, 28);
|
|
32924
32966
|
}
|
|
32925
32967
|
if (rf & 2) {
|
|
32926
|
-
i0.ɵɵclassProp("sme-shadow-scrolled-content", ctx.isScrolledDown)("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-table-indented", ctx.
|
|
32968
|
+
i0.ɵɵclassProp("sme-shadow-scrolled-content", ctx.isScrolledDown)("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-table-indented", !ctx.noLeftMargin)("sme-table-select-all-enabled", ctx.selectionMode === "multiple" && ctx.showAllItemCheckbox);
|
|
32927
32969
|
i0.ɵɵadvance(5);
|
|
32928
32970
|
i0.ɵɵattribute("role", ctx.selectionMode === "multiple" ? "columnheader" : "presentation");
|
|
32929
32971
|
i0.ɵɵadvance(1);
|
|
@@ -32931,7 +32973,7 @@ DataTableComponent.pxConverter = new PxConverter();
|
|
|
32931
32973
|
i0.ɵɵadvance(1);
|
|
32932
32974
|
i0.ɵɵproperty("ngForOf", ctx.actualColumns);
|
|
32933
32975
|
i0.ɵɵadvance(1);
|
|
32934
|
-
i0.ɵɵclassProp("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-margin-top-none", !ctx.showHeader)("sme-table-indented", ctx.
|
|
32976
|
+
i0.ɵɵclassProp("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-margin-top-none", !ctx.showHeader)("sme-table-indented", !ctx.noLeftMargin)("sme-table-grid-lines", ctx.showGrid)("sme-table-select-all-enabled", ctx.selectionMode === "multiple" && ctx.showAllItemCheckbox)("sme-table-editable", ctx.editable);
|
|
32935
32977
|
i0.ɵɵadvance(2);
|
|
32936
32978
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(38, _c18, ctx.scrollable, ctx.shouldScroll));
|
|
32937
32979
|
i0.ɵɵadvance(2);
|
|
@@ -33009,7 +33051,7 @@ __decorate([
|
|
|
33009
33051
|
(function () {
|
|
33010
33052
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DataTableComponent, [{
|
|
33011
33053
|
type: Component,
|
|
33012
|
-
args: [{ selector: 'sme-data-table', template: "<div role=\"presentation\" class=\"sme-table-header sme-focus-zone sme-data-table-transition\" #header\r\n [class.sme-shadow-scrolled-content]=\"isScrolledDown\" [class.sme-table-multi-select]=\"selectionMode==='multiple'\"\r\n [class.sme-table-selectable]=\"selectable\" [class.sme-table-indented]=\"showLeftMargin\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\">\r\n <!-- According to the accessibility team, data-table headers should be accessible by keyboard\r\n and the resizer should also be accessed by keyboard.-->\r\n <div #headerTable class=\"sme-table sme-table-virtualized sme-table-auto-width-phone-down\" role=\"rowgroup\">\r\n <div class=\"sme-table-row sme-arrange-stack-h sme-position-flex-auto\" role=\"row\"\r\n (keydown)=\"onHeaderTablePressed($event)\">\r\n <div class=\"sme-table-caption\" [attr.role]=\"selectionMode==='multiple'?'columnheader':'presentation'\"\r\n data-uta-id=\"checkboxColumn\">\r\n <div class=\"sme-table-checkbox sme-table-header-checkbox\"\r\n *ngIf=\"selectionMode==='multiple' && showAllItemCheckbox && showHeader\" role=\"presentation\">\r\n <input sme-lint-disable-self type=\"checkbox\" [attr.aria-label]=\"getAllItemCheckBoxAriaLabel()\"\r\n [checked]=\"shouldAllItemCheckBoxChecked()\"\r\n [attr.aria-checked]=\"shouldAllItemCheckBoxChecked()?'true':'false'\" (change)=\"onAllItemCheckBoxClicked()\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex = index\" [attr.field]=\"column.field\"\r\n [ngStyle]=\"{'width': column.width}\"\r\n class=\"sme-table-caption sme-table-column-header sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"presentation\" [attr.data-uta-id]=\"column.utaId\" [attr.column-index]=\"colIndex\">\r\n <div *ngIf=\"column.sortable && column.sortable!='false' && showHeader\"\r\n class=\"sme-table-header-cell sme-focus-zone\" (click)=\"clickColumn(column)\" role=\"columnheader\"\r\n [title]=\"column.header\" aria-live=\"polite\" tabindex=\"0\" [attr.aria-sort]=\"columnSortSettings[column.header]\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!(column.sortable && column.sortable!='false') && showHeader\" class=\"sme-table-header-cell sme-focus-zone\"\r\n role=\"columnheader\" [title]=\"column.header\" tabindex=\"0\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!showHeader\" class=\"sme-table-header-cell\" role=\"columnheader\">\r\n </div>\r\n <sme-resizer [focusable]=\"false\" *ngIf=\"colIndex!==actualColumns.length-1 && showHeader\"\r\n resizerHostSelector=\"div.sme-table-header\" (resized)=\"onColumnResized(colIndex, $event)\"\r\n [visibleToScreenReader]=\"true\" [showResizerCover]=\"false\" orientation=\"left\"\r\n (resizing)=\"onColumnResizing($event)\" class=\"sme-focus-zone\"></sme-resizer>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"sme-focus-zone sme-table-container sme-data-table-transition\" #content role=\"presentation\"\r\n [class.sme-table-multi-select]=\"selectionMode==='multiple'\" [class.sme-table-selectable]=\"selectable\"\r\n [class.sme-margin-top-none]=\"!showHeader\" [class.sme-table-indented]=\"showLeftMargin\"\r\n [class.sme-table-grid-lines]=\"showGrid\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\"\r\n [class.sme-table-editable]=\"editable\">\r\n <div class=\"sme-table-scroll-container sme-layout-absolute sme-position-inset-none\"\r\n [ngClass]=\"{'sme-layout-absolute sme-position-inset-none': scrollable, 'sme-scrollable': shouldScroll}\"\r\n #scrollContainer role=\"rowgroup\">\r\n <div role=\"row\" class=\"sme-table-row sme-table-row-placeholder\" #emptyMessage tabindex=\"0\"\r\n *ngIf=\"showNoRecordsMessage()\" data-uta-id=\"empty-table-message\">\r\n <sme-loading-wheel *ngIf=\"isLoading || !isColumnWidthCalculated\" [message]=\"loadingMessage\">\r\n </sme-loading-wheel>\r\n <div class=\"sme-table-cell sme-table-cell-placeholder\"> </div>\r\n <div role=\"gridcell\" class=\"sme-table-cell\">{{getNoRecordsMessage()}}</div>\r\n </div>\r\n <div class=\"sme-layout-relative sme-position-stretch-h sme-arrange-overflow-hide\" #scrollBody role=\"presentation\">\r\n <div class=\"sme-table sme-table-scrollable sme-table-virtualized\" #scrollAboveData\r\n [ngStyle]=\"{top: scrollAboveDataStyleTop}\" [attr.aria-hidden]=\"true\" sme-lint-disable>\r\n <!-- Above view port -->\r\n <div *ngFor=\"let renderedItem of renderedItemsAboveViewPort; let rowIndex = index\"\r\n class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"renderedItem.index === getActiveRenderedItemIndex() || isItemSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\">\r\n <div class=\"sme-arrange-stack-h\">\r\n <div class=\"sme-table-td sme-position-flex-auto\">\r\n <div class=\"sme-table-cell\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\"\r\n (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n class=\"sme-table-cell\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table sme-table-scrollable\" #scrollData [class.sme-table-virtualized]=\"!disableUIVirtualization\"\r\n [ngStyle]=\"{top: scrollDataStyleTop}\" sme-lint-disable role=\"presentation\">\r\n <div *ngFor=\"let renderedItem of renderedItemsInAndBelowViewPort; let rowIndex = index\"\r\n (keydown)=\"onContentTablePressed($event)\" (keyup)=\"onContentTableKeyUp($event)\"\r\n (contextmenu)=\"enableRightClickSelect ? selectItem($event, renderedItem) : true\"\r\n (click)=\"selectItem($event, renderedItem)\" class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"rowDisplayAsSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\" [class.sme-table-row-editable]=\"editable\"\r\n [class.sme-has-validation-error]=\"hasValidationError(renderedItem)\"\r\n [class.sme-data-table-row-new-item]=\"renderedItem?.data?.isNewRow\"\r\n [attr.tabindex]=\"renderedItem.index >= 0 ? 0 : undefined\" (dblclick)=\"doubleClickRow($event,renderedItem)\"\r\n (focus)=\"onContentItemFocused($event, renderedItem)\" (focusin)=\"onContentItemFocused($event, renderedItem)\"\r\n (focusout)=\"onContentItemBlurred($event, renderedItem)\" [attr.data-rendered-item-index]=\"renderedItem.index\"\r\n [attr.aria-rowindex]=\"renderedItem.index+2\" [attr.aria-selected]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n (mouseenter)=\"setHoveredRenderedItem(renderedItem)\" (mouseleave)=\"unsetHoveredRenderedItem(renderedItem)\"\r\n role=\"row\" [attr.aria-expanded]=\"getAriaExpandedAttributeValue(renderedItem)\"\r\n [attr.aria-level]=\"showAsTree && renderedItem.depth ? (renderedItem.depth+1):undefined\">\r\n <div class=\"sme-arrange-stack-h\" role=\"presentation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell': 'presentation'\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"gridcell\" [attr.aria-rowindex]=\"renderedItem.index+2\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\" [id]=\"getFirstColumnId(column, renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\"\r\n [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && !column.bodyEditTemplate\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\" [renderedItem]=\"renderedItem\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && column.bodyEditTemplate\">\r\n <ng-container *ngIf=\"!shouldShowEditRow(renderedItem)\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"shouldShowEditRow(renderedItem)\" class=\"sme-table-cell sme-table-edit-container\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyEditTemplate\" [field]=\"column.field\" [data]=\"renderedItem.data.content\"\r\n [rowIndex]=\"rowIndex\" [renderedItem]=\"renderedItem\"\r\n (validationAlert)=\"onValidationAlertHandler(renderedItem, column.field, $event.alert)\"\r\n (dataChanged)=\"onEditableDataChanged($event.renderedItem,$event.field)\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hasValidationError(renderedItem)\" class=\"sme-table-row-validation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell' : 'presentation'\"\r\n [attr.tabindex]=\"selectionMode==='multiple'?'0':'undefined'\">\r\n <div class=\"sme-table-cell\" role=\"presentation\">\r\n <div *ngFor=\"let validationResultItem of renderedItem.validationResult\">\r\n <sme-validation-alert [alert]=\"validationResultItem.alert\"></sme-validation-alert>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table-row\" #tempRow>\r\n <div class=\"sme-table-td\" tabindex=\"0\">\r\n <div class=\"sme-table-cell\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"shouldUseLastFocusableShadowElement\" #lastFocusableShadowElement class=\"sme-focus-zone\"\r\n data-sme-last-focusable-shadow-element (focus)=\"onLastFocusableShadowElementFocused($event)\" tabindex=\"0\"></div>\r\n </div>\r\n <div class=\"sme-layout-absolute sme-position-inset-none\"\r\n *ngIf=\"isBusy || (this.nodeNavigatingTask && this.nodeNavigatingTask.isRunning)\">\r\n <sme-loading-wheel [isBackgroundTransparent]=\"true\"></sme-loading-wheel>\r\n </div>\r\n</div>\r\n<div #resizerIndicator\r\n class=\"sme-width-xxs sme-layout-absolute sme-position-stretch-v sme-background-color-base-80 sme-layer-flyout sme-layout-none\">\r\n</div>\r\n" }]
|
|
33054
|
+
args: [{ selector: 'sme-data-table', template: "<div role=\"presentation\" class=\"sme-table-header sme-focus-zone sme-data-table-transition\" #header\r\n [class.sme-shadow-scrolled-content]=\"isScrolledDown\" [class.sme-table-multi-select]=\"selectionMode==='multiple'\"\r\n [class.sme-table-selectable]=\"selectable\" [class.sme-table-indented]=\"!noLeftMargin\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\">\r\n <!-- According to the accessibility team, data-table headers should be accessible by keyboard\r\n and the resizer should also be accessed by keyboard.-->\r\n <div #headerTable class=\"sme-table sme-table-virtualized sme-table-auto-width-phone-down\" role=\"rowgroup\">\r\n <div class=\"sme-table-row sme-arrange-stack-h sme-position-flex-auto\" role=\"row\"\r\n (keydown)=\"onHeaderTablePressed($event)\">\r\n <div class=\"sme-table-caption\" [attr.role]=\"selectionMode==='multiple'?'columnheader':'presentation'\"\r\n data-uta-id=\"checkboxColumn\">\r\n <div class=\"sme-table-checkbox sme-table-header-checkbox\"\r\n *ngIf=\"selectionMode==='multiple' && showAllItemCheckbox && showHeader\" role=\"presentation\">\r\n <input sme-lint-disable-self type=\"checkbox\" [attr.aria-label]=\"getAllItemCheckBoxAriaLabel()\"\r\n [checked]=\"shouldAllItemCheckBoxChecked()\"\r\n [attr.aria-checked]=\"shouldAllItemCheckBoxChecked()?'true':'false'\" (change)=\"onAllItemCheckBoxClicked()\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex = index\" [attr.field]=\"column.field\"\r\n [ngStyle]=\"{'width': column.width}\"\r\n class=\"sme-table-caption sme-table-column-header sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"presentation\" [attr.data-uta-id]=\"column.utaId\" [attr.column-index]=\"colIndex\">\r\n <div *ngIf=\"column.sortable && column.sortable!='false' && showHeader\"\r\n class=\"sme-table-header-cell sme-focus-zone\" (click)=\"clickColumn(column)\" role=\"columnheader\"\r\n [title]=\"column.header\" aria-live=\"polite\" tabindex=\"0\" [attr.aria-sort]=\"columnSortSettings[column.header]\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!(column.sortable && column.sortable!='false') && showHeader\" class=\"sme-table-header-cell sme-focus-zone\"\r\n role=\"columnheader\" [title]=\"column.header\" tabindex=\"0\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!showHeader\" class=\"sme-table-header-cell\" role=\"columnheader\">\r\n </div>\r\n <sme-resizer [focusable]=\"false\" *ngIf=\"colIndex!==actualColumns.length-1 && showHeader\"\r\n resizerHostSelector=\"div.sme-table-header\" (resized)=\"onColumnResized(colIndex, $event)\"\r\n [visibleToScreenReader]=\"true\" [showResizerCover]=\"false\" orientation=\"left\"\r\n (resizing)=\"onColumnResizing($event)\" class=\"sme-focus-zone\"></sme-resizer>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"sme-focus-zone sme-table-container sme-data-table-transition\" #content role=\"presentation\"\r\n [class.sme-table-multi-select]=\"selectionMode==='multiple'\" [class.sme-table-selectable]=\"selectable\"\r\n [class.sme-margin-top-none]=\"!showHeader\" [class.sme-table-indented]=\"!noLeftMargin\"\r\n [class.sme-table-grid-lines]=\"showGrid\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\"\r\n [class.sme-table-editable]=\"editable\">\r\n <div class=\"sme-table-scroll-container sme-layout-absolute sme-position-inset-none\"\r\n [ngClass]=\"{'sme-layout-absolute sme-position-inset-none': scrollable, 'sme-scrollable': shouldScroll}\"\r\n #scrollContainer role=\"rowgroup\">\r\n <div role=\"row\" class=\"sme-table-row sme-table-row-placeholder\" #emptyMessage tabindex=\"0\"\r\n *ngIf=\"showNoRecordsMessage()\" data-uta-id=\"empty-table-message\">\r\n <sme-loading-wheel *ngIf=\"isLoading || !isColumnWidthCalculated\" [message]=\"loadingMessage\">\r\n </sme-loading-wheel>\r\n <div class=\"sme-table-cell sme-table-cell-placeholder\"> </div>\r\n <div role=\"gridcell\" class=\"sme-table-cell\">{{getNoRecordsMessage()}}</div>\r\n </div>\r\n <div class=\"sme-layout-relative sme-position-stretch-h sme-arrange-overflow-hide\" #scrollBody role=\"presentation\">\r\n <div class=\"sme-table sme-table-scrollable sme-table-virtualized\" #scrollAboveData\r\n [ngStyle]=\"{top: scrollAboveDataStyleTop}\" [attr.aria-hidden]=\"true\" sme-lint-disable>\r\n <!-- Above view port -->\r\n <div *ngFor=\"let renderedItem of renderedItemsAboveViewPort; let rowIndex = index\"\r\n class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"renderedItem.index === getActiveRenderedItemIndex() || isItemSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\">\r\n <div class=\"sme-arrange-stack-h\">\r\n <div class=\"sme-table-td sme-position-flex-auto\">\r\n <div class=\"sme-table-cell\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\"\r\n (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n class=\"sme-table-cell\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table sme-table-scrollable\" #scrollData [class.sme-table-virtualized]=\"!disableUIVirtualization\"\r\n [ngStyle]=\"{top: scrollDataStyleTop}\" sme-lint-disable role=\"presentation\">\r\n <div *ngFor=\"let renderedItem of renderedItemsInAndBelowViewPort; let rowIndex = index\"\r\n (keydown)=\"onContentTablePressed($event)\" (keyup)=\"onContentTableKeyUp($event)\"\r\n (contextmenu)=\"enableRightClickSelect ? selectItem($event, renderedItem) : true\"\r\n (click)=\"selectItem($event, renderedItem)\" class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"rowDisplayAsSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\" [class.sme-table-row-editable]=\"editable\"\r\n [class.sme-has-validation-error]=\"hasValidationError(renderedItem)\"\r\n [class.sme-data-table-row-new-item]=\"renderedItem?.data?.isNewRow\"\r\n [attr.tabindex]=\"renderedItem.index >= 0 ? 0 : undefined\" (dblclick)=\"doubleClickRow($event,renderedItem)\"\r\n (focus)=\"onContentItemFocused($event, renderedItem)\" (focusin)=\"onContentItemFocused($event, renderedItem)\"\r\n (focusout)=\"onContentItemBlurred($event, renderedItem)\" [attr.data-rendered-item-index]=\"renderedItem.index\"\r\n [attr.aria-rowindex]=\"renderedItem.index+2\" [attr.aria-selected]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n (mouseenter)=\"setHoveredRenderedItem(renderedItem)\" (mouseleave)=\"unsetHoveredRenderedItem(renderedItem)\"\r\n role=\"row\" [attr.aria-expanded]=\"getAriaExpandedAttributeValue(renderedItem)\"\r\n [attr.aria-level]=\"showAsTree && renderedItem.depth ? (renderedItem.depth+1):undefined\">\r\n <div class=\"sme-arrange-stack-h\" role=\"presentation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell': 'presentation'\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"gridcell\" [attr.aria-rowindex]=\"renderedItem.index+2\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\" [id]=\"getFirstColumnId(column, renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\"\r\n [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && !column.bodyEditTemplate\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\" [renderedItem]=\"renderedItem\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && column.bodyEditTemplate\">\r\n <ng-container *ngIf=\"!shouldShowEditRow(renderedItem)\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"shouldShowEditRow(renderedItem)\" class=\"sme-table-cell sme-table-edit-container\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyEditTemplate\" [field]=\"column.field\" [data]=\"renderedItem.data.content\"\r\n [rowIndex]=\"rowIndex\" [renderedItem]=\"renderedItem\"\r\n (validationAlert)=\"onValidationAlertHandler(renderedItem, column.field, $event.alert)\"\r\n (dataChanged)=\"onEditableDataChanged($event.renderedItem,$event.field)\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hasValidationError(renderedItem)\" class=\"sme-table-row-validation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell' : 'presentation'\"\r\n [attr.tabindex]=\"selectionMode==='multiple'?'0':'undefined'\">\r\n <div class=\"sme-table-cell\" role=\"presentation\">\r\n <div *ngFor=\"let validationResultItem of renderedItem.validationResult\">\r\n <sme-validation-alert [alert]=\"validationResultItem.alert\"></sme-validation-alert>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table-row\" #tempRow>\r\n <div class=\"sme-table-td\" tabindex=\"0\">\r\n <div class=\"sme-table-cell\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"shouldUseLastFocusableShadowElement\" #lastFocusableShadowElement class=\"sme-focus-zone\"\r\n data-sme-last-focusable-shadow-element (focus)=\"onLastFocusableShadowElementFocused($event)\" tabindex=\"0\"></div>\r\n </div>\r\n <div class=\"sme-layout-absolute sme-position-inset-none\"\r\n *ngIf=\"isBusy || (this.nodeNavigatingTask && this.nodeNavigatingTask.isRunning)\">\r\n <sme-loading-wheel [isBackgroundTransparent]=\"true\"></sme-loading-wheel>\r\n </div>\r\n</div>\r\n<div #resizerIndicator\r\n class=\"sme-width-xxs sme-layout-absolute sme-position-stretch-v sme-background-color-base-80 sme-layer-flyout sme-layout-none\">\r\n</div>\r\n" }]
|
|
33013
33055
|
}], function () { return [{ type: i0.Injector }]; }, { resizerIndicator: [{
|
|
33014
33056
|
type: ViewChild,
|
|
33015
33057
|
args: ['resizerIndicator']
|
|
@@ -33241,7 +33283,7 @@ class TreeTableComponent extends DataTableComponent {
|
|
|
33241
33283
|
i0.ɵɵelement(28, "div", 27, 28);
|
|
33242
33284
|
}
|
|
33243
33285
|
if (rf & 2) {
|
|
33244
|
-
i0.ɵɵclassProp("sme-shadow-scrolled-content", ctx.isScrolledDown)("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-table-indented", ctx.
|
|
33286
|
+
i0.ɵɵclassProp("sme-shadow-scrolled-content", ctx.isScrolledDown)("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-table-indented", !ctx.noLeftMargin)("sme-table-select-all-enabled", ctx.selectionMode === "multiple" && ctx.showAllItemCheckbox);
|
|
33245
33287
|
i0.ɵɵadvance(5);
|
|
33246
33288
|
i0.ɵɵattribute("role", ctx.selectionMode === "multiple" ? "columnheader" : "presentation");
|
|
33247
33289
|
i0.ɵɵadvance(1);
|
|
@@ -33249,7 +33291,7 @@ class TreeTableComponent extends DataTableComponent {
|
|
|
33249
33291
|
i0.ɵɵadvance(1);
|
|
33250
33292
|
i0.ɵɵproperty("ngForOf", ctx.actualColumns);
|
|
33251
33293
|
i0.ɵɵadvance(1);
|
|
33252
|
-
i0.ɵɵclassProp("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-margin-top-none", !ctx.showHeader)("sme-table-indented", ctx.
|
|
33294
|
+
i0.ɵɵclassProp("sme-table-multi-select", ctx.selectionMode === "multiple")("sme-table-selectable", ctx.selectable)("sme-margin-top-none", !ctx.showHeader)("sme-table-indented", !ctx.noLeftMargin)("sme-table-grid-lines", ctx.showGrid)("sme-table-select-all-enabled", ctx.selectionMode === "multiple" && ctx.showAllItemCheckbox)("sme-table-editable", ctx.editable);
|
|
33253
33295
|
i0.ɵɵadvance(2);
|
|
33254
33296
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(38, _c18, ctx.scrollable, ctx.shouldScroll));
|
|
33255
33297
|
i0.ɵɵadvance(2);
|
|
@@ -33273,7 +33315,7 @@ class TreeTableComponent extends DataTableComponent {
|
|
|
33273
33315
|
(function () {
|
|
33274
33316
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableComponent, [{
|
|
33275
33317
|
type: Component,
|
|
33276
|
-
args: [{ selector: 'sme-tree-table', template: "<div role=\"presentation\" class=\"sme-table-header sme-focus-zone sme-data-table-transition\" #header\r\n [class.sme-shadow-scrolled-content]=\"isScrolledDown\" [class.sme-table-multi-select]=\"selectionMode==='multiple'\"\r\n [class.sme-table-selectable]=\"selectable\" [class.sme-table-indented]=\"showLeftMargin\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\">\r\n <!-- According to the accessibility team, data-table headers should be accessible by keyboard\r\n and the resizer should also be accessed by keyboard.-->\r\n <div #headerTable class=\"sme-table sme-table-virtualized sme-table-auto-width-phone-down\" role=\"rowgroup\">\r\n <div class=\"sme-table-row sme-arrange-stack-h sme-position-flex-auto\" role=\"row\"\r\n (keydown)=\"onHeaderTablePressed($event)\">\r\n <div class=\"sme-table-caption\" [attr.role]=\"selectionMode==='multiple'?'columnheader':'presentation'\"\r\n data-uta-id=\"checkboxColumn\">\r\n <div class=\"sme-table-checkbox sme-table-header-checkbox\"\r\n *ngIf=\"selectionMode==='multiple' && showAllItemCheckbox && showHeader\" role=\"presentation\">\r\n <input sme-lint-disable-self type=\"checkbox\" [attr.aria-label]=\"getAllItemCheckBoxAriaLabel()\"\r\n [checked]=\"shouldAllItemCheckBoxChecked()\"\r\n [attr.aria-checked]=\"shouldAllItemCheckBoxChecked()?'true':'false'\" (change)=\"onAllItemCheckBoxClicked()\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex = index\" [attr.field]=\"column.field\"\r\n [ngStyle]=\"{'width': column.width}\"\r\n class=\"sme-table-caption sme-table-column-header sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"presentation\" [attr.data-uta-id]=\"column.utaId\" [attr.column-index]=\"colIndex\">\r\n <div *ngIf=\"column.sortable && column.sortable!='false' && showHeader\"\r\n class=\"sme-table-header-cell sme-focus-zone\" (click)=\"clickColumn(column)\" role=\"columnheader\"\r\n [title]=\"column.header\" aria-live=\"polite\" tabindex=\"0\" [attr.aria-sort]=\"columnSortSettings[column.header]\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!(column.sortable && column.sortable!='false') && showHeader\" class=\"sme-table-header-cell sme-focus-zone\"\r\n role=\"columnheader\" [title]=\"column.header\" tabindex=\"0\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!showHeader\" class=\"sme-table-header-cell\" role=\"columnheader\">\r\n </div>\r\n <sme-resizer [focusable]=\"false\" *ngIf=\"colIndex!==actualColumns.length-1 && showHeader\"\r\n resizerHostSelector=\"div.sme-table-header\" (resized)=\"onColumnResized(colIndex, $event)\"\r\n [visibleToScreenReader]=\"true\" [showResizerCover]=\"false\" orientation=\"left\"\r\n (resizing)=\"onColumnResizing($event)\" class=\"sme-focus-zone\"></sme-resizer>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"sme-focus-zone sme-table-container sme-data-table-transition\" #content role=\"presentation\"\r\n [class.sme-table-multi-select]=\"selectionMode==='multiple'\" [class.sme-table-selectable]=\"selectable\"\r\n [class.sme-margin-top-none]=\"!showHeader\" [class.sme-table-indented]=\"showLeftMargin\"\r\n [class.sme-table-grid-lines]=\"showGrid\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\"\r\n [class.sme-table-editable]=\"editable\">\r\n <div class=\"sme-table-scroll-container sme-layout-absolute sme-position-inset-none\"\r\n [ngClass]=\"{'sme-layout-absolute sme-position-inset-none': scrollable, 'sme-scrollable': shouldScroll}\"\r\n #scrollContainer role=\"rowgroup\">\r\n <div role=\"row\" class=\"sme-table-row sme-table-row-placeholder\" #emptyMessage tabindex=\"0\"\r\n *ngIf=\"showNoRecordsMessage()\" data-uta-id=\"empty-table-message\">\r\n <sme-loading-wheel *ngIf=\"isLoading || !isColumnWidthCalculated\" [message]=\"loadingMessage\">\r\n </sme-loading-wheel>\r\n <div class=\"sme-table-cell sme-table-cell-placeholder\"> </div>\r\n <div role=\"gridcell\" class=\"sme-table-cell\">{{getNoRecordsMessage()}}</div>\r\n </div>\r\n <div class=\"sme-layout-relative sme-position-stretch-h sme-arrange-overflow-hide\" #scrollBody role=\"presentation\">\r\n <div class=\"sme-table sme-table-scrollable sme-table-virtualized\" #scrollAboveData\r\n [ngStyle]=\"{top: scrollAboveDataStyleTop}\" [attr.aria-hidden]=\"true\" sme-lint-disable>\r\n <!-- Above view port -->\r\n <div *ngFor=\"let renderedItem of renderedItemsAboveViewPort; let rowIndex = index\"\r\n class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"renderedItem.index === getActiveRenderedItemIndex() || isItemSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\">\r\n <div class=\"sme-arrange-stack-h\">\r\n <div class=\"sme-table-td sme-position-flex-auto\">\r\n <div class=\"sme-table-cell\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\"\r\n (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n class=\"sme-table-cell\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table sme-table-scrollable\" #scrollData [class.sme-table-virtualized]=\"!disableUIVirtualization\"\r\n [ngStyle]=\"{top: scrollDataStyleTop}\" sme-lint-disable role=\"presentation\">\r\n <div *ngFor=\"let renderedItem of renderedItemsInAndBelowViewPort; let rowIndex = index\"\r\n (keydown)=\"onContentTablePressed($event)\" (keyup)=\"onContentTableKeyUp($event)\"\r\n (contextmenu)=\"enableRightClickSelect ? selectItem($event, renderedItem) : true\"\r\n (click)=\"selectItem($event, renderedItem)\" class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"rowDisplayAsSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\" [class.sme-table-row-editable]=\"editable\"\r\n [class.sme-has-validation-error]=\"hasValidationError(renderedItem)\"\r\n [class.sme-data-table-row-new-item]=\"renderedItem?.data?.isNewRow\"\r\n [attr.tabindex]=\"renderedItem.index >= 0 ? 0 : undefined\" (dblclick)=\"doubleClickRow($event,renderedItem)\"\r\n (focus)=\"onContentItemFocused($event, renderedItem)\" (focusin)=\"onContentItemFocused($event, renderedItem)\"\r\n (focusout)=\"onContentItemBlurred($event, renderedItem)\" [attr.data-rendered-item-index]=\"renderedItem.index\"\r\n [attr.aria-rowindex]=\"renderedItem.index+2\" [attr.aria-selected]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n (mouseenter)=\"setHoveredRenderedItem(renderedItem)\" (mouseleave)=\"unsetHoveredRenderedItem(renderedItem)\"\r\n role=\"row\" [attr.aria-expanded]=\"getAriaExpandedAttributeValue(renderedItem)\"\r\n [attr.aria-level]=\"showAsTree && renderedItem.depth ? (renderedItem.depth+1):undefined\">\r\n <div class=\"sme-arrange-stack-h\" role=\"presentation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell': 'presentation'\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"gridcell\" [attr.aria-rowindex]=\"renderedItem.index+2\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\" [id]=\"getFirstColumnId(column, renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\"\r\n [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && !column.bodyEditTemplate\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\" [renderedItem]=\"renderedItem\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && column.bodyEditTemplate\">\r\n <ng-container *ngIf=\"!shouldShowEditRow(renderedItem)\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"shouldShowEditRow(renderedItem)\" class=\"sme-table-cell sme-table-edit-container\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyEditTemplate\" [field]=\"column.field\" [data]=\"renderedItem.data.content\"\r\n [rowIndex]=\"rowIndex\" [renderedItem]=\"renderedItem\"\r\n (validationAlert)=\"onValidationAlertHandler(renderedItem, column.field, $event.alert)\"\r\n (dataChanged)=\"onEditableDataChanged($event.renderedItem,$event.field)\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hasValidationError(renderedItem)\" class=\"sme-table-row-validation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell' : 'presentation'\"\r\n [attr.tabindex]=\"selectionMode==='multiple'?'0':'undefined'\">\r\n <div class=\"sme-table-cell\" role=\"presentation\">\r\n <div *ngFor=\"let validationResultItem of renderedItem.validationResult\">\r\n <sme-validation-alert [alert]=\"validationResultItem.alert\"></sme-validation-alert>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table-row\" #tempRow>\r\n <div class=\"sme-table-td\" tabindex=\"0\">\r\n <div class=\"sme-table-cell\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"shouldUseLastFocusableShadowElement\" #lastFocusableShadowElement class=\"sme-focus-zone\"\r\n data-sme-last-focusable-shadow-element (focus)=\"onLastFocusableShadowElementFocused($event)\" tabindex=\"0\"></div>\r\n </div>\r\n <div class=\"sme-layout-absolute sme-position-inset-none\"\r\n *ngIf=\"isBusy || (this.nodeNavigatingTask && this.nodeNavigatingTask.isRunning)\">\r\n <sme-loading-wheel [isBackgroundTransparent]=\"true\"></sme-loading-wheel>\r\n </div>\r\n</div>\r\n<div #resizerIndicator\r\n class=\"sme-width-xxs sme-layout-absolute sme-position-stretch-v sme-background-color-base-80 sme-layer-flyout sme-layout-none\">\r\n</div>\r\n" }]
|
|
33318
|
+
args: [{ selector: 'sme-tree-table', template: "<div role=\"presentation\" class=\"sme-table-header sme-focus-zone sme-data-table-transition\" #header\r\n [class.sme-shadow-scrolled-content]=\"isScrolledDown\" [class.sme-table-multi-select]=\"selectionMode==='multiple'\"\r\n [class.sme-table-selectable]=\"selectable\" [class.sme-table-indented]=\"!noLeftMargin\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\">\r\n <!-- According to the accessibility team, data-table headers should be accessible by keyboard\r\n and the resizer should also be accessed by keyboard.-->\r\n <div #headerTable class=\"sme-table sme-table-virtualized sme-table-auto-width-phone-down\" role=\"rowgroup\">\r\n <div class=\"sme-table-row sme-arrange-stack-h sme-position-flex-auto\" role=\"row\"\r\n (keydown)=\"onHeaderTablePressed($event)\">\r\n <div class=\"sme-table-caption\" [attr.role]=\"selectionMode==='multiple'?'columnheader':'presentation'\"\r\n data-uta-id=\"checkboxColumn\">\r\n <div class=\"sme-table-checkbox sme-table-header-checkbox\"\r\n *ngIf=\"selectionMode==='multiple' && showAllItemCheckbox && showHeader\" role=\"presentation\">\r\n <input sme-lint-disable-self type=\"checkbox\" [attr.aria-label]=\"getAllItemCheckBoxAriaLabel()\"\r\n [checked]=\"shouldAllItemCheckBoxChecked()\"\r\n [attr.aria-checked]=\"shouldAllItemCheckBoxChecked()?'true':'false'\" (change)=\"onAllItemCheckBoxClicked()\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex = index\" [attr.field]=\"column.field\"\r\n [ngStyle]=\"{'width': column.width}\"\r\n class=\"sme-table-caption sme-table-column-header sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"presentation\" [attr.data-uta-id]=\"column.utaId\" [attr.column-index]=\"colIndex\">\r\n <div *ngIf=\"column.sortable && column.sortable!='false' && showHeader\"\r\n class=\"sme-table-header-cell sme-focus-zone\" (click)=\"clickColumn(column)\" role=\"columnheader\"\r\n [title]=\"column.header\" aria-live=\"polite\" tabindex=\"0\" [attr.aria-sort]=\"columnSortSettings[column.header]\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!(column.sortable && column.sortable!='false') && showHeader\" class=\"sme-table-header-cell sme-focus-zone\"\r\n role=\"columnheader\" [title]=\"column.header\" tabindex=\"0\">\r\n <span>{{column.header}}</span>\r\n <span class=\"sme-icon sme-margin-left-xxs\" [attr.aria-label]=\"column.sortable ? getSortLabel(column) : null\"\r\n [ngClass]=\"{'sme-icon-up':column.sortMode===sortModeEnum.Ascend,'sme-icon-down':column.sortMode===sortModeEnum.Descend}\"></span>\r\n </div>\r\n <div *ngIf=\"!showHeader\" class=\"sme-table-header-cell\" role=\"columnheader\">\r\n </div>\r\n <sme-resizer [focusable]=\"false\" *ngIf=\"colIndex!==actualColumns.length-1 && showHeader\"\r\n resizerHostSelector=\"div.sme-table-header\" (resized)=\"onColumnResized(colIndex, $event)\"\r\n [visibleToScreenReader]=\"true\" [showResizerCover]=\"false\" orientation=\"left\"\r\n (resizing)=\"onColumnResizing($event)\" class=\"sme-focus-zone\"></sme-resizer>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"sme-focus-zone sme-table-container sme-data-table-transition\" #content role=\"presentation\"\r\n [class.sme-table-multi-select]=\"selectionMode==='multiple'\" [class.sme-table-selectable]=\"selectable\"\r\n [class.sme-margin-top-none]=\"!showHeader\" [class.sme-table-indented]=\"!noLeftMargin\"\r\n [class.sme-table-grid-lines]=\"showGrid\"\r\n [class.sme-table-select-all-enabled]=\"selectionMode==='multiple' && showAllItemCheckbox\"\r\n [class.sme-table-editable]=\"editable\">\r\n <div class=\"sme-table-scroll-container sme-layout-absolute sme-position-inset-none\"\r\n [ngClass]=\"{'sme-layout-absolute sme-position-inset-none': scrollable, 'sme-scrollable': shouldScroll}\"\r\n #scrollContainer role=\"rowgroup\">\r\n <div role=\"row\" class=\"sme-table-row sme-table-row-placeholder\" #emptyMessage tabindex=\"0\"\r\n *ngIf=\"showNoRecordsMessage()\" data-uta-id=\"empty-table-message\">\r\n <sme-loading-wheel *ngIf=\"isLoading || !isColumnWidthCalculated\" [message]=\"loadingMessage\">\r\n </sme-loading-wheel>\r\n <div class=\"sme-table-cell sme-table-cell-placeholder\"> </div>\r\n <div role=\"gridcell\" class=\"sme-table-cell\">{{getNoRecordsMessage()}}</div>\r\n </div>\r\n <div class=\"sme-layout-relative sme-position-stretch-h sme-arrange-overflow-hide\" #scrollBody role=\"presentation\">\r\n <div class=\"sme-table sme-table-scrollable sme-table-virtualized\" #scrollAboveData\r\n [ngStyle]=\"{top: scrollAboveDataStyleTop}\" [attr.aria-hidden]=\"true\" sme-lint-disable>\r\n <!-- Above view port -->\r\n <div *ngFor=\"let renderedItem of renderedItemsAboveViewPort; let rowIndex = index\"\r\n class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"renderedItem.index === getActiveRenderedItemIndex() || isItemSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\">\r\n <div class=\"sme-arrange-stack-h\">\r\n <div class=\"sme-table-td sme-position-flex-auto\">\r\n <div class=\"sme-table-cell\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [checked]=\"isItemSelected(renderedItem)\"\r\n (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n class=\"sme-table-cell\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table sme-table-scrollable\" #scrollData [class.sme-table-virtualized]=\"!disableUIVirtualization\"\r\n [ngStyle]=\"{top: scrollDataStyleTop}\" sme-lint-disable role=\"presentation\">\r\n <div *ngFor=\"let renderedItem of renderedItemsInAndBelowViewPort; let rowIndex = index\"\r\n (keydown)=\"onContentTablePressed($event)\" (keyup)=\"onContentTableKeyUp($event)\"\r\n (contextmenu)=\"enableRightClickSelect ? selectItem($event, renderedItem) : true\"\r\n (click)=\"selectItem($event, renderedItem)\" class=\"sme-table-row sme-table-row-data sme-table-row-selectable\"\r\n [class.sme-table-row-active]=\"renderedItem.index === getActiveRenderedItemIndex()\"\r\n [class.sme-table-row-selected]=\"rowDisplayAsSelected(renderedItem)\"\r\n [class.sme-table-group-item]=\"renderedItem.type === renderedItemTypeEnum.GroupItem\"\r\n [class.sme-table-group-header]=\"renderedItem.type === renderedItemTypeEnum.GroupHeader\"\r\n [class.sme-checked]=\"isItemSelected(renderedItem)\" [class.sme-table-row-editable]=\"editable\"\r\n [class.sme-has-validation-error]=\"hasValidationError(renderedItem)\"\r\n [class.sme-data-table-row-new-item]=\"renderedItem?.data?.isNewRow\"\r\n [attr.tabindex]=\"renderedItem.index >= 0 ? 0 : undefined\" (dblclick)=\"doubleClickRow($event,renderedItem)\"\r\n (focus)=\"onContentItemFocused($event, renderedItem)\" (focusin)=\"onContentItemFocused($event, renderedItem)\"\r\n (focusout)=\"onContentItemBlurred($event, renderedItem)\" [attr.data-rendered-item-index]=\"renderedItem.index\"\r\n [attr.aria-rowindex]=\"renderedItem.index+2\" [attr.aria-selected]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n (mouseenter)=\"setHoveredRenderedItem(renderedItem)\" (mouseleave)=\"unsetHoveredRenderedItem(renderedItem)\"\r\n role=\"row\" [attr.aria-expanded]=\"getAriaExpandedAttributeValue(renderedItem)\"\r\n [attr.aria-level]=\"showAsTree && renderedItem.depth ? (renderedItem.depth+1):undefined\">\r\n <div class=\"sme-arrange-stack-h\" role=\"presentation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell': 'presentation'\">\r\n <div *ngIf=\"!showAsTree\" class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let column of actualColumns; let colIndex=index\"\r\n [ngClass]=\"{'sme-table-column-first': isFirstDataColumn(column), 'sme-table-group-header-cell': renderedItem.type===renderedItemTypeEnum.GroupHeader}\"\r\n [ngStyle]=\"{'width':column.domWidth+'px'}\"\r\n class=\"sme-table-td sme-position-flex-auto {{column.styleClass}}\"\r\n role=\"gridcell\" [attr.aria-rowindex]=\"renderedItem.index+2\"\r\n [attr.tabindex]=\"isTreeTableParentNode(renderedItem) ? -1 : 0\">\r\n <div class=\"sme-screen-reader sme-screen-reader-disable-copy\" *ngIf=\"isFirstDataColumn(column)\">\r\n {{getAdditionalScreenRecorderContent(renderedItem)}}</div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.GroupHeader && colIndex===0\" class=\"sme-table-cell\"\r\n (click)=\"clickGroupToggle(renderedItem)\" [id]=\"getFirstColumnId(column, renderedItem)\">\r\n <span *ngIf=\"useGroupToggle\" class=\"sme-icon sme-icon-size-xxs sme-margin-right-xxs\"\r\n [ngClass]=\"{'sme-icon-chevronDown':isGroupExpanded(renderedItem.data), 'sme-icon-chevronRight':!isGroupExpanded(renderedItem.data)}\">\r\n </span>\r\n <span *ngIf=\"!this.groupHeaderTemplate\">\r\n {{renderedItem.data}}\r\n </span>\r\n <span *ngIf=\"this.groupHeaderTemplate\">\r\n <sme-data-table-template-loader [template]=\"this.groupHeaderTemplate\" [data]=\"renderedItem.data\">\r\n </sme-data-table-template-loader>\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && !renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\"\r\n [ngClass]=\"{'sme-expandable': renderedItem.hasChildren && !renderedItem.node.isLeaf}\">\r\n <span class=\"sme-icon sme-icon-size-xxs\" role=\"button\"\r\n [attr.aria-expanded]=\"renderedItem.node.expanded?'true':'false'\"\r\n (click)=\"clickTreeToggle($event, renderedItem)\"\r\n [ngClass]=\"{'sme-icon-chevronDown':renderedItem.node.expanded, 'sme-icon-chevronRight':!renderedItem.node.expanded}\"\r\n [attr.aria-label]=\"renderedItem.node.expanded ? this.strings.MsftSmeShell.Angular.DataTable.aria.label.collapse : this.strings.MsftSmeShell.Angular.DataTable.aria.label.expand\">\r\n </span>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div *ngIf=\"renderedItem.type===renderedItemTypeEnum.TreeNode && renderedItem.node.isBusy && colIndex===0\"\r\n class=\"sme-table-expander-cell\" [ngStyle]=\"{'padding-left':(renderedItem.depth*16+4)+'px'}\">\r\n <sme-loading-wheel size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\">\r\n </sme-loading-wheel>\r\n <span class=\"sme-table-expander-cell-placeholder\"></span>\r\n </div>\r\n <div\r\n *ngIf=\"showAsTree && selectionMode==='multiple' && renderedItem.type==renderedItemTypeEnum.TreeNode && colIndex==0\"\r\n class=\"sme-table-cell sme-table-checkbox-container\" role=\"presentation\">\r\n <div class=\"sme-table-checkbox\" role=\"presentation\">\r\n <input type=\"checkbox\" [attr.aria-checked]=\"isItemSelected(renderedItem)?'true':'false'\"\r\n [attr.aria-labelledby]=\"idBag.firstDataColumn + renderedItem.index\"\r\n [checked]=\"isItemSelected(renderedItem)\" (change)=\"onItemCheckBoxClicked(renderedItem)\" />\r\n <label role=\"presentation\"></label>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!editable\">\r\n <div *ngIf=\"!column.bodyTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-full-height]=\"autoRowHeight\"\r\n [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyTemplate\"\r\n class=\"sme-table-cell\" [class.sme-table-cell-height-auto]=\"autoRowHeight\"\r\n [class.sme-table-cell-full-height]=\"autoRowHeight\" [id]=\"getFirstColumnId(column, renderedItem)\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyTemplate\" [data]=\"renderedItem.data\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && !column.bodyEditTemplate\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\" [renderedItem]=\"renderedItem\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"editable && column.bodyEditTemplate\">\r\n <ng-container *ngIf=\"!shouldShowEditRow(renderedItem)\">\r\n <div *ngIf=\"!column.bodyReadTemplate && renderedItem.type!=renderedItemTypeEnum.GroupHeader\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n {{renderedItem.data?resolveObjectPath(renderedItem.data.content,column.field):'.'}}</div>\r\n <div\r\n *ngIf=\"renderedItem.type!=renderedItemTypeEnum.GroupHeader && renderedItem.data && column.bodyReadTemplate\"\r\n class=\"sme-table-cell\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyReadTemplate\" [data]=\"renderedItem.data.content\" [rowIndex]=\"rowIndex\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"shouldShowEditRow(renderedItem)\" class=\"sme-table-cell sme-table-edit-container\"\r\n [title]=\"getColumnTooltipText(column, renderedItem)\">\r\n <sme-data-table-template-loader *ngIf=\"!renderedItem.data.placeholder\"\r\n [template]=\"column.bodyEditTemplate\" [field]=\"column.field\" [data]=\"renderedItem.data.content\"\r\n [rowIndex]=\"rowIndex\" [renderedItem]=\"renderedItem\"\r\n (validationAlert)=\"onValidationAlertHandler(renderedItem, column.field, $event.alert)\"\r\n (dataChanged)=\"onEditableDataChanged($event.renderedItem,$event.field)\">\r\n </sme-data-table-template-loader>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hasValidationError(renderedItem)\" class=\"sme-table-row-validation\">\r\n <div class=\"sme-table-td sme-position-flex-auto\"\r\n [attr.role] = \"selectionMode === 'multiple' ? 'gridcell' : 'presentation'\"\r\n [attr.tabindex]=\"selectionMode==='multiple'?'0':'undefined'\">\r\n <div class=\"sme-table-cell\" role=\"presentation\">\r\n <div *ngFor=\"let validationResultItem of renderedItem.validationResult\">\r\n <sme-validation-alert [alert]=\"validationResultItem.alert\"></sme-validation-alert>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sme-table-row\" #tempRow>\r\n <div class=\"sme-table-td\" tabindex=\"0\">\r\n <div class=\"sme-table-cell\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"shouldUseLastFocusableShadowElement\" #lastFocusableShadowElement class=\"sme-focus-zone\"\r\n data-sme-last-focusable-shadow-element (focus)=\"onLastFocusableShadowElementFocused($event)\" tabindex=\"0\"></div>\r\n </div>\r\n <div class=\"sme-layout-absolute sme-position-inset-none\"\r\n *ngIf=\"isBusy || (this.nodeNavigatingTask && this.nodeNavigatingTask.isRunning)\">\r\n <sme-loading-wheel [isBackgroundTransparent]=\"true\"></sme-loading-wheel>\r\n </div>\r\n</div>\r\n<div #resizerIndicator\r\n class=\"sme-width-xxs sme-layout-absolute sme-position-stretch-v sme-background-color-base-80 sme-layer-flyout sme-layout-none\">\r\n</div>\r\n" }]
|
|
33277
33319
|
}], function () { return [{ type: i0.Injector }]; }, null);
|
|
33278
33320
|
})();
|
|
33279
33321
|
|
|
@@ -35526,7 +35568,7 @@ class SplitViewComponent extends CoreBaseComponent {
|
|
|
35526
35568
|
* The Angular ngOnDestroy function.
|
|
35527
35569
|
*/
|
|
35528
35570
|
ngOnDestroy() {
|
|
35529
|
-
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
35571
|
+
this.subscriptions.forEach(sub => sub === null || sub === void 0 ? void 0 : sub.unsubscribe());
|
|
35530
35572
|
}
|
|
35531
35573
|
/**
|
|
35532
35574
|
* The method called after content is initialized.
|
|
@@ -37669,7 +37711,7 @@ class AlertBarComponent extends CoreBaseComponent {
|
|
|
37669
37711
|
ngOnDestroy() {
|
|
37670
37712
|
this.alertBarService.unregister(this.id);
|
|
37671
37713
|
if (this.dialogSubscriptions) {
|
|
37672
|
-
this.dialogSubscriptions.forEach(sub => sub.unsubscribe());
|
|
37714
|
+
this.dialogSubscriptions.forEach(sub => sub === null || sub === void 0 ? void 0 : sub.unsubscribe());
|
|
37673
37715
|
}
|
|
37674
37716
|
}
|
|
37675
37717
|
/**
|
|
@@ -41374,11 +41416,9 @@ class BaseDialogComponent {
|
|
|
41374
41416
|
* The method to run when the component is destroyed.
|
|
41375
41417
|
*/
|
|
41376
41418
|
ngOnDestroy() {
|
|
41377
|
-
var _a;
|
|
41378
|
-
this.dialogService.unregister(this.id);
|
|
41379
|
-
|
|
41380
|
-
// then the subscription will not exist and causing an error.
|
|
41381
|
-
(_a = this.closeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
41419
|
+
var _a, _b;
|
|
41420
|
+
(_a = this.dialogService) === null || _a === void 0 ? void 0 : _a.unregister(this.id);
|
|
41421
|
+
(_b = this.closeSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
41382
41422
|
}
|
|
41383
41423
|
/**
|
|
41384
41424
|
* handler for when a close is requested
|
|
@@ -41872,7 +41912,8 @@ class ConfirmationListDialogComponent extends BaseDialogComponent {
|
|
|
41872
41912
|
return result;
|
|
41873
41913
|
}
|
|
41874
41914
|
hide(result) {
|
|
41875
|
-
|
|
41915
|
+
var _a;
|
|
41916
|
+
(_a = this.dataSourceSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
41876
41917
|
super.hide(result);
|
|
41877
41918
|
}
|
|
41878
41919
|
onConfirm() {
|
|
@@ -46268,6 +46309,9 @@ function PropertyGridComponent_ng_template_10_Template(rf, ctx) {
|
|
|
46268
46309
|
i0.ɵɵtemplate(2, PropertyGridComponent_ng_template_10_span_2_Template, 2, 1, "span", 25);
|
|
46269
46310
|
i0.ɵɵelementStart(3, "a", 28);
|
|
46270
46311
|
i0.ɵɵtext(4);
|
|
46312
|
+
i0.ɵɵelementEnd();
|
|
46313
|
+
i0.ɵɵelementStart(5, "span", 29);
|
|
46314
|
+
i0.ɵɵtext(6);
|
|
46271
46315
|
i0.ɵɵelementEnd()();
|
|
46272
46316
|
}
|
|
46273
46317
|
if (rf & 2) {
|
|
@@ -46276,14 +46320,18 @@ function PropertyGridComponent_ng_template_10_Template(rf, ctx) {
|
|
|
46276
46320
|
const ctx_r9 = i0.ɵɵnextContext();
|
|
46277
46321
|
const _r12 = i0.ɵɵreference(15);
|
|
46278
46322
|
i0.ɵɵadvance(1);
|
|
46279
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(
|
|
46323
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(8, _c4$2, item_r35, i_r36));
|
|
46280
46324
|
i0.ɵɵadvance(1);
|
|
46281
46325
|
i0.ɵɵproperty("ngIf", item_r35.prefixString);
|
|
46282
46326
|
i0.ɵɵadvance(1);
|
|
46283
46327
|
i0.ɵɵproperty("routerLink", item_r35.link);
|
|
46284
|
-
i0.ɵɵattribute("aria-
|
|
46328
|
+
i0.ɵɵattribute("aria-describedby", ctx_r9.idBag.detailsSpan + i_r36);
|
|
46285
46329
|
i0.ɵɵadvance(1);
|
|
46286
46330
|
i0.ɵɵtextInterpolate(item_r35.value);
|
|
46331
|
+
i0.ɵɵadvance(1);
|
|
46332
|
+
i0.ɵɵproperty("id", ctx_r9.idBag.detailsSpan + i_r36);
|
|
46333
|
+
i0.ɵɵadvance(1);
|
|
46334
|
+
i0.ɵɵtextInterpolate(ctx_r9.getInternalLinkDescription(item_r35));
|
|
46287
46335
|
}
|
|
46288
46336
|
}
|
|
46289
46337
|
function PropertyGridComponent_ng_template_12_ng_container_1_Template(rf, ctx) {
|
|
@@ -46308,8 +46356,11 @@ function PropertyGridComponent_ng_template_12_Template(rf, ctx) {
|
|
|
46308
46356
|
i0.ɵɵelementStart(0, "p");
|
|
46309
46357
|
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_12_ng_container_1_Template, 1, 0, "ng-container", 19);
|
|
46310
46358
|
i0.ɵɵtemplate(2, PropertyGridComponent_ng_template_12_span_2_Template, 2, 1, "span", 25);
|
|
46311
|
-
i0.ɵɵelementStart(3, "a",
|
|
46359
|
+
i0.ɵɵelementStart(3, "a", 30);
|
|
46312
46360
|
i0.ɵɵtext(4);
|
|
46361
|
+
i0.ɵɵelementEnd();
|
|
46362
|
+
i0.ɵɵelementStart(5, "span", 29);
|
|
46363
|
+
i0.ɵɵtext(6);
|
|
46313
46364
|
i0.ɵɵelementEnd()();
|
|
46314
46365
|
}
|
|
46315
46366
|
if (rf & 2) {
|
|
@@ -46318,14 +46369,18 @@ function PropertyGridComponent_ng_template_12_Template(rf, ctx) {
|
|
|
46318
46369
|
const ctx_r11 = i0.ɵɵnextContext();
|
|
46319
46370
|
const _r12 = i0.ɵɵreference(15);
|
|
46320
46371
|
i0.ɵɵadvance(1);
|
|
46321
|
-
i0.ɵɵproperty("ngTemplateOutlet", _r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(
|
|
46372
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(8, _c4$2, item_r40, i_r41));
|
|
46322
46373
|
i0.ɵɵadvance(1);
|
|
46323
46374
|
i0.ɵɵproperty("ngIf", item_r40.prefixString);
|
|
46324
46375
|
i0.ɵɵadvance(1);
|
|
46325
46376
|
i0.ɵɵproperty("href", item_r40.link, i0.ɵɵsanitizeUrl);
|
|
46326
|
-
i0.ɵɵattribute("aria-
|
|
46377
|
+
i0.ɵɵattribute("aria-describedby", ctx_r11.idBag.detailsSpan + i_r41);
|
|
46327
46378
|
i0.ɵɵadvance(1);
|
|
46328
46379
|
i0.ɵɵtextInterpolate(item_r40.value);
|
|
46380
|
+
i0.ɵɵadvance(1);
|
|
46381
|
+
i0.ɵɵproperty("id", ctx_r11.idBag.detailsSpan + i_r41);
|
|
46382
|
+
i0.ɵɵadvance(1);
|
|
46383
|
+
i0.ɵɵtextInterpolate(ctx_r11.getExternalLinkDescription(item_r40));
|
|
46329
46384
|
}
|
|
46330
46385
|
}
|
|
46331
46386
|
function PropertyGridComponent_ng_template_14_span_0_Template(rf, ctx) {
|
|
@@ -46339,7 +46394,7 @@ function PropertyGridComponent_ng_template_14_span_0_Template(rf, ctx) {
|
|
|
46339
46394
|
}
|
|
46340
46395
|
function PropertyGridComponent_ng_template_14_sme_status_icon_1_Template(rf, ctx) {
|
|
46341
46396
|
if (rf & 1) {
|
|
46342
|
-
i0.ɵɵelement(0, "sme-status-icon",
|
|
46397
|
+
i0.ɵɵelement(0, "sme-status-icon", 33);
|
|
46343
46398
|
}
|
|
46344
46399
|
if (rf & 2) {
|
|
46345
46400
|
const item_r45 = i0.ɵɵnextContext().$implicit;
|
|
@@ -46348,8 +46403,8 @@ function PropertyGridComponent_ng_template_14_sme_status_icon_1_Template(rf, ctx
|
|
|
46348
46403
|
}
|
|
46349
46404
|
function PropertyGridComponent_ng_template_14_Template(rf, ctx) {
|
|
46350
46405
|
if (rf & 1) {
|
|
46351
|
-
i0.ɵɵtemplate(0, PropertyGridComponent_ng_template_14_span_0_Template, 1, 3, "span",
|
|
46352
|
-
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_14_sme_status_icon_1_Template, 1, 1, "sme-status-icon",
|
|
46406
|
+
i0.ɵɵtemplate(0, PropertyGridComponent_ng_template_14_span_0_Template, 1, 3, "span", 31);
|
|
46407
|
+
i0.ɵɵtemplate(1, PropertyGridComponent_ng_template_14_sme_status_icon_1_Template, 1, 1, "sme-status-icon", 32);
|
|
46353
46408
|
}
|
|
46354
46409
|
if (rf & 2) {
|
|
46355
46410
|
const item_r45 = ctx.$implicit;
|
|
@@ -46487,6 +46542,12 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
46487
46542
|
item.loading = false;
|
|
46488
46543
|
}
|
|
46489
46544
|
}
|
|
46545
|
+
getInternalLinkDescription(item) {
|
|
46546
|
+
return this.strings.MsftSmeShell.Angular.PropertyGrid.InternalLink.label.format(item.link);
|
|
46547
|
+
}
|
|
46548
|
+
getExternalLinkDescription(item) {
|
|
46549
|
+
return this.strings.MsftSmeShell.Angular.PropertyGrid.ExternalLink.label.format(item.link);
|
|
46550
|
+
}
|
|
46490
46551
|
/**
|
|
46491
46552
|
* Creates the idBag used by this component to store unique element ids.
|
|
46492
46553
|
* id values will be assigned be the @see BaseComponent super class.
|
|
@@ -46534,7 +46595,7 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
46534
46595
|
}
|
|
46535
46596
|
}, inputs: { orientation: "orientation" }, outputs: { layoutChanged: "layoutChanged", windowBreakpointChanged: "windowBreakpointChanged" }, features: [i0.ɵɵProvidersFeature([
|
|
46536
46597
|
{ provide: SME_LAYOUT_PROVIDER, useExisting: forwardRef((() => PropertyGridComponent)) }
|
|
46537
|
-
]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 16, vars: 7, consts: [[1, "sme-position-inset-none", "sme-position-stretch-h", 3, "padLastItem", "oneColumn"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "medium", 3, "until", "columns", 4, "ngIf"], ["name", "wide", 3, "columns", 4, "ngIf"], [3, "columnSpan", "maxWidth", 4, "ngFor", "ngForOf"], ["readonlyTemplate", ""], ["actionLinkTemplate", ""], ["internalLinkTemplate", ""], ["externalLinkTemplate", ""], ["iconTemplate", ""], ["name", "medium", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan", "maxWidth"], ["tabindex", "0", "aria-live", "polite", "aria-atomic", "true", "smeTooltipZone", "", 1, "sme-property-grid-item"], ["zone", "smeTooltipZone"], [1, "sme-arrange-stack-h"], ["class", "sme-position-flex-none sme-icon sme-icon-info sme-info-bubble sme-margin-left-xs", "aria-hidden", "true", "tabindex", "0", 3, "title", "tooltipZone", 4, "ngIf"], [1, "sme-screen-reader"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["aria-hidden", "true", "tabindex", "0", 1, "sme-position-flex-none", "sme-icon", "sme-icon-info", "sme-info-bubble", "sme-margin-left-xs", 3, "title", "tooltipZone"], ["size", "extra-small", 3, "inline", "isBackgroundTransparent", 4, "ngIf"], [4, "ngIf"], ["size", "extra-small", 3, "inline", "isBackgroundTransparent"], [1, "sme-read-only-template"], ["class", "sme-padding-right-xs", 4, "ngIf"], ["tabindex", "0", "role", "link", 1, "sme-link", "sme-focus-zone", "sme-action-link-template", 3, "click"], [1, "sme-padding-right-xs"], ["role", "link", 1, "sme-link", "sme-focus-zone", 3, "routerLink"], ["role", "link", "target", "_blank", 1, "sme-link", "sme-focus-zone", "sme-icon", "sme-icon-after", "sme-icon-openInNewWindow", 3, "href"], [3, "class", 4, "ngIf"], ["class", "sme-layout-inline-block sme-margin-right-xs ", "size", "16px", 3, "status", 4, "ngIf"], ["size", "16px", 1, "sme-layout-inline-block", "sme-margin-right-xs", 3, "status"]], template: function PropertyGridComponent_Template(rf, ctx) {
|
|
46598
|
+
]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 16, vars: 7, consts: [[1, "sme-position-inset-none", "sme-position-stretch-h", 3, "padLastItem", "oneColumn"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "medium", 3, "until", "columns", 4, "ngIf"], ["name", "wide", 3, "columns", 4, "ngIf"], [3, "columnSpan", "maxWidth", 4, "ngFor", "ngForOf"], ["readonlyTemplate", ""], ["actionLinkTemplate", ""], ["internalLinkTemplate", ""], ["externalLinkTemplate", ""], ["iconTemplate", ""], ["name", "medium", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan", "maxWidth"], ["tabindex", "0", "aria-live", "polite", "aria-atomic", "true", "smeTooltipZone", "", 1, "sme-property-grid-item"], ["zone", "smeTooltipZone"], [1, "sme-arrange-stack-h"], ["class", "sme-position-flex-none sme-icon sme-icon-info sme-info-bubble sme-margin-left-xs", "aria-hidden", "true", "tabindex", "0", 3, "title", "tooltipZone", 4, "ngIf"], [1, "sme-screen-reader"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["aria-hidden", "true", "tabindex", "0", 1, "sme-position-flex-none", "sme-icon", "sme-icon-info", "sme-info-bubble", "sme-margin-left-xs", 3, "title", "tooltipZone"], ["size", "extra-small", 3, "inline", "isBackgroundTransparent", 4, "ngIf"], [4, "ngIf"], ["size", "extra-small", 3, "inline", "isBackgroundTransparent"], [1, "sme-read-only-template"], ["class", "sme-padding-right-xs", 4, "ngIf"], ["tabindex", "0", "role", "link", 1, "sme-link", "sme-focus-zone", "sme-action-link-template", 3, "click"], [1, "sme-padding-right-xs"], ["role", "link", 1, "sme-link", "sme-focus-zone", 3, "routerLink"], [1, "sme-screen-reader", 3, "id"], ["role", "link", "target", "_blank", 1, "sme-link", "sme-focus-zone", "sme-icon", "sme-icon-after", "sme-icon-openInNewWindow", 3, "href"], [3, "class", 4, "ngIf"], ["class", "sme-layout-inline-block sme-margin-right-xs ", "size", "16px", 3, "status", 4, "ngIf"], ["size", "16px", 1, "sme-layout-inline-block", "sme-margin-right-xs", 3, "status"]], template: function PropertyGridComponent_Template(rf, ctx) {
|
|
46538
46599
|
if (rf & 1) {
|
|
46539
46600
|
i0.ɵɵelementStart(0, "sme-layout", 0, 1);
|
|
46540
46601
|
i0.ɵɵelement(2, "sme-layout-definition", 2);
|
|
@@ -46544,8 +46605,8 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
46544
46605
|
i0.ɵɵelementEnd();
|
|
46545
46606
|
i0.ɵɵtemplate(6, PropertyGridComponent_ng_template_6_Template, 2, 2, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
46546
46607
|
i0.ɵɵtemplate(8, PropertyGridComponent_ng_template_8_Template, 5, 9, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
46547
|
-
i0.ɵɵtemplate(10, PropertyGridComponent_ng_template_10_Template,
|
|
46548
|
-
i0.ɵɵtemplate(12, PropertyGridComponent_ng_template_12_Template,
|
|
46608
|
+
i0.ɵɵtemplate(10, PropertyGridComponent_ng_template_10_Template, 7, 11, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
46609
|
+
i0.ɵɵtemplate(12, PropertyGridComponent_ng_template_12_Template, 7, 11, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
46549
46610
|
i0.ɵɵtemplate(14, PropertyGridComponent_ng_template_14_Template, 2, 2, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
|
|
46550
46611
|
}
|
|
46551
46612
|
if (rf & 2) {
|
|
@@ -46565,7 +46626,7 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
46565
46626
|
type: Component,
|
|
46566
46627
|
args: [{ selector: 'sme-property-grid', providers: [
|
|
46567
46628
|
{ provide: SME_LAYOUT_PROVIDER, useExisting: forwardRef((() => PropertyGridComponent)) }
|
|
46568
|
-
], template: "<sme-layout #layout [padLastItem]=\"true\" class=\"sme-position-inset-none sme-position-stretch-h\" [oneColumn]=\"orientation === 'vertical'\">\r\n <sme-layout-definition name=\"narrow\" [until]=\"layoutItemWidth\" [columns]=\"1\"></sme-layout-definition>\r\n <sme-layout-definition *ngIf=\"orientation !== 'vertical'\" name=\"medium\" [until]=\"layoutItemWidth*2\" [columns]=\"2\"></sme-layout-definition>\r\n <sme-layout-definition *ngIf=\"orientation !== 'vertical'\" name=\"wide\" [columns]=\"3\"></sme-layout-definition>\r\n <sme-layout-item *ngFor=\"let item of items; index as i\" [columnSpan]=\"item.columnSpan\"\r\n [maxWidth]=\"orientation === 'vertical' ? null : item.columnSpan * layoutItemWidth\">\r\n <div class=\"sme-property-grid-item\" tabindex=\"0\" aria-live=\"polite\" aria-atomic=\"true\" #zone=\"smeTooltipZone\" smeTooltipZone>\r\n <label class=\"sme-arrange-stack-h\">\r\n <span>{{ item.label }}</span>\r\n <span *ngIf=\"item.tooltip\" class=\"sme-position-flex-none sme-icon sme-icon-info sme-info-bubble sme-margin-left-xs\"\r\n [title]=\"item.tooltip\" [tooltipZone]=\"zone\" aria-hidden=\"true\" tabindex=\"0\"></span>\r\n <!-- in scan mode screen reader does not focus on the info icon properly to read the title -->\r\n <span class=\"sme-screen-reader\">{{ item.tooltip }}</span>\r\n </label>\r\n <ng-container *ngTemplateOutlet=\"getTemplate(item);context:{$implicit:item, index: i}\"></ng-container>\r\n </div>\r\n </sme-layout-item>\r\n</sme-layout>\r\n\r\n<!-- Read only -->\r\n<ng-template #readonlyTemplate let-item let-i=\"index\">\r\n <sme-loading-wheel *ngIf=\"item.loading && item.isAsync\" size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\"></sme-loading-wheel>\r\n <ng-container *ngIf=\"!item.loading || !item.isAsync\">\r\n <p class=\"sme-read-only-template\" [attr.aria-labelledby]=\"idBag.labelSpan + i\" [attr.aria-describedby]=\"idBag.detailsSpan + i\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"!item.link && !item.action\">{{ stringifyValue(item.value) }}</span>\r\n </p>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!-- Action link (role button) -->\r\n<ng-template #actionLinkTemplate let-item let-i=\"index\">\r\n <p>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"item.prefixString\" class=\"sme-padding-right-xs\">{{ item.prefixString }}</span>\r\n <a tabindex=\"0\" class=\"sme-link sme-focus-zone sme-action-link-template\" role=\"link\" (click)=\"item.action(item)\"\r\n [attr.aria-labelledby]=\"(idBag.labelSpan + i) + ' ' + (idBag.valueSpan + i)\"\r\n [attr.aria-describedby]=\"idBag.detailsSpan + i\">{{ item.value }}</a>\r\n </p>\r\n</ng-template>\r\n\r\n<!-- Internal link -->\r\n<ng-template #internalLinkTemplate let-item let-i=\"index\">\r\n <p>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"item.prefixString\" class=\"sme-padding-right-xs\">{{ item.prefixString }}</span>\r\n <a class=\"sme-link sme-focus-zone\" role=\"link\" [routerLink]=\"item.link\"
|
|
46629
|
+
], template: "<sme-layout #layout [padLastItem]=\"true\" class=\"sme-position-inset-none sme-position-stretch-h\" [oneColumn]=\"orientation === 'vertical'\">\r\n <sme-layout-definition name=\"narrow\" [until]=\"layoutItemWidth\" [columns]=\"1\"></sme-layout-definition>\r\n <sme-layout-definition *ngIf=\"orientation !== 'vertical'\" name=\"medium\" [until]=\"layoutItemWidth*2\" [columns]=\"2\"></sme-layout-definition>\r\n <sme-layout-definition *ngIf=\"orientation !== 'vertical'\" name=\"wide\" [columns]=\"3\"></sme-layout-definition>\r\n <sme-layout-item *ngFor=\"let item of items; index as i\" [columnSpan]=\"item.columnSpan\"\r\n [maxWidth]=\"orientation === 'vertical' ? null : item.columnSpan * layoutItemWidth\">\r\n <div class=\"sme-property-grid-item\" tabindex=\"0\" aria-live=\"polite\" aria-atomic=\"true\" #zone=\"smeTooltipZone\" smeTooltipZone>\r\n <label class=\"sme-arrange-stack-h\">\r\n <span>{{ item.label }}</span>\r\n <span *ngIf=\"item.tooltip\" class=\"sme-position-flex-none sme-icon sme-icon-info sme-info-bubble sme-margin-left-xs\"\r\n [title]=\"item.tooltip\" [tooltipZone]=\"zone\" aria-hidden=\"true\" tabindex=\"0\"></span>\r\n <!-- in scan mode screen reader does not focus on the info icon properly to read the title -->\r\n <span class=\"sme-screen-reader\">{{ item.tooltip }}</span>\r\n </label>\r\n <ng-container *ngTemplateOutlet=\"getTemplate(item);context:{$implicit:item, index: i}\"></ng-container>\r\n </div>\r\n </sme-layout-item>\r\n</sme-layout>\r\n\r\n<!-- Read only -->\r\n<ng-template #readonlyTemplate let-item let-i=\"index\">\r\n <sme-loading-wheel *ngIf=\"item.loading && item.isAsync\" size=\"extra-small\" [inline]=\"true\" [isBackgroundTransparent]=\"true\"></sme-loading-wheel>\r\n <ng-container *ngIf=\"!item.loading || !item.isAsync\">\r\n <p class=\"sme-read-only-template\" [attr.aria-labelledby]=\"idBag.labelSpan + i\" [attr.aria-describedby]=\"idBag.detailsSpan + i\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"!item.link && !item.action\">{{ stringifyValue(item.value) }}</span>\r\n </p>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!-- Action link (role button) -->\r\n<ng-template #actionLinkTemplate let-item let-i=\"index\">\r\n <p>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"item.prefixString\" class=\"sme-padding-right-xs\">{{ item.prefixString }}</span>\r\n <a tabindex=\"0\" class=\"sme-link sme-focus-zone sme-action-link-template\" role=\"link\" (click)=\"item.action(item)\"\r\n [attr.aria-labelledby]=\"(idBag.labelSpan + i) + ' ' + (idBag.valueSpan + i)\"\r\n [attr.aria-describedby]=\"idBag.detailsSpan + i\">{{ item.value }}</a>\r\n </p>\r\n</ng-template>\r\n\r\n<!-- Internal link -->\r\n<ng-template #internalLinkTemplate let-item let-i=\"index\">\r\n <p>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"item.prefixString\" class=\"sme-padding-right-xs\">{{ item.prefixString }}</span>\r\n <a class=\"sme-link sme-focus-zone\" role=\"link\" [routerLink]=\"item.link\"\r\n [attr.aria-describedby]=\"idBag.detailsSpan + i\">{{ item.value }}</a>\r\n <span class=\"sme-screen-reader\" [id]=\"idBag.detailsSpan + i\">{{ getInternalLinkDescription(item) }}</span>\r\n </p>\r\n</ng-template>\r\n\r\n<!-- External link -->\r\n<ng-template #externalLinkTemplate let-item let-i=\"index\">\r\n <p>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate;context:{$implicit:item, index: i}\"></ng-container>\r\n <span *ngIf=\"item.prefixString\" class=\"sme-padding-right-xs\">{{ item.prefixString }}</span>\r\n <a class=\"sme-link sme-focus-zone sme-icon sme-icon-after sme-icon-openInNewWindow\" role=\"link\" [href]=\"item.link\" target=\"_blank\"\r\n [attr.aria-describedby]=\"idBag.detailsSpan + i\">{{ item.value }}</a>\r\n <span class=\"sme-screen-reader\" [id]=\"idBag.detailsSpan + i\">{{ getExternalLinkDescription(item) }}</span>\r\n </p>\r\n</ng-template>\r\n\r\n<!-- Icon Template -->\r\n<ng-template #iconTemplate let-item let-i=\"index\">\r\n <span *ngIf=\"!!item.iconClass\" class=\"sme-margin-right-xs sme-icon {{item.iconClass}}\"></span>\r\n <sme-status-icon *ngIf=\"item.status !== undefined && item.status !== null && !item.iconClass\" class=\"sme-layout-inline-block sme-margin-right-xs \"\r\n [status]=\"item.status\" size=\"16px\"></sme-status-icon>\r\n</ng-template>\r\n" }]
|
|
46569
46630
|
}], function () {
|
|
46570
46631
|
return [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
46571
46632
|
type: SkipSelf
|
|
@@ -50824,9 +50885,8 @@ class SettingsFormService {
|
|
|
50824
50885
|
return fallBackRoute;
|
|
50825
50886
|
}
|
|
50826
50887
|
ngOnDestroy() {
|
|
50827
|
-
|
|
50828
|
-
|
|
50829
|
-
}
|
|
50888
|
+
var _a;
|
|
50889
|
+
(_a = this.routerSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
50830
50890
|
}
|
|
50831
50891
|
}
|
|
50832
50892
|
/** @nocollapse */ SettingsFormService.ɵfac = function SettingsFormService_Factory(t) { return new (t || SettingsFormService)(i0.ɵɵinject(i1.Router)); };
|
|
@@ -51521,9 +51581,9 @@ function CommonSettingsComponent_header_2_Template(rf, ctx) {
|
|
|
51521
51581
|
i0.ɵɵtextInterpolate(ctx_r0.settingsTitle);
|
|
51522
51582
|
}
|
|
51523
51583
|
}
|
|
51524
|
-
function
|
|
51584
|
+
function CommonSettingsComponent_li_10_div_1_Template(rf, ctx) {
|
|
51525
51585
|
if (rf & 1) {
|
|
51526
|
-
i0.ɵɵelementStart(0, "
|
|
51586
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
51527
51587
|
i0.ɵɵtext(1);
|
|
51528
51588
|
i0.ɵɵelementEnd();
|
|
51529
51589
|
}
|
|
@@ -51603,7 +51663,7 @@ function CommonSettingsComponent_li_10_a_2_Template(rf, ctx) {
|
|
|
51603
51663
|
function CommonSettingsComponent_li_10_Template(rf, ctx) {
|
|
51604
51664
|
if (rf & 1) {
|
|
51605
51665
|
i0.ɵɵelementStart(0, "li", 14);
|
|
51606
|
-
i0.ɵɵtemplate(1,
|
|
51666
|
+
i0.ɵɵtemplate(1, CommonSettingsComponent_li_10_div_1_Template, 2, 3, "div", 15);
|
|
51607
51667
|
i0.ɵɵtemplate(2, CommonSettingsComponent_li_10_a_2_Template, 8, 21, "a", 16);
|
|
51608
51668
|
i0.ɵɵelementEnd();
|
|
51609
51669
|
}
|
|
@@ -52075,7 +52135,7 @@ __decorate([
|
|
|
52075
52135
|
(function () {
|
|
52076
52136
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonSettingsComponent, [{
|
|
52077
52137
|
type: Component,
|
|
52078
|
-
args: [{ selector: 'sme-common-settings', template: "<sme-settings [settingsTitle]=\"hackToolHeader ? '' : settingsTitle\" [class.sme-settings-external-header]=\"externalHeader\">\r\n <sme-settings-navigation class=\"sme-position-stretch-v-phone-up sme-position-stretch-h\" style=\"min-width: 160px\">\r\n <header class=\"sme-layout-tool-header\" *ngIf=\"hackToolHeader\">\r\n <h2 class=\"sme-position-flex-none sme-font-h3\" [attr.aria-label]=\"settingsTitle\">{{settingsTitle}}</h2>\r\n </header>\r\n <div role=\"region\" [attr.aria-label]=\"settingsTitle\" class=\"sme-position-stretch sme-arrange-stack-v\">\r\n <div class=\"sme-position-flex-none sme-focus-zone\">\r\n <form class=\"sme-margin-squish-v-sm\">\r\n <sme-form-field #searchTextBox type=\"search\" name=\"toolsListSearch\" [(ngModel)]=\"filter\" [placeholder]=\"searchBoxPlaceholder\"\r\n [autofocus]=\"true\" [count]=\"filteredSettings ? filteredSettings.length : 0\"\r\n (search)=\"onSearch()\"></sme-form-field>\r\n </form>\r\n </div>\r\n <nav role=\"tablist\" class=\"sme-arrange-stack-v sme-focus-zone\"\r\n [ngClass]=\"scrollableSecondaryNav ? 'sme-position-flex-auto sme-arrange-overflow-auto-y' : ''\">\r\n <ul class=\"sme-position-flex-auto sme-arrange-stack-v sme-arrange-overflow-hide-x sme-arrange-overflow-auto-y\"\r\n role=\"presentation\">\r\n <li *ngFor=\"let group of groupTools; let j = index\" class=\"sme-margin-inset-none\" role=\"presentation\">\r\n <
|
|
52138
|
+
args: [{ selector: 'sme-common-settings', template: "<sme-settings [settingsTitle]=\"hackToolHeader ? '' : settingsTitle\" [class.sme-settings-external-header]=\"externalHeader\">\r\n <sme-settings-navigation class=\"sme-position-stretch-v-phone-up sme-position-stretch-h\" style=\"min-width: 160px\">\r\n <header class=\"sme-layout-tool-header\" *ngIf=\"hackToolHeader\">\r\n <h2 class=\"sme-position-flex-none sme-font-h3\" [attr.aria-label]=\"settingsTitle\">{{settingsTitle}}</h2>\r\n </header>\r\n <div role=\"region\" [attr.aria-label]=\"settingsTitle\" class=\"sme-position-stretch sme-arrange-stack-v\">\r\n <div class=\"sme-position-flex-none sme-focus-zone\">\r\n <form class=\"sme-margin-squish-v-sm\">\r\n <sme-form-field #searchTextBox type=\"search\" name=\"toolsListSearch\" [(ngModel)]=\"filter\" [placeholder]=\"searchBoxPlaceholder\"\r\n [autofocus]=\"true\" [count]=\"filteredSettings ? filteredSettings.length : 0\"\r\n (search)=\"onSearch()\"></sme-form-field>\r\n </form>\r\n </div>\r\n <nav role=\"tablist\" class=\"sme-arrange-stack-v sme-focus-zone\"\r\n [ngClass]=\"scrollableSecondaryNav ? 'sme-position-flex-auto sme-arrange-overflow-auto-y' : ''\">\r\n <ul class=\"sme-position-flex-auto sme-arrange-stack-v sme-arrange-overflow-hide-x sme-arrange-overflow-auto-y\"\r\n role=\"presentation\">\r\n <li *ngFor=\"let group of groupTools; let j = index\" class=\"sme-margin-inset-none\" role=\"presentation\">\r\n <div [id]=\"idBag.group + '-' + j\" class=\"sme-font-h4 sme-font-h4-settings\" *ngIf=\"group.group!==defaultGroup\"\r\n [title]=\"group.group\">{{ group.group }}</div>\r\n <a *ngFor=\"let setting of group.options; let i = index\"\r\n class=\"sme-padding-squish-v-sm sme-arrange-stack-h sme-arrange-stack-centered-v sme-scheme-nav-item\" role=\"tab\"\r\n href=\"setting.routeParams.extras && setting.routeParams.extras.replaceUrl\"\r\n [attr.aria-selected]=\"selectedSetting === setting\"\r\n [routerLink]=\"setting.routeParams.commands\" routerLinkActive=\"sme-active\"\r\n (smeRouterLinkActivated)=\"onSmeRouterLinkActivated(setting)\"\r\n [preserveFragment]=\"setting.routeParams.extras && setting.routeParams.extras.preserveFragment\"\r\n [skipLocationChange]=\"setting.routeParams.extras && setting.routeParams.extras.skipLocationChange\"\r\n [replaceUrl]=\"setting.routeParams.extras && setting.routeParams.extras.replaceUrl\"\r\n [queryParams]=\"setting.routeParams.extras && setting.routeParams.extras.queryParams\"\r\n [title]=\"setting.label\" attr.aria-labelledby=\"{{idBag.option}}-{{j}}-{{i}} {{idBag.group}}-{{j}}\">\r\n <div class=\"sme-margin-right-xs sme-layout-flex sme-position-flex-align-center\">\r\n <div *ngIf=\"setting.smeIconClassName\" class=\"sme-icon\" [ngClass]=\"getSmeIconClass(setting)\"></div>\r\n <div *ngIf=\"setting.urlIcon\" class=\"sme-url-icon\" [style.background-image]=\"setting.urlIcon\"></div>\r\n <div *ngIf=\"!setting.urlIcon && !setting.smeIconClassName\" class=\"sme-url-icon\" [style.background-image]=\"defaultIcon\"></div>\r\n </div>\r\n <div class=\"sme-position-flex-auto\">\r\n <span [id]=\"idBag.option + '-' + j + '-' + i\" [class.sme-dirty]=\"!!(setting.form && setting.form.dirty)\"\r\n [class.sme-pristine]=\"!(setting.form && setting.form.dirty)\" class=\"sme-font-label sme-layout-flex sme-position-flex-align-center\">{{ setting.label }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div *ngIf=\"hackShowOverlay\">\r\n <div *ngFor=\"let layer of layers\"\r\n class=\"sme-layout-absolute sme-position-inset-none sme-layer-above sme-scheme-backdrop-opaque\"\r\n (click)=\"onOverlayClick(layer)\"></div>\r\n </div>\r\n </sme-settings-navigation>\r\n <sme-settings-header *ngIf=\"!!showHeader\">\r\n <h3 id=\"sme-shell-setting-selectedTitle\" [attr.aria-label]=\"selectedSetting.label\" *ngIf=\"!!selectedSetting\">\r\n {{ selectedSetting.label }}</h3>\r\n </sme-settings-header>\r\n <sme-settings-content>\r\n <router-outlet></router-outlet>\r\n </sme-settings-content>\r\n <sme-settings-footer>\r\n <ng-content></ng-content>\r\n </sme-settings-footer>\r\n</sme-settings>\r\n" }]
|
|
52079
52139
|
}], function () {
|
|
52080
52140
|
return [{ type: i0.Injector }, { type: i1.Router }, { type: SettingsFormService }, { type: i0.IterableDiffers }, { type: AppContextService }, { type: RpcShellService }, { type: undefined, decorators: [{
|
|
52081
52141
|
type: Optional
|
|
@@ -52230,10 +52290,9 @@ class SettingsFormDirective {
|
|
|
52230
52290
|
this.oldForm = null;
|
|
52231
52291
|
}
|
|
52232
52292
|
ngOnChanges(changes) {
|
|
52293
|
+
var _a;
|
|
52233
52294
|
if (this.smeUpdateDataInComponent && this.smeSettingsForm) {
|
|
52234
|
-
|
|
52235
|
-
this.updateDataInComponentSubscription.unsubscribe();
|
|
52236
|
-
}
|
|
52295
|
+
(_a = this.updateDataInComponentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
52237
52296
|
this.updateDataInComponentSubscription = this.formsService.updateFormValue().subscribe((data) => {
|
|
52238
52297
|
this.smeSettingsFormValueUpdate.emit(data.formGroupNewData);
|
|
52239
52298
|
});
|
|
@@ -52246,9 +52305,8 @@ class SettingsFormDirective {
|
|
|
52246
52305
|
}
|
|
52247
52306
|
}
|
|
52248
52307
|
ngOnDestroy() {
|
|
52249
|
-
|
|
52250
|
-
|
|
52251
|
-
}
|
|
52308
|
+
var _a;
|
|
52309
|
+
(_a = this.updateDataInComponentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
52252
52310
|
}
|
|
52253
52311
|
}
|
|
52254
52312
|
/** @nocollapse */ SettingsFormDirective.ɵfac = function SettingsFormDirective_Factory(t) { return new (t || SettingsFormDirective)(i0.ɵɵdirectiveInject(SettingsFormService)); };
|
|
@@ -56000,9 +56058,8 @@ class UserAliveService extends RpcObservableAliveClient {
|
|
|
56000
56058
|
* Stop monitoring the user activity.
|
|
56001
56059
|
*/
|
|
56002
56060
|
stop() {
|
|
56003
|
-
|
|
56004
|
-
|
|
56005
|
-
}
|
|
56061
|
+
var _a;
|
|
56062
|
+
(_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
56006
56063
|
}
|
|
56007
56064
|
}
|
|
56008
56065
|
/** @nocollapse */ UserAliveService.ɵfac = function UserAliveService_Factory(t) { return new (t || UserAliveService)(i0.ɵɵinject(i1.Router), i0.ɵɵinject(RpcService)); };
|
|
@@ -56053,15 +56110,14 @@ class NavigationService {
|
|
|
56053
56110
|
* @param options The options to override the default behavior
|
|
56054
56111
|
*/
|
|
56055
56112
|
initialize(options) {
|
|
56113
|
+
var _a;
|
|
56056
56114
|
PerformanceTracker.navigationInitialized();
|
|
56057
56115
|
this.active = true;
|
|
56058
56116
|
this.options = options ? options : { idleRoute: ['idle'] };
|
|
56059
56117
|
this.idleUrl = `/${this.options.idleRoute[0]}`;
|
|
56060
56118
|
// navigate to idle.
|
|
56061
56119
|
this.router.navigate(this.options.idleRoute, this.defaultNavigationOptions);
|
|
56062
|
-
|
|
56063
|
-
this.subscription.unsubscribe();
|
|
56064
|
-
}
|
|
56120
|
+
(_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
56065
56121
|
let startTimestamp = null;
|
|
56066
56122
|
this.subscription = this.router.events
|
|
56067
56123
|
.pipe(tap(event => {
|
|
@@ -56099,11 +56155,9 @@ class NavigationService {
|
|
|
56099
56155
|
* Shutdown the navigation communication from/to the shell.
|
|
56100
56156
|
*/
|
|
56101
56157
|
shutdown() {
|
|
56158
|
+
var _a;
|
|
56102
56159
|
this.active = false;
|
|
56103
|
-
|
|
56104
|
-
this.subscription.unsubscribe();
|
|
56105
|
-
this.subscription = null;
|
|
56106
|
-
}
|
|
56160
|
+
(_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
56107
56161
|
}
|
|
56108
56162
|
/**
|
|
56109
56163
|
* Map dialog service and dialog id so that correct dialog service instance can be found
|