@ctodev/cclibrary-typings
Version:
Library typings for use with CLARC INFINITY
277 lines (276 loc) • 15.4 kB
TypeScript
import { AfterContentInit, AfterViewInit, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { TccStandardTableView, TccStandardTableViewComponent } from '../tcc-standard-table-view/tcc-standard-table-view.component';
import { TccTable } from '../tcc-table/tcc-table.component';
import { TccContextMenuServiceNamespace } from '../../../shared/services/tcc-context-menu/tcc-context-menu.service';
import { MatTabChangeEvent } from '@angular/material/tabs';
import { PageEvent } from '@angular/material/paginator';
import { TccInputMask } from '../../../shared/models/inputMask.model';
import { SpecialColDirective } from '../tcc-table/directives/special-col.directive';
import { EditColDirective } from '../tcc-table/directives/edit-col.directive';
import { InputMaskHTMLElement } from '../../../shared/components/tcc-input-mask/directives/input-mask-htmlelement';
import { TccStandardDetailsView, TccStandardDetailsViewComponent } from '../tcc-standard-details-view/tcc-standard-details-view.component';
import { TccC4Node } from '../../../odata/models/shared.model';
import { TccDialogWindowService } from '../../services/tcc-dialog-window/tcc-dialog-window.service';
import { canDeactivate } from '../../classes/canDeactivate';
import { TccTopNavService } from '../../services/tcc-top-nav/tcc-top-nav.service';
import { Observable } from 'rxjs';
import { TccODataService } from '../../../odata/services/tcc-odata/tcc-odata.service';
import { TccODataServiceFactory } from '../../../odata/factories/tcc-odata-service/tcc-odata-service.factory';
import { TccSnackBarService } from '../../services/tcc-snackbar/tcc-snackbar.service';
import { AppContext } from '../../../shared/classes/app-context';
export declare namespace TccStandardComplexTableView {
enum view {
details = "details",
list = "list"
}
interface options<mainEntity, subEntity> {
listTab: string;
detailsTab: string;
initTab?: string;
entityPath?: string;
entityName?: string;
entityType?: string;
createEntityIfMissing?: boolean;
beforeCreateEntity?: () => mainEntity;
itemsPropertyPath?: string[];
itemsPropertyIdentifier?: string;
/**
* Path from the subEntity to the property, that represents the EndUser name of the entity;
* Default: [['DisplayName'], ['Name']]; -> first check DisplayName, if empty check Name
*/
itemsPropertyNamePaths?: string[][];
/**
* Function, that gets called, if the standardComplexTableView needs the Name of a subEntity to display it for an user;
* @param subEntity the subEntity of which the name is needed
* @returns subEntity name
*/
getItemsPropertyName?: (subEntity: subEntity) => string;
/**
* If the standard callback function should be called after a subEntity was created.
* Default: true;
*/
useStandardSubEntityCreateCallback?: boolean;
}
}
export declare class TccStandardComplexTableViewComponent<mainEntity extends TccC4Node, subEntity> extends canDeactivate implements AfterViewInit, AfterContentInit, OnDestroy {
private dialog;
private factory;
private topnavservice;
private snackBar;
globalVarContext?: AppContext;
inputMaskHTMLElementDirectives: QueryList<InputMaskHTMLElement>;
tccStandardTableView: TccStandardTableViewComponent<subEntity>;
standardTableViewSpecialColumnDirectivesList: QueryList<SpecialColDirective>;
standardTableViewEditColumnDirectivesList: QueryList<EditColDirective>;
standardTableViewCellClickEmitter: EventEmitter<any>;
standardTableViewRowClickEmitter: EventEmitter<TccStandardTableView.rowClickEvent<subEntity>>;
standardTableViewScrollDownEmitter: EventEmitter<boolean>;
standardTableViewCheckboxEmitter: EventEmitter<TccTable.checkboxEvent>;
standardTableViewSortTableEmitter: EventEmitter<TccTable.sortTableEvent>;
standardTableViewContextMenuEmitter: EventEmitter<TccContextMenuServiceNamespace.contextMenuClickEvent>;
standardTableViewTableLoadedEmitter: EventEmitter<boolean>;
standardTableViewMarkTableRowEmitter: EventEmitter<subEntity[]>;
standardTableViewOnPrimary: EventEmitter<void>;
standardTableViewOnCreate: EventEmitter<void>;
standardTableViewOnDelete: EventEmitter<subEntity[]>;
standardTableViewPageLoaded: EventEmitter<subEntity[]>;
standardTableViewOnComponentViewChange: EventEmitter<string>;
standardTableViewOnFileUploadEvent: EventEmitter<FileList>;
standardTableViewInputMaskInputsLoaded: EventEmitter<TccStandardTableView.inputsLoaded<subEntity>>;
standardTableViewInputMaskSubmit: EventEmitter<void>;
standardTableViewInputMaskChangeTab: EventEmitter<{
id: string;
value: MatTabChangeEvent;
}>;
standardTableViewInputMaskChangeChip: EventEmitter<{
id: string;
index: number;
}>;
standardTableViewInputMaskChangePage: EventEmitter<{
id: string;
value: PageEvent;
}>;
standardTableViewInputMaskSearch: EventEmitter<TccInputMask.eventOutput<TccInputMask.ValueUnion>>;
standardTableViewInputMaskSearchEnter: EventEmitter<TccInputMask.eventOutput<TccInputMask.ValueUnion>>;
standardTableViewInputMaskValueChange: EventEmitter<TccInputMask.eventOutput<TccInputMask.ValueUnion>>;
standardTableViewInputMaskValueChangeExtended: EventEmitter<TccInputMask.eventOutput<TccInputMask.ValueUnion>>;
standardTableViewInputMaskFocusEvent: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskBlurEvent: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskInputButtonClick: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskRowButtonClick: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskButtonClick: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskSelectOpen: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskSearchListChange: EventEmitter<{
id: string;
value: Array<string>;
}>;
standardTableViewInputMaskSearchListChangePage: EventEmitter<{
id: string;
pagenumber: number;
searchactive: boolean;
}>;
standardTableViewInputMaskSearchListSearch: EventEmitter<{
id: string;
searchstring: string;
selection?: string;
}>;
standardTableViewInputMaskSearchListDialogClose: EventEmitter<TccInputMask.searchListDialogEvent>;
standardTableViewInputMaskCreateListDialogClose: EventEmitter<TccInputMask.createListDialogEvent>;
standardTableViewInputMaskCreateSimpleListDialogClose: EventEmitter<TccInputMask.eventOutput<TccInputMask.ValueUnion>>;
standardTableViewInputMaskFieldMouseEnter: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskFieldMouseLeave: EventEmitter<TccInputMask.eventTrigger>;
standardTableViewInputMaskOpenAccordion: EventEmitter<string>;
standardTableViewInputMaskEntityValuesSet: EventEmitter<subEntity>;
standardTableViewSave: EventEmitter<subEntity | subEntity[]>;
standardTableViewAfterSave: EventEmitter<subEntity | subEntity[]>;
standardTableViewCreateEntity: EventEmitter<void>;
set standardTableViewEntities(entities: subEntity[]);
set standardTableViewOptions(options: TccStandardTableView.options<subEntity>);
set standardDetailsViewOptions(options: TccStandardDetailsView.options<mainEntity>);
standardDetailsViewChanged: boolean;
standardTableViewChanged: boolean;
/** sets the standardTableView to display: none */
set standardTableViewHide(hide: boolean);
set standardTableViewDetailsTitle(standardDetailsTitle: string);
disableSetEntityId: boolean;
_standardTableViewEntities: subEntity[];
_standardTableViewOptions: TccStandardTableView.options<subEntity>;
_standardDetailsViewOptions: TccStandardDetailsView.options<mainEntity>;
_standardTableViewHide: boolean;
_standardTableViewStandardDetailsTitle: string;
inputMaskHTMLElementDirectivesDetails: InputMaskHTMLElement[];
inputMaskHTMLElementDirectivesList: InputMaskHTMLElement[];
tccStandardDetailsView: TccStandardDetailsViewComponent<mainEntity>;
standardDetailsViewInitInputMask: EventEmitter<TccStandardDetailsView.initEvent<any>>;
standardDetailsViewChangeValue: EventEmitter<TccStandardDetailsView.onValueChangesEvent<any>>;
standardDetailsViewSave: EventEmitter<TccStandardDetailsView.setValueChangesEvent<any>>;
standardDetailsViewAfterSave: EventEmitter<mainEntity>;
standardDetailsViewEntityValuesSet: EventEmitter<mainEntity>;
standardDetailsViewFocusEvent: EventEmitter<TccInputMask.eventTrigger>;
standardDetailsViewContextMenuEmitter: EventEmitter<TccContextMenuServiceNamespace.contextMenuClickEvent>;
standardDetailsViewButtonClick: EventEmitter<TccInputMask.eventTrigger>;
standardDetailsViewInputButtonClick: EventEmitter<TccInputMask.eventTrigger>;
get canDeactivateChanged(): boolean;
set options(options: TccStandardComplexTableView.options<mainEntity, subEntity>);
set entity(entity: mainEntity);
currentTab: string;
set standardDetailsViewHeaderTitle(headerTitle: string);
set entityId(entityId: string);
set newElement(newElement: boolean);
standardDetailsViewHide: boolean;
/**
* called, after the deletion of subEntities was successfully saved. Returns all deleted subEntities;
*/
standardComplexTableViewafterDelete: EventEmitter<subEntity[]>;
_entity: mainEntity;
get currClonedSubEntity(): subEntity;
private _entityPath;
private _entityName;
private _entityType;
private _useStandardSubEntityCreateCallback;
private _createEntityIfMissing;
private _beforeCreateEntity;
_headerTitle: string;
_entityId: string;
_newElement: boolean;
private topNavSubscription;
_detailsTab: string;
_listTab: string;
private _itemsPropertyPath;
private _itemsPropertyIdentifier;
private _itemsPropertyNamePaths;
private _getItemsPropertyName;
service: TccODataService<mainEntity>;
loading: boolean;
showLockedPlaceholder: boolean;
lockedPlaceholderHeaderText: string;
lockedPlaceholderMessageText: string;
constructor(dialog: TccDialogWindowService, factory: TccODataServiceFactory, topnavservice: TccTopNavService, snackBar: TccSnackBarService, globalVarContext?: AppContext);
ngAfterViewInit(): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private init;
private loadEntity;
private createEntityByName;
private initInputMaskHtmlElements;
private getSubEntities;
_standardTableViewCellClickEmitter(event: any): void;
_standardTableViewRowClickEmitter(event: TccStandardTableView.rowClickEvent<subEntity>): void;
_standardTableViewCheckboxEmitter(event: TccTable.checkboxEvent): void;
_standardTableViewSortTableEmitter(event: TccTable.sortTableEvent): void;
_standardTableViewContextMenuEmitter(event: TccContextMenuServiceNamespace.contextMenuClickEvent): void;
_standardTableViewTableLoadedEmitter(event: boolean): void;
_standardTableViewMarkTableRowEmitter(event: subEntity[]): void;
_standardTableViewOnPrimary(): void;
_standardTableViewOnCreate(): void;
_standardTableViewOnDelete(event: subEntity[]): void;
_standardTableViewPageLoaded(event: subEntity[]): void;
_standardTableViewOnComponentViewChange(event: string): void;
_standardTableViewOnFileUploadEvent(event: FileList): void;
_standardTableViewInputMaskInputsLoaded(event: TccStandardTableView.inputsLoaded<subEntity>): void;
_standardTableViewInputMaskSubmit(): void;
_standardTableViewInputMaskChangeTab(event: {
id: string;
value: MatTabChangeEvent;
}): void;
_standardTableViewInputMaskChangeChip(event: {
id: string;
index: number;
}): void;
_standardTableViewInputMaskChangePage(event: {
id: string;
value: PageEvent;
}): void;
_standardTableViewInputMaskSearch(event: TccInputMask.eventOutput<TccInputMask.ValueUnion>): void;
_standardTableViewInputMaskSearchEnter(event: TccInputMask.eventOutput<TccInputMask.ValueUnion>): void;
_standardTableViewInputMaskValueChange(event: TccInputMask.eventOutput<TccInputMask.ValueUnion>): void;
_standardTableViewInputMaskValueChangeExtended(event: TccInputMask.eventOutput<TccInputMask.ValueUnion>): void;
_standardTableViewInputMaskFocusEvent(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskBlurEvent(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskInputButtonClick(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskRowButtonClick(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskButtonClick(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskSelectOpen(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskSearchListChange(event: {
id: string;
value: Array<string>;
}): void;
_standardTableViewInputMaskSearchListChangePage(event: {
id: string;
pagenumber: number;
searchactive: boolean;
}): void;
_standardTableViewInputMaskSearchListSearch(event: {
id: string;
searchstring: string;
selection?: string;
}): void;
_standardTableViewInputMaskSearchListDialogClose(event: TccInputMask.searchListDialogEvent): void;
_standardTableViewInputMaskCreateListDialogClose(event: TccInputMask.createListDialogEvent): void;
_standardTableViewInputMaskCreateSimpleListDialogClose(event: TccInputMask.eventOutput<TccInputMask.ValueUnion>): void;
_standardTableViewInputMaskFieldMouseEnter(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskFieldMouseLeave(event: TccInputMask.eventTrigger): void;
_standardTableViewInputMaskOpenAccordion(event: string): void;
_standardTableViewInputMaskEntityValuesSet(event: subEntity): void;
_standardTableViewSave(event: subEntity | subEntity[]): void;
_standardTableViewAfterSave(event: subEntity | subEntity[]): void;
_standardTableViewCreateEntity(): void;
_standardDetailsViewInitInputMask(event: TccStandardDetailsView.initEvent<any>): void;
_standardDetailsViewChangeValue(event: TccStandardDetailsView.onValueChangesEvent<any>): void;
_standardDetailsViewSave(event: TccStandardDetailsView.setValueChangesEvent<any>): void;
_standardDetailsViewAfterSave(event: mainEntity): void;
_standardDetailsViewEntityValuesSet(event: mainEntity): void;
_standardDetailsViewFocusEvent(event: TccInputMask.eventTrigger): void;
_standardDetailsViewContextMenuEmitter(event: TccContextMenuServiceNamespace.contextMenuClickEvent): void;
_standardDetailsViewButtonClick(event: TccInputMask.eventTrigger): void;
_standardDetailsViewInputButtonClick(event: TccInputMask.eventTrigger): void;
private setItems;
private getItemsArray;
private standardTableViewCreateCallback;
onFilterbarDelete(subEntities: subEntity[]): void;
openDeleteDialog(items: subEntity[]): void;
private getSubEntityName;
private deleteItems;
getSaveRequest(): Observable<mainEntity>;
private saveOperation;
}