123456789101112131415161718192021222324252627282930313233 |
- import { Injectable } from '@angular/core';
- import * as i0 from "@angular/core";
- export class AccordionRegistryService {
- constructor() {
- this.accordions = new Map();
- }
- register(id, element) {
- this.accordions.set(id, element);
- }
- get(id) {
- return this.accordions.get(id);
- }
- unregister(id) {
- this.accordions.delete(id);
- }
- getItem(accordionId, itemId) {
- const accordionObject = this.accordions.get(accordionId);
- return accordionObject.accordionItems.find(item => item.id === itemId);
- }
- openItem(accordionId, itemId) {
- this.getItem(accordionId, itemId)?.isOpen.next(true);
- }
- closeItem(accordionId, itemId) {
- this.getItem(accordionId, itemId)?.isOpen.next(false);
- }
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AccordionRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AccordionRegistryService, providedIn: 'any' }); }
- }
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AccordionRegistryService, decorators: [{
- type: Injectable,
- args: [{ providedIn: 'any' }]
- }] });
|