@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
53 lines • 5.67 kB
JavaScript
/**
* © 2025 Visa
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**/
import { Injectable } from '@angular/core';
import { AppReadyService } from '../_utilities/services/app-stable-check.service';
import * as i0 from "@angular/core";
import * as i1 from "../_utilities/services/app-stable-check.service";
/**
* Service to toggle checkbox or radio programmatically.
*/
export class ToggleControlService {
constructor(appReadyService) {
this.appReadyService = appReadyService;
}
/**
* Toggles checkbox or radio programmatically.
* @param control Checkbox or Radio item to toggle.
* @param event Event to check if target is the control.
*/
toggleControl(control, event) {
// check that browser is available before manipulating/checking DOM elements
if (this.appReadyService.isBrowserAndDomAvailable() && control) {
if (control.el.nativeElement.contains(event.target)) {
return;
}
else {
control.el.nativeElement.click();
}
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToggleControlService, deps: [{ token: i1.AppReadyService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToggleControlService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToggleControlService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: i1.AppReadyService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbm92YS1saWIvc3JjL2xpYi90b2dnbGUtY29udHJvbC90b2dnbGUtY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7SUFlSTtBQUNKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7QUFJbEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxPQUEyQyxFQUFFLEtBQVk7UUFDckUsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQy9ELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxPQUFPO1lBQ1QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FqQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIMKpIDIwMjUgVmlzYVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICoqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwUmVhZHlTZXJ2aWNlIH0gZnJvbSAnLi4vX3V0aWxpdGllcy9zZXJ2aWNlcy9hcHAtc3RhYmxlLWNoZWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tib3hEaXJlY3RpdmUgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmFkaW9EaXJlY3RpdmUgfSBmcm9tICcuLi9yYWRpby9yYWRpby5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gdG9nZ2xlIGNoZWNrYm94IG9yIHJhZGlvIHByb2dyYW1tYXRpY2FsbHkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZUNvbnRyb2xTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBSZWFkeVNlcnZpY2U6IEFwcFJlYWR5U2VydmljZSkge31cblxuICAvKipcbiAgICogVG9nZ2xlcyBjaGVja2JveCBvciByYWRpbyBwcm9ncmFtbWF0aWNhbGx5LlxuICAgKiBAcGFyYW0gY29udHJvbCBDaGVja2JveCBvciBSYWRpbyBpdGVtIHRvIHRvZ2dsZS5cbiAgICogQHBhcmFtIGV2ZW50IEV2ZW50IHRvIGNoZWNrIGlmIHRhcmdldCBpcyB0aGUgY29udHJvbC5cbiAgICovXG4gIHRvZ2dsZUNvbnRyb2woY29udHJvbDogUmFkaW9EaXJlY3RpdmUgfCBDaGVja2JveERpcmVjdGl2ZSwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgLy8gY2hlY2sgdGhhdCBicm93c2VyIGlzIGF2YWlsYWJsZSBiZWZvcmUgbWFuaXB1bGF0aW5nL2NoZWNraW5nIERPTSBlbGVtZW50c1xuICAgIGlmICh0aGlzLmFwcFJlYWR5U2VydmljZS5pc0Jyb3dzZXJBbmREb21BdmFpbGFibGUoKSAmJiBjb250cm9sKSB7XG4gICAgICBpZiAoY29udHJvbC5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udHJvbC5lbC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=