UNPKG

@linid-dm/directory-manager-client-core

Version:

Core package by providing a set of angular components for the Directory Manager app.

85 lines (84 loc) 4.58 kB
/** * Copyright (C) 2020-2024 Linagora * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version, provided you comply with the Additional Terms applicable for * LinID Directory Manager software by LINAGORA pursuant to Section 7 of the GNU * Affero General Public License, subsections (b), (c), and (e), pursuant to * which these Appropriate Legal Notices must notably (i) retain the display of * the "LinID™" trademark/logo at the top of the interface window, the display * of the “You are using the Open Source and free version of LinID™, powered by * Linagora © 2009–2013. Contribute to LinID R&D by subscribing to an Enterprise * offer!” infobox and in the e-mails sent with the Program, notice appended to * any type of outbound messages (e.g. e-mail and meeting requests) as well as * in the LinID Directory Manager user interface, (ii) retain all hypertext * links between LinID Directory Manager and https://linid.org/, as well as * between LINAGORA and LINAGORA.com, and (iii) refrain from infringing LINAGORA * intellectual property rights over its trademarks and commercial brands. Other * Additional Terms apply, see <http://www.linagora.com/licenses/> for more * details. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License and * its applicable Additional Terms for LinID Directory Manager along with this * program. If not, see <http://www.gnu.org/licenses/> for the GNU Affero * General Public License version 3 and <http://www.linagora.com/licenses/> for * the Additional Terms applicable to the LinID Directory Manager software. */ import { Title } from '@angular/platform-browser'; import { NavigationEnd } from '@angular/router'; import { Store } from '@ngxs/store'; import { ToastrService } from 'ngx-toastr'; import { Observable } from 'rxjs'; import { EResourceComponent, EnvService, IBtnLabel, IConfig, ICurrentUserConfig, IDataDetail, IEntryIds, IFormData, IResourceType, ITabProps, JsTable } from '../../../../shared'; import { RoutingService } from '../services/routing.service'; export declare class DataDetailViewProperties { store$: Store; toastrService: ToastrService; routingService: RoutingService; titleService: Title; envService: EnvService; dataDetail$: Observable<any>; selectedResourceTypeId$: Observable<string>; selectedEntryIds$: Observable<IEntryIds>; selectedEntryParentIds$: Observable<IEntryIds>; isFetchingDataDetailSuccess$: Observable<boolean>; isFetchingDataDetail$: Observable<boolean>; dataDetail: any; editAction: IBtnLabel; configs: JsTable<IConfig>; currentUser: ICurrentUserConfig; resourcesTypes: JsTable<IResourceType>; parentDataComponent: string; selectedResourceTypeId: string; selectedEntryParentIds: IEntryIds; selectedEntryIds: IEntryIds; tab: ITabProps; areSimpleAttributesProcessed: boolean; areArrayAttributesProcessed: boolean; endpoint: string; editableAttributesFromBackend: string[]; editFormAttributes: IFormData[]; componentNameType: typeof EResourceComponent; isUpdatingDataDetail: boolean; constructor(store$: Store, toastrService: ToastrService, routingService: RoutingService, titleService: Title, envService: EnvService); initTabTitle(): Observable<NavigationEnd>; initDataDetail(): Observable<any>; handleFetchingDetail(): Observable<boolean>; displaySuccessToast(message: string): void; setPropertiesOnSimpleAttributesProcessed(dataDetailAttributes: IDataDetail[], requiredFieldOnUpdate?: { id: string; value: string; }): void; whenSimpleAttributesProcessed(dataDetailAttributes: IDataDetail[]): void; whenArrayAttributesProcessed(areProcessed: boolean): void; updateEntryAttributes(event: any): void; } export declare function updateAttributeValue(attributesValues: IDataDetail[], updatedValue: IDataDetail, attributeIndex: number, attributeIndexOnAdd: number): void; export declare function getDataDetailIndexForNewField(detailAttributesIds: string[], orderKeysByAttributeId: string[], attributeId: string): number;