UNPKG

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

Version:

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

105 lines (104 loc) 4.28 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 { MatDialogRef } from '@angular/material/dialog'; import { IBtnLabel } from './configs.interface'; import { IDataItem, IDataNode, IDataSourceRow, ILink, IUiEntryIds } from './data.interface'; import { FormFieldsExtendedSingleTypes } from './form.interface'; export interface IAdvancedSearchChip { modelRef: string; displayedContent: string; value: string | boolean | ILink; associatedFieldId?: string; } export declare enum EUIComponent { DATA_DETAIL = "data-detail", ARRAY_DATA = "array-data", LIST_DATA = "list-data", TREE_DATA = "tree-data" } export declare enum EEllipsisMenuActions { ADD = "add", ADD_CHILDREN = "addChildren", DELETE = "delete", DELETE_CHILD = "deleteChild", DELETE_CHILDREN = "deleteChildren", SINGLE_DELETE = "singleDelete", MULTIPLE_DELETE = "multipleDelete", SINGLE_UNASSIGN = "singleUnassign", MULTIPLE_UNASSIGN = "multipleUnassign", SINGLE_REASSIGN = "singleReassign", MULTIPLE_REASSIGN = "multipleReassign", SINGLE_EDIT = "singleEdit", MULTIPLE_EDIT = "multipleEdit", EXPORT = "export", MOVE_NODE = "moveNode" } export declare enum EUpdateOperations { ADD = "add", REMOVE = "remove", EDIT = "edit" } export interface IAssignElements { selectedElements: (IDataSourceRow | IDataNode)[]; formValues?: { [id: string]: FormFieldsExtendedSingleTypes; }; } export interface IMoveElements { selectedNode: IDataNode; selectedItem: IDataItem; selectedElementsUiIds: IUiEntryIds[]; dialogRef?: MatDialogRef<unknown>; } export declare enum ETreeSelectMode { SINGLE = "single", MULTIPLE = "multiple" } export interface IMoveDataNode { destinationNode: IDataNode; dialogRef?: MatDialogRef<unknown>; } export type ScreenSize = '' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'lt-sm' | 'lt-md' | 'lt-lg' | 'lt-xl' | 'gt-xs' | 'gt-sm' | 'gt-md' | 'gt-lg'; export interface IEllipsisBtn extends IBtnLabel { canBeDisabled: boolean; } export interface IEllipsisMenuOptions { canDelete?: boolean; canMove?: boolean; canCreateChild?: boolean; isForRow?: boolean; } export interface IEllipsisMenu { [btnId: string]: IEllipsisBtn; }