import { TemplateRef } from "@angular/core"; import { EnumSortDirection } from "../../enum/EnumSortDirection"; import { EnumTranslateKey } from "alpha-global-constants"; import { EnumCoreTablePipeType } from "./EnumCoreTablePipeType"; import { EnumCoreSeekerColumnContract, EnumCoreSeekerColumnJob, EnumCoreSeekerColumnPosition, EnumCoreSeekerColumnPositionConcurrent, EnumCoreSeekerColumnStaffProfile, EnumCoreSeekerColumnWage, EnumCoreSeekerColumnWorking } from "../core-form-control-seeker/EnumCoreSeekerColumn"; export interface ICoreTableColumnItem { caption: EnumTranslateKey | string; hint?: string; field: string; headerGroup?: EnumTranslateKey | string; type: string; showForConfirmation?: boolean; search?: string; pipe?: EnumCoreTablePipeType; timeZoneIdField?: string; align: string; readonly?: boolean; width?: number; hidden?: boolean; isOn?: boolean; hideSearchBox?: boolean; sortDirection?: EnumSortDirection; sortDisabled?: boolean; templateRef?: TemplateRef; templateRefAllowEditOnRowActived?: boolean; translate?: boolean; jobSeekerColumnCode?: EnumCoreSeekerColumnJob; employeeSeekerColumnCode?: EnumCoreSeekerColumnStaffProfile; wageSeekerColumnCode?: EnumCoreSeekerColumnWage; workingSeekerColumnCode?: EnumCoreSeekerColumnWorking; contractSeekerColumnCode?: EnumCoreSeekerColumnContract; positionSeekerColumnCode?: EnumCoreSeekerColumnPosition; positionConcurrentSeekerColumnCode?: EnumCoreSeekerColumnPositionConcurrent; showOrgBranchTooltip?: boolean; aggregateFn?: { available: ('sum' | 'avg' | 'min' | 'max' | 'count')[]; selected?: 'sum' | 'avg' | 'min' | 'max' | 'count'; }; formula?: (row: Record) => number; }