@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
59 lines • 9.02 kB
JavaScript
import { Injectable } from '@angular/core';
import { FormFieldAccessibilityManagerBaseService } from '../form-field-accessibility-manager-base.service';
import * as i0 from "@angular/core";
import * as i1 from "../form-field-accessibility-manager-base.service";
export class ArrayFormFieldAccessibilityManagerService {
constructor(formFieldAccessibilityManagerBaseService) {
this.formFieldAccessibilityManagerBaseService = formFieldAccessibilityManagerBaseService;
this.firstFormFieldInArrayItemSelector = 'sme-accordion sme-accordion-panel:last-of-type input';
}
/**
* It handles the focus when deleting an item from the list.
* @param value the value for the list.
* @param addButton the element reference for the add button.
* @param hostElement the element reference for the host element.
* @returns void
*/
delete(value, addButton, hostElement) {
this.formFieldAccessibilityManagerBaseService.listFormFieldFocusHandlerOnKeyboardActionBySelector(value, addButton, hostElement, this.firstFormFieldInArrayItemSelector);
}
/**
* It handles the focus when adding an item to the list.
* @param value the value for the list.
* @param addButton the element reference for the add button.
* @param hostElement the element reference for the host element.
* @returns void
*/
add(value, addButton, hostElement) {
this.formFieldAccessibilityManagerBaseService.listFormFieldFocusHandlerOnKeyboardActionBySelector(value, addButton, hostElement, this.firstFormFieldInArrayItemSelector);
}
/**
* It handles the focus when promoting an item in the list.
* @param hostElement The element reference for the host element.
* @param index the current index.
*/
promote(value, hostElement, index) {
this.formFieldAccessibilityManagerBaseService.deferredFocusOnTargetBySelector(value, hostElement,
// nth means index - 1 + 1 = index
`sme-accordion sme-accordion-panel:nth-of-type(${index}) button:nth-of-type(2)`);
}
/**
* It handles the focus when demoting an item in the list.
* @param hostElement The element reference for the host element.
* @param index the current index.
*/
demote(value, hostElement, index) {
this.formFieldAccessibilityManagerBaseService.deferredFocusOnTargetBySelector(value, hostElement,
// nth means index + 1 + 1 = index + 2
`sme-accordion sme-accordion-panel:nth-of-type(${index + 2}) button:nth-of-type(3)`);
}
}
/** @nocollapse */ ArrayFormFieldAccessibilityManagerService.ɵfac = function ArrayFormFieldAccessibilityManagerService_Factory(t) { return new (t || ArrayFormFieldAccessibilityManagerService)(i0.ɵɵinject(i1.FormFieldAccessibilityManagerBaseService)); };
/** @nocollapse */ ArrayFormFieldAccessibilityManagerService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: ArrayFormFieldAccessibilityManagerService, factory: ArrayFormFieldAccessibilityManagerService.ɵfac, providedIn: 'root' });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArrayFormFieldAccessibilityManagerService, [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], function () { return [{ type: i1.FormFieldAccessibilityManagerBaseService }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZm9ybS1maWVsZC1hY2Nlc3NpYmlsaXR5LW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2Zvcm0vZm9ybS1maWVsZC9hcnJheS9hcnJheS1mb3JtLWZpZWxkLWFjY2Vzc2liaWxpdHktbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7OztBQUs1RyxNQUFNLE9BQU8seUNBQXlDO0lBR2xELFlBQXNCLHdDQUFrRjtRQUFsRiw2Q0FBd0MsR0FBeEMsd0NBQXdDLENBQTBDO1FBRnZGLHNDQUFpQyxHQUFHLHNEQUFzRCxDQUFDO0lBRUQsQ0FBQztJQUU1Rzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBWSxFQUFFLFNBQXFCLEVBQUUsV0FBdUI7UUFDdEUsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLG1EQUFtRCxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzdLLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsS0FBWSxFQUFFLFNBQXFCLEVBQUUsV0FBdUI7UUFDbkUsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLG1EQUFtRCxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzdLLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLEtBQVksRUFBRSxXQUF1QixFQUFFLEtBQWE7UUFDL0QsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLCtCQUErQixDQUN6RSxLQUFLLEVBQ0wsV0FBVztRQUNYLGtDQUFrQztRQUNsQyxpREFBaUQsS0FBSyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQVksRUFBRSxXQUF1QixFQUFFLEtBQWE7UUFDOUQsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLCtCQUErQixDQUN6RSxLQUFLLEVBQ0wsV0FBVztRQUNYLHNDQUFzQztRQUN0QyxpREFBaUQsS0FBSyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3RixDQUFDOztxSkFuRFEseUNBQXlDOzhIQUF6Qyx5Q0FBeUMsV0FBekMseUNBQXlDLG1CQUZ4QyxNQUFNO3VGQUVQLHlDQUF5QztjQUhyRCxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZEFjY2Vzc2liaWxpdHlNYW5hZ2VyQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9mb3JtLWZpZWxkLWFjY2Vzc2liaWxpdHktbWFuYWdlci1iYXNlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJyYXlGb3JtRmllbGRBY2Nlc3NpYmlsaXR5TWFuYWdlclNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaXJzdEZvcm1GaWVsZEluQXJyYXlJdGVtU2VsZWN0b3IgPSAnc21lLWFjY29yZGlvbiBzbWUtYWNjb3JkaW9uLXBhbmVsOmxhc3Qtb2YtdHlwZSBpbnB1dCc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1GaWVsZEFjY2Vzc2liaWxpdHlNYW5hZ2VyQmFzZVNlcnZpY2U6IEZvcm1GaWVsZEFjY2Vzc2liaWxpdHlNYW5hZ2VyQmFzZVNlcnZpY2UpIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBoYW5kbGVzIHRoZSBmb2N1cyB3aGVuIGRlbGV0aW5nIGFuIGl0ZW0gZnJvbSB0aGUgbGlzdC5cclxuICAgICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgZm9yIHRoZSBsaXN0LlxyXG4gICAgICogQHBhcmFtIGFkZEJ1dHRvbiB0aGUgZWxlbWVudCByZWZlcmVuY2UgZm9yIHRoZSBhZGQgYnV0dG9uLlxyXG4gICAgICogQHBhcmFtIGhvc3RFbGVtZW50IHRoZSBlbGVtZW50IHJlZmVyZW5jZSBmb3IgdGhlIGhvc3QgZWxlbWVudC5cclxuICAgICAqIEByZXR1cm5zIHZvaWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlbGV0ZSh2YWx1ZTogYW55W10sIGFkZEJ1dHRvbjogRWxlbWVudFJlZiwgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZvcm1GaWVsZEFjY2Vzc2liaWxpdHlNYW5hZ2VyQmFzZVNlcnZpY2UubGlzdEZvcm1GaWVsZEZvY3VzSGFuZGxlck9uS2V5Ym9hcmRBY3Rpb25CeVNlbGVjdG9yKHZhbHVlLCBhZGRCdXR0b24sIGhvc3RFbGVtZW50LCB0aGlzLmZpcnN0Rm9ybUZpZWxkSW5BcnJheUl0ZW1TZWxlY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBoYW5kbGVzIHRoZSBmb2N1cyB3aGVuIGFkZGluZyBhbiBpdGVtIHRvIHRoZSBsaXN0LlxyXG4gICAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSBmb3IgdGhlIGxpc3QuXHJcbiAgICAgKiBAcGFyYW0gYWRkQnV0dG9uIHRoZSBlbGVtZW50IHJlZmVyZW5jZSBmb3IgdGhlIGFkZCBidXR0b24uXHJcbiAgICAgKiBAcGFyYW0gaG9zdEVsZW1lbnQgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZvciB0aGUgaG9zdCBlbGVtZW50LlxyXG4gICAgICogQHJldHVybnMgdm9pZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkKHZhbHVlOiBhbnlbXSwgYWRkQnV0dG9uOiBFbGVtZW50UmVmLCBob3N0RWxlbWVudDogRWxlbWVudFJlZik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9ybUZpZWxkQWNjZXNzaWJpbGl0eU1hbmFnZXJCYXNlU2VydmljZS5saXN0Rm9ybUZpZWxkRm9jdXNIYW5kbGVyT25LZXlib2FyZEFjdGlvbkJ5U2VsZWN0b3IodmFsdWUsIGFkZEJ1dHRvbiwgaG9zdEVsZW1lbnQsIHRoaXMuZmlyc3RGb3JtRmllbGRJbkFycmF5SXRlbVNlbGVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGhhbmRsZXMgdGhlIGZvY3VzIHdoZW4gcHJvbW90aW5nIGFuIGl0ZW0gaW4gdGhlIGxpc3QuXHJcbiAgICAgKiBAcGFyYW0gaG9zdEVsZW1lbnQgVGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZvciB0aGUgaG9zdCBlbGVtZW50LlxyXG4gICAgICogQHBhcmFtIGluZGV4IHRoZSBjdXJyZW50IGluZGV4LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcHJvbW90ZSh2YWx1ZTogYW55W10sIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtRmllbGRBY2Nlc3NpYmlsaXR5TWFuYWdlckJhc2VTZXJ2aWNlLmRlZmVycmVkRm9jdXNPblRhcmdldEJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICAgIHZhbHVlLFxyXG4gICAgICAgICAgICBob3N0RWxlbWVudCxcclxuICAgICAgICAgICAgLy8gbnRoIG1lYW5zIGluZGV4IC0gMSArIDEgPSBpbmRleFxyXG4gICAgICAgICAgICBgc21lLWFjY29yZGlvbiBzbWUtYWNjb3JkaW9uLXBhbmVsOm50aC1vZi10eXBlKCR7aW5kZXh9KSBidXR0b246bnRoLW9mLXR5cGUoMilgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGhhbmRsZXMgdGhlIGZvY3VzIHdoZW4gZGVtb3RpbmcgYW4gaXRlbSBpbiB0aGUgbGlzdC5cclxuICAgICAqIEBwYXJhbSBob3N0RWxlbWVudCBUaGUgZWxlbWVudCByZWZlcmVuY2UgZm9yIHRoZSBob3N0IGVsZW1lbnQuXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggdGhlIGN1cnJlbnQgaW5kZXguXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZW1vdGUodmFsdWU6IGFueVtdLCBob3N0RWxlbWVudDogRWxlbWVudFJlZiwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9ybUZpZWxkQWNjZXNzaWJpbGl0eU1hbmFnZXJCYXNlU2VydmljZS5kZWZlcnJlZEZvY3VzT25UYXJnZXRCeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgaG9zdEVsZW1lbnQsXHJcbiAgICAgICAgICAgIC8vIG50aCBtZWFucyBpbmRleCArIDEgKyAxID0gaW5kZXggKyAyXHJcbiAgICAgICAgICAgIGBzbWUtYWNjb3JkaW9uIHNtZS1hY2NvcmRpb24tcGFuZWw6bnRoLW9mLXR5cGUoJHtpbmRleCArIDJ9KSBidXR0b246bnRoLW9mLXR5cGUoMylgKTtcclxuICAgIH1cclxufVxyXG4iXX0=