UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

59 lines 9.02 kB
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=