Kind: Class
Source: Frontend/src/app/components/shared/advance-grid/advance-grid.component.ts (line 21)
Part of: Frontend
AdvanceGridComponent is an Angular shared component that manages grid pagination, page visibility, and grid update handling. It initializes paging state, responds to Angular change detection, and exposes methods for moving between pages or checking grid-related callbacks.
Implements: OnInit, DoCheck
Methods
| Method | Signature | Returns |
|---|---|---|
ngDoCheck | ngDoCheck() | void |
ngOnInit | ngOnInit() | void |
setPages | setPages(goToLastPage: boolean) | void |
checkFullPage | checkFullPage(index: undefined) | boolean |
goToPage | goToPage(index: number) | void |
prevPage | prevPage() | void |
nextPage | nextPage() | void |
visibleAddNew | visibleAddNew() | void |
checkCallback | checkCallback(button: PopOverButtonData) | void |
cellUpdated_Handler | cellUpdated_Handler(e: undefined) | void |
CallisProcessActive | CallisProcessActive(accessList: undefined, acessStatusId: undefined) | void |
onDocumentKeyUp | onDocumentKeyUp(event: undefined) | void |
onDocumentClick | onDocumentClick(event: undefined) | void |
closeAllRequest_Handler | closeAllRequest_Handler(e: undefined) | void |
selectAllRows | selectAllRows(e: undefined) | void |
rowSelectedRequest_Handler | rowSelectedRequest_Handler(row: undefined) | void |
rowOutputPopOverClicked_Handler | rowOutputPopOverClicked_Handler(e: undefined) | void |
customizeSelect_allbutton | customizeSelect_allbutton() | void |
PopoverSingleRowClick | PopoverSingleRowClick(e: undefined) | void |
Popover_Click | Popover_Click(status: undefined, bool: undefined) | void |
IsUnitized | IsUnitized() | void |
unitizedRequested_Click | unitizedRequested_Click() | void |
packageRequested_Click | packageRequested_Click() | void |
splitRequested_Click | splitRequested_Click() | void |
splitSingleClick | splitSingleClick(e: undefined) | void |
unitizedSingleClick | unitizedSingleClick(e: undefined) | void |
packageSingleClick | packageSingleClick(e: undefined) | void |
findColumn | findColumn(columFieldName: string) | AdvColumn |
selectedHasPackage | selectedHasPackage() | boolean |
selectedHasItemized | selectedHasItemized() | boolean |
showPackageUnitizeDependOnSelectedRows | showPackageUnitizeDependOnSelectedRows(checkType: string) | void |
deleteRowRequest_Handler | deleteRowRequest_Handler(rowIndex: number) | void |
deleteMultiRows | deleteMultiRows() | void |
deleteItemConfirmation | deleteItemConfirmation(rowIndex: number) | void |
deleteItemsConfirmation | deleteItemsConfirmation() | void |
closeDeleteModal | closeDeleteModal() | void |
getDeleteModalMessage | getDeleteModalMessage() | string |
confirmDelete | confirmDelete() | void |
saveRowManually_Handler | saveRowManually_Handler(row: undefined) | void |
addNewRow | addNewRow(e: CellItemEvent) | void |
nextCellRequest_Handler | nextCellRequest_Handler(e: CellItemEvent) | void |
isColumnDisabledOnValue | isColumnDisabledOnValue(rowIndex: number, index: number) | void |
getNextRowNumber | getNextRowNumber(rowIndex: number, index: number) | void |
rowHovered_Handler | rowHovered_Handler(rowIndex: number) | void |
setFocusedRow | setFocusedRow(rowIndex: number) | void |
openEdit | openEdit(rowIndex: number) | void |
closeEdit | closeEdit() | void |
colSpanCount | colSpanCount() | void |
ngOnDestroy | ngOnDestroy() | void |
OnOpenedPopup | OnOpenedPopup() | void |
Properties
| Property | Type |
|---|---|
advancedGridTbody | ElementRef |
rowComponents | QueryList<AdvRowComponent> |
sharedPopup | SharedPopupComponent |
splitRowComponent | SplitRowComponent |
focusedRow | AdvRowComponent |
focusedRowIndex | number |
_columns | BehaviorSubject<AdvColumn[]> |
_dataSource | BehaviorSubject<any[]> |
readOnly | boolean |
maxRows | number |
highlightedRowIndex | number |
colWidth | string |
rowHeight | string |
serialEnabled | boolean |
selectEnabled | boolean |
selectAllEnabled | boolean |
deleteColumnEnabled | boolean |
actionsDropdownEnabled | boolean |
deleteManuallyHandled | boolean |
allowDeleteRow | boolean |
saveColumnEnabled | boolean |
headerVisible | boolean |
handlerEnabled | boolean |
statusEnabled | boolean |
addButton | addButton |
serialField | string |
splittedEnabled | boolean |
splittedSerialField | string |
selectField | string |
keyField | string |
cssClass | string |
isProcessActive | boolean |
disabledTriggerField | string |
hidePackageUnitizeSwitch | boolean |
ImportOption | any |
_PopOverButtons | BehaviorSubject<PopOverButtonData[]> |
newRowRequested | EventEmitter<any> |
unitizedRequested | EventEmitter<any> |
packageRequested | EventEmitter<any> |
splitRequested | EventEmitter<any> |
RowChecked | EventEmitter<any> |
OutputPopOverArray | EventEmitter<any[]> |
OutputPopOverClicked | EventEmitter<any[]> |
parameterOfisProcessActive | EventEmitter<any> |
cellUpdated | EventEmitter<any> |
selectedLiveDatasourceValue | EventEmitter<any> |
deleteRowRequest | any |
deleteMultiRowsRequest | any |
deleteRowConfirmed | any |
saveRowRequest | any |
Where it refuses work
AdvanceGridComponentstops the work with an early return whenthis.isColumnDisabledOnValue(rowIndex, index), in 2 places.AdvanceGridComponentstops the work with an early return when!this.tempCellItemEvent.AdvanceGridComponentstops the work with an early return whenevent.row >= value.length.AdvanceGridComponentstops the work with an early return whenthis.datasourcePages[index].length > this.pageSize.AdvanceGridComponentstops the work with an early return when!this.addButton.AdvanceGridComponentstops the work with an early return whenthis.addButton.displayLogic.
Diagram
mermaidgraph LR A[AdvanceGridComponent] --> B[ngOnInit] A --> C[ngDoCheck] B --> D[setPages] C --> E[checkFullPage] A --> F[goToPage] A --> G[prevPage] A --> H[nextPage] A --> I[visibleAddNew] A --> J[checkCallback] A --> K[cellUpdated_Handler]
Usage
tsimport { Component, ViewChild } from '@angular/core';
import { AdvanceGridComponent } from './components/shared/advance-grid/advance-grid.component';
@Component({
selector: 'app-grid-page',
template: `
<app-advance-grid #grid></app-advance-grid>
<button type="button" (click)="previousPage()">Previous</button>
<button type="button" (click)="nextPage()">Next</button>
`,
})
export class GridPageComponent {
@ViewChild('grid') grid?: AdvanceGridComponent;
previousPage(): void {
this.grid?.prevPage();
}
nextPage(): void {
this.grid?.nextPage();
}
refreshPagination(): void {
this.grid?.setPages();
if (this.grid?.checkFullPage()) {
this.grid.goToPage();
}
}
}
AI Coding Instructions
- Keep paging state changes inside
setPages,goToPage,prevPage, andnextPagerather than duplicating page calculations in parent components. - Do not call
ngOnInitorngDoCheckdirectly; Angular invokes lifecycle hooks. - Call
setPagesafter changing the grid data source or conditions that affect page availability. - Use
checkFullPagebefore page-navigation behavior that depends on whether the current page is full. - Preserve callback and cell-update handling through
checkCallbackandcellUpdated_Handlerwhen extending grid event behavior.
Used by
6 references from 6 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.
Imported by (6)
ProcurementOfferComponent—Frontend/src/app/components/procurement/procurement-details/procurement-offer/procurement-offer.component.ts:1ProcurementOrderComponent—Frontend/src/app/components/procurement/procurement-details/procurement-order/procurement-order.component.ts:1PurchasingOfferComponent—Frontend/src/app/components/purchasing/purchasing-details/purchasing-offer/purchasing-offer.component.ts:1OrderPanelDetailsComponent—Frontend/src/app/components/sales/new-job/order-panel-details/order-panel-details.component.ts:1TranslateHandler—Frontend/src/app/components/shared/shared.module.ts:1ReceivedPurchaseOrderComponent—Frontend/src/app/components/warehouse/receiving-shipment-details/received-purchase-order/received-purchase-order.component.ts:1
Was this page helpful?