@funidata/ngx-fudis
Version:
Funidata Design System.
69 lines (68 loc) • 3.09 kB
TypeScript
import { FudisIdComponent, FudisIdData, FudisIdGrandParent, FudisIdParent } from '../../types/id';
import * as i0 from "@angular/core";
export declare class FudisIdService {
private _idData;
/**
* Get collected ID data
*/
getIdData(): FudisIdData;
getNewId(componentType: FudisIdComponent): string;
/**
* Add an id to collection of single components
*/
addNewId(componentType: FudisIdComponent, newId: string): void;
/**
* Get an id and add it to collection for a parent component. E.g. 'fudis-breadcrumbs-1'
*/
getNewParentId(componentType: FudisIdParent): string;
/**
* Add id to collection of parents
*/
addNewParentId(componentType: FudisIdParent, newId: string): void;
/**
* Get an id and add it to collection for a child component. E.g. 'fudis-breadcrumbs-1-item-1'
*/
getNewChildId(parentType: FudisIdParent, parentId: string): string;
getAllChildrenIds(parentType: FudisIdParent, parentId: string): string[];
/**
* Add id to collection of parents children
*/
addNewChildId(parentType: FudisIdParent, parentId: string, customId: string): void;
/**
* Get an id and add it to collection for a grand parent type components
*/
getNewGrandParentId(componentType: FudisIdGrandParent): string;
/**
* Add grand parent id to data collection
*/
addNewGrandParentId(componentType: FudisIdGrandParent, newId: string): void;
/**
* Get an id and add it to collection for first child of grandparent. E.g. Select Group or
* Description List Item
*/
getNewGroupId(componentType: 'select' | 'multiselect' | 'description-list' | 'dropdown-menu', parentId: string): string;
/**
* Add group id of grand parent to data collection
*/
addNewGroupId(componentType: 'select' | 'multiselect' | 'description-list' | 'dropdown-menu', parentId: string, newId: string): void;
getNewDropdownMenuId(parentId: string, groupParentId?: string): string;
/**
* Get an id and add it to collection for Select Options -->
* fudis-select-4-group-2-option-g3n3ratedh4sh
*/
getNewSelectOptionId(label: string, selectType: 'select' | 'multiselect', selectParentId: string, groupParentId?: string): string;
static createSelectOptionId(id: string, label: string): string;
/**
* Djb2 hash for hashing the label for the option id. It doesn't have to be this, it can be
* anything as long as it's fast and short
*/
private static hashLabel;
/**
* Get an id and add it to collection for Descrition List Term & Details -->
* fudis-description-list-1-item-1-term & fudis-description-list-1-item-1-details-1
*/
getNewDlGrandChilId(childType: 'term' | 'details', parentDlId: string, parentItemId: string): string;
getDlGrandChildrensIds(childType: 'term' | 'details', parentDlId: string, parentItemId: string): string[];
static ɵfac: i0.ɵɵFactoryDeclaration<FudisIdService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<FudisIdService>;
}