Skip to content

AdvanceGridComponent

reference
3 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/components/shared/advance-grid/advance-grid.component.ts (line 22)

Part of: Pams

AdvanceGridComponent manages grid pagination, page navigation, and grid-related callbacks in the shared client component layer. It initializes page state, handles cell updates, and checks whether processing is active before performing related actions.

Implements: OnInit

Methods

MethodSignatureReturns
ngOnInitngOnInit()void
setPagessetPages(goToLastPage: boolean)void
checkFullPagecheckFullPage(index: undefined)boolean
goToPagegoToPage(index: number)void
prevPageprevPage()void
nextPagenextPage()void
visibleAddNewvisibleAddNew()void
checkCallbackcheckCallback(button: PopOverButtonData)void
cellUpdated_HandlercellUpdated_Handler(e: undefined)void
CallisProcessActiveCallisProcessActive(accessList: undefined, acessStatusId: undefined)void
onDocumentKeyUponDocumentKeyUp(event: undefined)void
onDocumentClickonDocumentClick(event: undefined)void
closeAllRequest_HandlercloseAllRequest_Handler(e: undefined)void
selectAllRowsselectAllRows(e: undefined)void
rowSelectedRequest_HandlerrowSelectedRequest_Handler(row: undefined)void
rowOutputPopOverClicked_HandlerrowOutputPopOverClicked_Handler(e: undefined)void
customizeSelect_allbuttoncustomizeSelect_allbutton()void
PopoverSingleRowClickPopoverSingleRowClick(e: undefined)void
Popover_ClickPopover_Click(status: undefined, bool: undefined)void
IsUnitizedIsUnitized()void
unitizedRequested_ClickunitizedRequested_Click()void
packageRequested_ClickpackageRequested_Click()void
splitRequested_ClicksplitRequested_Click()void
splitSingleClicksplitSingleClick(e: undefined)void
unitizedSingleClickunitizedSingleClick(e: undefined)void
packageSingleClickpackageSingleClick(e: undefined)void
selectedHasPackageselectedHasPackage()boolean
selectedHasItemizedselectedHasItemized()boolean
showPackageUnitizeDependOnSelectedRowsshowPackageUnitizeDependOnSelectedRows(checkType: string)void
deleteRowRequest_HandlerdeleteRowRequest_Handler(rowIndex: number)void
deleteMultiRowsdeleteMultiRows()void
saveRowManually_HandlersaveRowManually_Handler(row: undefined)void
addNewRowaddNewRow(e: CellItemEvent)void
nextCellRequest_HandlernextCellRequest_Handler(e: CellItemEvent)void
isDisabledisDisabled(rowIndex: number, index: number)void
getNextRowNumbergetNextRowNumber(rowIndex: number, index: number)void
rowHovered_HandlerrowHovered_Handler(rowIndex: number)void
setFocusedRowsetFocusedRow(rowIndex: number)void
openEditopenEdit(rowIndex: number)void
closeEditcloseEdit()void
colSpanCountcolSpanCount()void
ngOnDestroyngOnDestroy()void
OnOpenedPopupOnOpenedPopup()void
openPopupopenPopup(n: string, t: string, i: string, btnTxt: string)void
savePopupsavePopup()void
closePopupclosePopup()void
ClosewithDonotSaveClosewithDonotSave()void
onDataImportedonDataImported(e: undefined)void
importHandlerimportHandler()void
selectTextselectText(e: undefined)void

Properties

PropertyType
sampleSelectBoxElementRef
rowComponentsQueryList<AdvRowComponent>
sharedPopupSharedPopupComponent
splitRowComponentSplitRowComponent
focusedRowAdvRowComponent
focusedRowIndexnumber
_columnsBehaviorSubject<AdvColumn[]>
_dataSourceBehaviorSubject<any[]>
readOnlyboolean
maxRowsnumber
highlightedRowIndexnumber
colWidthstring
rowHeightstring
serialEnabledboolean
selectEnabledboolean
selectAllEnabledboolean
deleteColumnEnabledboolean
actionsDropdownEnabledboolean
deleteManuallyHandledboolean
allowDeleteRowboolean
saveColumnEnabledboolean
headerVisibleboolean
handlerEnabledboolean
statusEnabledboolean
addButtonaddButton
serialFieldstring
splittedEnabledboolean
splittedSerialFieldstring
selectFieldstring
keyFieldstring
cssClassstring
isProcessActiveboolean
disabledTriggerFieldstring
hidePackageUnitizeSwitchboolean
ImportOptionany
_PopOverButtonsBehaviorSubject<PopOverButtonData[]>
newRowRequestedEventEmitter<any>
unitizedRequestedEventEmitter<any>
packageRequestedEventEmitter<any>
splitRequestedEventEmitter<any>
RowCheckedEventEmitter<any>
OutputPopOverArrayEventEmitter<any[]>
OutputPopOverClickedEventEmitter<any[]>
parameterOfisProcessActiveEventEmitter<any>
cellUpdatedEventEmitter<any>
deleteRowRequestany
deleteMultiRowsRequestany
saveRowRequestany
onImportedany
applySplitRowsany

Where it refuses work

  • AdvanceGridComponent stops the work with an early return when this.isDisabled(rowIndex, index), in 2 places.
  • AdvanceGridComponent stops the work with an early return when this.datasourcePages[index].length > this.pageSize.
  • AdvanceGridComponent stops the work with an early return when !this.addButton.
  • AdvanceGridComponent stops the work with an early return when this.addButton.displayLogic.
  • AdvanceGridComponent stops the work with an early return when button.DisplayCallback.
  • AdvanceGridComponent stops the work with an early return when e.value != false && !e.value.

Diagram

mermaid
graph LR
  Init[ngOnInit] --> Pages[setPages]
  Pages --> FullPage[checkFullPage]
  FullPage --> Navigation[goToPage]
  Navigation --> Previous[prevPage]
  Navigation --> Next[nextPage]
  Grid[AdvanceGridComponent] --> AddNew[visibleAddNew]
  Grid --> Callback[checkCallback]
  Grid --> CellUpdate[cellUpdated_Handler]
  Grid --> ProcessState[CallisProcessActive]

Usage

ts
import { AdvanceGridComponent } from './advance-grid.component';

export class GridToolbarComponent {
  constructor(private readonly grid: AdvanceGridComponent) {}

  showPreviousPage(): void {
    this.grid.prevPage();
  }

  showNextPage(): void {
    if (!this.grid.checkFullPage()) {
      this.grid.nextPage();
    }
  }

  refreshPages(): void {
    this.grid.setPages();
    this.grid.goToPage();
  }

  handleGridCellUpdate(): void {
    this.grid.cellUpdated_Handler();
  }
}

AI Coding Instructions

  • Let Angular call ngOnInit() through the component lifecycle; do not call it directly from application code.
  • Call setPages() when the underlying grid data or paging state changes before navigating pages.
  • Check checkFullPage() before advancing when page capacity affects navigation behavior.
  • Keep callback and cell-update handling routed through checkCallback() and cellUpdated_Handler() rather than duplicating grid update logic.
  • Check CallisProcessActive() before starting actions that should not run while grid processing is active.

Used by

9 references from 9 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

Imported by (9)

  • TranslateHandlerPams/Web/Pams.Web/Client/app/app.module.ts:1
  • ProcurementInquiryComponentPams/Web/Pams.Web/Client/app/components/procurement/procurement-details/procurement-inquiry/procurement-inquiry.component.ts:1
  • ProcurementOfferComponentPams/Web/Pams.Web/Client/app/components/procurement/procurement-details/procurement-offer/procurement-offer.component.ts:1
  • ProcurementOrderComponentPams/Web/Pams.Web/Client/app/components/procurement/procurement-details/procurement-order/procurement-order.component.ts:1
  • PurchasingInquiryComponentPams/Web/Pams.Web/Client/app/components/purchasing/purchasing-details/purchasing-inquiry/purchasing-inquiry.component.ts:1
  • PurchasingOfferComponentPams/Web/Pams.Web/Client/app/components/purchasing/purchasing-details/purchasing-offer/purchasing-offer.component.ts:1
  • PurchasingOrderComponentPams/Web/Pams.Web/Client/app/components/purchasing/purchasing-details/purchasing-order/purchasing-order.component.ts:1
  • OrderPanelDetailsComponentPams/Web/Pams.Web/Client/app/components/sales/new-job/order-panel-details/order-panel-details.component.ts:1

…and 1 more.

Was this page helpful?

Download as PDF