import { EventEmitter, OnInit } from "@angular/core"; import { FormControl, FormGroup } from "@angular/forms"; import { MatSnackBar } from "@angular/material/snack-bar"; import { Store } from "@ngrx/store"; import { CustomerHeaderService, EntityService, SupplierHeaderService, DimensionService, SegmentCoaService, ProfitCenterService, ProjectCoaService } from "blg-akaun-ts-lib"; import { SearchModelV2 } from "../../models/search-model-v2"; import { SessionStates } from "../../modules/session/session-controller/states"; import { Observable } from "rxjs"; import { BranchComponent } from "../branch/branch.component"; import { CompanyComponent } from "../company/company.component"; import { LocationFromComponent } from "../location-from/location-from.component"; import { LocationToComponent } from "../location-to/location-to.component"; import { SalesAgentSearchComponent } from "../sales-agent-v2/sales-agent.component"; import { WarehouseAdvancedSearchComponent } from "../warehouse-advanced-search-drop-down/warehouse-advanced-search-drop-down.component"; import { PurchaserComponent } from "../purchaser/purchaser.component"; import { CashbookAdvancedSearchDropdownComponent } from "../advanced-search-cashbook-dropdown/advanced-search-cashbook-dropdown.component"; import { SelectBudgetItemComponent } from "../select-budget-item/select-budget-item.component"; import { SelectBudgetRegisterComponent } from "../select-budget-register/select-budget-register.component"; import { SelectBudgetFiscalYearComponent } from "../select-budget-fiscal-year/select-budget-fiscal-year.component"; export declare class AdvancedSearchV2Component implements OnInit { private customerService; private supplierService; private entityService; private snackBar; private readonly sessionStore; private glDimensionService; private segmentCoaService; private profitCenterService; private projectCoaService; advSearchModel: SearchModelV2; id: string; viewModelStore: any; ColumnViewActions: any; ColumnViewSelectors: any; readPermissionDefintion: any; search: EventEmitter; votebookGuid: any; branchComponent: BranchComponent; purchaserComponent: PurchaserComponent; companyComponent: CompanyComponent; locationFromComponent: LocationFromComponent; locationToComponent: LocationToComponent; salesAgentComponent: SalesAgentSearchComponent; warehouseAdvancedSearchDropdownComponent: WarehouseAdvancedSearchComponent; cashbookAdvancedSearchDropdownComponent: CashbookAdvancedSearchDropdownComponent; selectBudgetItemComponent: SelectBudgetItemComponent; selectBudgetRegisterComponent: SelectBudgetRegisterComponent; selectBudgetFiscalYearComponent: SelectBudgetFiscalYearComponent; branchGuids: []; purchaserGuids: []; companyGuids: []; locationGuidsFrom: []; locationGuidsTo: []; salesAgentGuids: []; deliveryRegionGuids: []; warehouseGuids: []; cashbookGuids: []; budgetItemGuids: []; budgetRegisterGuids: []; budgetFiscalYearGuids: []; isAdvanced: boolean; inputArray: any[]; advForm: FormGroup; optionArray: {}; filter: string; basicSearchQuery: string; private subs; separatorKeysCodes: number[]; customerForm: FormGroup; customerGuids: []; searchedCustomers$: Observable; customers: any[]; customerSearch: boolean; supplierForm: FormGroup; supplierGuids: []; searchedSuppliers$: Observable; suppliers: any[]; supplierSearch: boolean; entityForm: FormGroup; entityGuids: []; searchedEntities$: Observable; entities: any[]; entitySearch: boolean; glDimensionForm: FormGroup; glDimensionGuids: []; searchedGlDimensions$: Observable; glDimensions: any[]; glDimensionSearch: boolean; segmentForm: FormGroup; segmentGuids: []; searchedSegments$: Observable; segments: any[]; segmentSearch: boolean; profitCenterForm: FormGroup; profitCenterGuids: []; searchedProfitCenters$: Observable; profitCenters: any[]; profitCenterSearch: boolean; projectForm: FormGroup; projectGuids: []; searchedProjects$: Observable; projects: any[]; projectSearch: boolean; docNo: string; trackingId: string; ref: string; desc: string; mktOrderNo: string; payee: string; amountDebit: number; amountCredit: number; includeEstimateDeliveryDateControl: FormControl; includeCreationDateControl: FormControl; includeTxnDateControl: FormControl; includeChequeDateControl: FormControl; defaultColDef: { filter: string; floatingFilterComponentParams: { suppressFilterButton: boolean; }; minWidth: number; flex: number; sortable: boolean; resizable: boolean; suppressCsvExport: boolean; }; gridApi: any; columnsDefs: ({ headerName: string; field: string; comparator: (valueA: any, valueB: any) => any; width: number; suppressSizeToFit: boolean; cellStyle: () => { "text-align": string; }; } | { headerName: string; field: string; suppressSizeToFit: boolean; cellStyle: () => { "text-align": string; }; comparator?: undefined; width?: undefined; })[]; departmentHdrColumnsDefs: { headerName: string; field: string; comparator: (valueA: any, valueB: any) => any; width: number; suppressSizeToFit: boolean; cellStyle: () => { "text-align": string; }; }[]; resetListing: boolean; isEmpty: boolean; constructor(customerService: CustomerHeaderService, supplierService: SupplierHeaderService, entityService: EntityService, snackBar: MatSnackBar, sessionStore: Store, glDimensionService: DimensionService, segmentCoaService: SegmentCoaService, profitCenterService: ProfitCenterService, projectCoaService: ProjectCoaService); onEscPressed(event: KeyboardEvent): void; ngOnInit(): void; isTrue(value: any): any; isRequired(x: any): any; isMultiple(x: any): any; isCheckbox(x: any): any; extractOptions: (fieldName?: any, fieldValue?: any) => void; onGridReady(params: any): void; searchToggle(): void; customerReturn(): void; entityReturn(): void; supplierReturn(): void; glDimensionReturn(): void; segmentReturn(): void; profitCenterReturn(): void; projectReturn(): void; customerSearchToggle(): void; entitySearchToggle(): void; supplierSearchToggle(): void; glDimensionSearchToggle(): void; segmentSearchToggle(): void; profitCenterSearchToggle(): void; projectSearchToggle(): void; reset(): void; optionSearchFilter(query: any): void; truncate(str: any, no_words: any): any; /** * The three entity look-ups below replace raw SELECTs that went through * SubQueryService. All three hit an entity endpoint whose UoW path is * EntityUow.whereClauseCriteriaForSnapshot, which applies: * - `search_word` via EntityUowHelper.generateSearchWordCondition (bound and * ILIKE over id_no, name, nickname, the entity-type code column, descr, * phone, email, website_url, tax_reg_number, ...). With is_customer / * is_supplier set by the endpoint path, the code column is customer_code / * supplier_code respectively; with no is_* scope it is the OR of all four * code columns. * - `status` via EntityUowHelper.whereClauseHdr. * The is_customer / is_supplier predicates the old SQL spelled out are applied * by EntityController from the entity/customers and entity/suppliers path * segments, so they need no criterion of their own. * * Behaviour note: `search_word` matches a few more columns than the old * name/code/phone/email list, so these look-ups are slightly broader. */ searchCustomer(): void; removeCustomer(customer: string): void; onRowClickedCustomer(e: any): void; searchEntity(): void; removeEntity(entity: string): void; onRowClickedEntity(e: any): void; searchSupplier(): void; removeSupplier(supplier: string): void; onRowClickedSupplier(e: any): void; searchGlDimension(): void; removeGlDimension(glDimension: string): void; onRowClickedGlDimension(e: any): void; searchSegment(): void; removeSegment(segment: string): void; onRowClickedSegment(e: any): void; searchProfitCenter(): void; removeProfitCenter(profitCenter: string): void; onRowClickedProfitCenter(e: any): void; searchProject(): void; removeProject(project: string): void; onRowClickedProject(e: any): void; basicSearch(e: string): void; advancedSearch(): void; toggleDropdown(): void; ngOnDestroy(): void; }