{"version":3,"sources":["webpack://lcb-research-content/./node_modules/@syncfusion/ej2-grids/src/grid/base/grid.js"],"names":["_extendStatics","__extends","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SortDescriptor","_super","apply","SortSettings","Predicate","InfiniteScrollSettings","FilterSettings","SelectionSettings","SearchSettings","RowDropSettings","TextWrapSettings","ResizeSettings","GroupSettings","EditSettings","Grid","options","element","_this","call","isPreventScrollEvent","inViewIndexes","keyA","frozenRightCount","frozenLeftCount","tablesCount","movableCount","visibleFrozenLeft","visibleFrozenRight","visibleMovable","frozenLeftColumns","frozenRightColumns","movableColumns","media","isFreezeRefresh","tableIndex","componentRefresh","isVirtualAdaptive","vRows","vcRows","vGroupOffsets","rowUid","currentViewData","lockcolPositionCount","prevPageMoving","pageTemplateChange","isAutoGen","mediaBindInstance","commandDelIndex","undefined","asyncTimeOut","enableLogger","needsID","Grid_1","Inject","mergePersistGridData","getPersistData","keyEntity","ignoreOnPersist","pageSettings","filterSettings","groupSettings","searchSettings","sortSettings","columns","selectedRowIndex","scrollPosition","currentObject","_i","_a","template","isAngular","pagerTemplate","addOnPersist","requiredModules","setFrozenCount","modules","isDestroyed","allowFiltering","push","member","args","serviceLocator","allowExcelExport","allowPdfExport","allowSorting","sortedColumns","allowPaging","allowSelection","selectionSettings","allowReordering","allowRowDragAndDrop","allowGrouping","aggregates","isDetail","toolbar","toolbarTemplate","enableVirtualization","enableColumnVirtualization","getFrozenColumns","frozenRows","isCommandColumn","editSettings","allowAdding","allowDeleting","allowEditing","extendRequiredModules","enableInfiniteScrolling","enableLazyLoading","contextMenuItems","showColumnMenu","showColumnChooser","isForeignKeyEnabled","preRender","S","initProperties","initializeServices","isInitial","mediaCol","isInitialLoad","allowServerDataBinding","ignoreCollectionWatch","mergeCells","isEdit","checkAllRows","isCheckBoxSelection","isPersistSelection","filterOperators","contains","endsWith","equal","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","notEqual","startsWith","defaultLocale","EmptyRecord","True","False","InvalidFilterMessage","GroupDropArea","UnGroup","UnGroupButton","GroupDisable","FilterbarTitle","EmptyDataSourceError","Add","Edit","Cancel","Update","Delete","Print","Pdfexport","Excelexport","Wordexport","Csvexport","Search","Columnchooser","Save","Item","Items","EditOperationAlert","DeleteOperationAlert","SaveButton","OKButton","CancelButton","EditFormTitle","AddFormTitle","BatchSaveConfirm","BatchSaveLostChanges","ConfirmDelete","CancelEdit","ChooseColumns","SearchColumns","Matchs","FilterButton","ClearButton","StartsWith","EndsWith","Contains","Equal","NotEqual","LessThan","LessThanOrEqual","GreaterThan","GreaterThanOrEqual","ChooseDate","EnterValue","Copy","Group","Ungroup","autoFitAll","autoFit","AutoFitAll","AutoFit","Export","FirstPage","LastPage","PreviousPage","NextPage","SortAscending","SortDescending","EditRecord","DeleteRecord","FilterMenu","SelectAll","Blanks","FilterTrue","FilterFalse","NoResult","ClearFilter","Clear","NumberFilter","TextFilter","DateFilter","DateTimeFilter","MatchCase","Between","CustomFilter","CustomFilterPlaceHolder","CustomFilterDatePlaceHolder","AND","OR","ShowRowsWhere","FilterMenuDialogARIA","ExcelFilterDialogARIA","DialogEditARIA","ColumnChooserDialogARIA","ColumnMenuDialogARIA","CustomFilterDialogARIA","SortAtoZ","SortZtoA","SortByOldest","SortByNewest","SortSmallestToLargest","SortLargestToSmallest","Sort","keyConfigs","downArrow","upArrow","rightArrow","leftArrow","shiftDown","shiftUp","shiftRight","shiftLeft","home","end","escape","ctrlHome","ctrlEnd","pageUp","pageDown","ctrlAltPageUp","ctrlAltPageDown","altPageUp","altPageDown","altDownArrow","altUpArrow","ctrlDownArrow","ctrlUpArrow","ctrlPlusA","ctrlPlusP","insert","delete","f2","enter","ctrlEnter","shiftEnter","tab","shiftTab","space","ctrlPlusC","ctrlShiftPlusH","ctrlSpace","ctrlLeftArrow","ctrlRightArrow","render","log","ariaService","setOptions","role","createElement","renderModule","searchModule","scrollModule","notify","getDataModule","dataManager","dataSource","offline","url","trigger","enablePersistence","getMediaColumns","checkLockColumns","getColumns","processModel","gridRender","wireEvents","addListener","updateDefaultCursor","updateStackedFilter","showSpinner","hideSpinner","type","getHeaderContent","getElementsByClassName","classList","add","remove","gcol","getShowHideService","getService","index","hideAtMedia","visible","pushMediaColumn","col","uid","window","matchMedia","mediaQueryUpdate","bind","updateMediaColumns","getColumnIndexByUid","splice","columnIndex","e","some","mediaColumn","matches","invokedFromMedia","showHider","show","headerText","hide","refreshMediaCol","footerContent","querySelector","scrollHeight","height","filter","checkboxMode","rowRenderingMode","enableHover","setProperties","enableAdaptiveUI","removeMediaListener","removeListener","eventInitializer","destroy","gridElement","hasGridChild","unwireEvents","destroyDependentModules","toolTipObj","innerHTML","keyboardModule","focusModule","getModuleName","enableBoxSelection","enableAutoFill","cellSelectionMode","onPropertyChanged","newProp","oldProp","checkCursor","requireRefresh","requireGridRefresh","freezeRefresh","isEllipsisTooltip","close","properties","keys","indexOf","updateColumnObject","properties_1","prop","module","enable","currentPage","pageSize","totalRecordsCount","refreshHeader","width","headerModule","refreshUI","refresh","selectionModule","updateAutoFillPosition","rowTemplateFn","rowTemplate","detailTemplateFn","detailTemplate","oldProperties","isQueryInvokedFromData","extendedPropertyChange","isServerRendered","requestType","maintainSelection","updateRTL","ej2_instances","enableRtl","dataBind","removePadding","setPadding","toolbarModule","getToolbar","contextMenuModule","getContextMenu","columnMenuModule","getColumnMenu","showFilterBarOperator","updateResizeLines","rowHeight","updateGridLines","columnMenuItems","allowTextWrap","applyTextWrap","removeTextWrap","case","isModeChg","pending_1","getState","getPrototypeOf","deepWatch","pKeyField","getPrimaryKeyFieldNames","props","setRowData","isPending","gResult","result","names","group","count","setState","resolver","isDataChanged","scrollRefresh","isSelectedRowIndexUpdating","selectRow","widthService","setWidthToTable","enableVerticalRendering","on","fn_1","off","muteOnChange","filterModule","refreshFilter","setTablesCount","frozenCols","frozenLeft","getFrozenLeftColumnsCount","frozenRight","getFrozenRightColumnsCount","getTablesCount","headerCells","slice","querySelectorAll","stdHdrCell","cols","cells","contentModule","getHeaderCells","cell","updateColumnModel","len","columnModel","updateColumnLevelFrozen","updateFrozenColumns","updateLockableColumns","leftCols","rightCols","movableCols","freeze","freezeTable","concat","directFrozenCount","frozenColumns","totalFrozenCount","isFrozen","getFrozenLeftCount","isFrozenGrid","getFrozenMode","frozenName","frozenCount","lockColumn","isRefresh","inview","map","v","vLen","ensureFrozenCols","getStackedHeaderColumnByHeaderText","stackedHeader","individualColumn","field","stackedColumn","getColumnIndexesInView","getQuery","query","getLocaleConstants","setColumnIndexesInView","indexes","getVisibleColumns","getCurrentVisibleColumns","getPanel","setGridHeaderContent","setPanel","getContentTable","getTable","setGridContentTable","setTable","getContent","setGridContent","getHeaderTable","setGridHeaderTable","getFooterContent","footerElement","getFooterContentTable","firstChild","getPager","gridPager","setGridPager","getRowByIndex","getMovableRowByIndex","getFrozenRowByIndex","getFrozenDataRows","getRows","getRowElements","getFrozenRightRowByIndex","getRowInfo","ele","row","rowObj","getRowObjectFromUID","getAttribute","rowIndex","parseInt","rowData","data","cellIndex","isNaN","row_1","frzCols","tableName","getFreezeTableName","rows","getIndentCount","getMovableRows","getFrozenRightRows","rowsObject","column","getMovableRowElements","getFrozenRightRowElements","getDataRows","getAllDataRows","includeAdd","tbody","getFrozenLeftContentTbody","children","hdrTbody","freezeRows","addMovableRows","generateDataRows","fRows","mrows","includAdd","dRows","isCollapseStateEnabled","getMovableDataRows","getAllMovableDataRows","getAllFrozenDataRows","getFrozenRightDataRows","getAllFrozenRightDataRows","setCellValue","value","isRight","pkName","fieldIdx","getColumnIndexByField","getColumnByField","selectedRow","getFrozenRightRowsObject","tr","left","movable","getMovableColumnsCount","isRowDragable","frIdx","td","getCellFromIndex","Idx","childGrid","sRow","refreshTD","refreshReactColumnTemplateByUid","columnUid","isReact","clearTemplate","rowsObj","getRowsObject","indent","getNormalizedColumnIndex","j","isDataRow","cellRenderer","rowObjects","rowRenderer","changes","getForeignKeyColumns","getColumnByIndex","getMovableCellFromIndex","getFrozenRightCellFromIndex","getColumnHeaderByIndex","getMovableColumnHeaderByIndex","getMovableVirtualHeader","getFrozenRightColumnHeaderByIndex","getFrozenRightHeader","getFrozenLeftColumnHeaderByIndex","getFrozenVirtualHeader","isMovable","isFrozenRight","rowObject","rows_1","getMovableRowsObject","getColumnHeaderByField","getColumnHeaderByUid","parentElement","item","getColumnByUid","getStackedColumns","columns_1","getUidByColumnField","rowDropSettings","targetID","getColumnFieldNames","columnNames","getRowTemplate","getDetailTemplate","getEditTemplate","editTemplateFn","getEditHeaderTemplate","editHeaderTemplateFn","getEditFooterTemplate","editFooterTemplateFn","k","isPrimaryKey","getSelectedRows","selectedRecords","getSelectedRowIndexes","selectedRowIndexes","getSelectedRowCellIndexes","selectedRowCellIndexes","getSelectedRecords","getSelectedColumnsUid","selectedColumnsIndexes","showColumns","showBy","hideColumns","hideBy","getFrozenCount","splitFrozenCount","getVisibleFrozenLeftCount","getVisibleFrozenRightCount","getVisibleMovableCount","getFrozenRightColumns","getFrozenLeftColumns","getMovableColumns","getVisibleFrozenColumns","getVisibleFrozenColumnsCount","getVisibleFrozenCount","getFilterUIInfo","visibleFrozenColumns","cnt","goToPage","pageNo","pagerModule","updateExternalMessage","message","sortColumn","columnName","direction","isMultiSort","sortModule","clearSorting","removeSortColumn","filterByColumn","fieldName","filterOperator","filterValue","predicate","matchCase","ignoreAccent","actualFilterValue","actualOperator","clearFiltering","fields","removeFilteredColsByField","isClearFilterBar","isToggle","selectRows","rowIndexes","clearSelection","selectCell","selectCellsByRange","startIndex","endIndex","search","searchString","print","printModule","deleteRecord","fieldname","editModule","startEdit","endEdit","closeEdit","addRecord","deleteRow","editCell","saveCell","updateCell","updateRow","getBatchChanges","enableToolbarItems","items","isEnable","enableItems","copy","withHeader","clipboardModule","recalcIndentWidth","indentWidth","offsetWidth","headerCol","childNodes","contentCol","perPixel","parentOffset","applyWidth","newWidth","toFixed","style","setAttribute","resetIndentWidth","removeAttribute","setWidthToColumns","minWidth","tgridWidth","getTableWidth","setMinwidthBycalculation","refreshFrozenScrollbar","textWrapSettings","wrapMode","reorderColumns","fromFName","toFName","reorderModule","reorderColumnByIndex","fromIndex","toIndex","reorderColumnByTargetIndex","reorderRows","fromIndexes","rowDragAndDropModule","refreshDataSource","disableRowDD","headerTable","contentTable","headerRows","disValue","firstElementChild","autoFitColumns","fieldNames","resizeModule","createColumnchooser","x","y","columnChooserModule","renderColumnChooser","register","localeObj","locale","valueFormatterService","flag","gCols","sCols","_loop_1","sLen","this_1","isFromGroup","showGroupedColumn","moduleName","headerTemplate","footerTemplate","parentDetails","parentKeyFieldValue","where","queryString","initForeignColumn","rendererFactory","getRenderer","createGridPopUpElement","createTooltip","dataReady","setWidth","setHeight","popup","className","styles","content","attrs","tabIndex","appendChild","gridLines","allowResizing","opensOn","getTooltipStatus","headerDivTag","htable","createTable","ctable","table","getBoundingClientRect","document","body","removeChild","mouseMoveHandler","prevElement","tagName","innerText","open","hoverFrozenRows","clipMode","scrollHandler","tag","myTableDiv","cssText","mySubDiv","myTable","myTr","mytd","onKeyPressed","action","mouseClickHandler","focusOutHandler","dblClickHandler","keyPressHandler","allowKeyboard","keyAction","keyActionHandler","eventName","tapEvent","keyDownHandler","dataBoundFunction","addEventListener","removeEventListener","getCurrentViewRecords","records","isChildGrid","touches","checkEdit","preventDefault","mode","grid","id","dataRow","display","filterClear","relatedTarget","ariaOwns","keyPress","editFormValidate","persistedData","getLocalData","dataObj","JSON","parse","isProtectedOnChange","keys_1","isArray","mergeColumns","storedColumn","storedColumns","_loop_2","localCol","tCol","this_2","commands","commandsTemplate","foreignKeyValue","presskey","cancel","stopImmediatePropagation","altKey","keyCode","collapse","focusHeader","addOutline","focusContent","setInjectedModules","injectedModules","isForeignColumn","getRowHeight","refreshColumns","fCnt","frCnt","isColFrozen","mTbl","getMovableContent","colGroup","cloneNode","insertBefore","frTbl","getFrozenRightContent","colGrp","scrollLeft","getMovableHeader","excelExport","excelExportProperties","isMultipleExport","workbook","isBlob","excelExportModule","Map","csvExport","pdfExport","pdfExportProperties","pdfDoc","pdfExportModule","groupColumn","groupModule","groupExpandAll","expandAll","groupCollapseAll","collapseAll","clearGrouping","ungroupColumn","openColumnChooser","detailCollapseAll","detailRowModule","detailExpandAll","clearCellSelection","clearRowSelection","selectCells","rowCellIndexes","selectRowsByRange","isContextMenuOpen","isOpen","ensureModuleInjected","getInjectedModules","destroyTemplate","propertyNames","loggerModule","applyBiggerTheme","getPreviousRowData","hideScroll","scrollBar","clientHeight","overflowY","mvblScrollBar","mvblChild","getRowIndexByPrimaryKey","isDetailRow","isCaptionRow","pKvalue","split","grabColumnByFieldFromAllCols","grabColumnByUidFromAllCols","getFilteredRecords","generateQuery","isRemote","getData","executeLocal","getUserAgent","userAgent","test","clearTimeout","setTimeout","getRowUid","prefix","getMovableVirtualContent","getFrozenVirtualContent","getRowElementByUID","rowEle","mRows","frozenRigtRows","frHdr","cntRows","rows_2","getHiddenColumns","calculatePageSizeByParentHeight","containerHeight","pagesize","getNoncontentHeight","Math","floor","showDropArea","getSummaryValues","summaryCol","summaryData","toLowerCase","serverExcelExport","isExcel","exportGrid","serverPdfExport","serverCsvExport","state","processQuery","queries","gridModel","sorted","setHeaderText","form","gridInput","name","stringify","method","submit","include","format","getFormat","skeleton","updateRowValue","setForeignKeyData","colpending","getForeignKeyDataState","setForeignKeyDataState","resetFilterDlgPosition","header","filterDlg","gClient","fClient","right","toString","renderTemplates","renderReactTemplates","batchUpdate","processRowChanges","batchAsyncUpdate","processBulkRowChanges","dataToBeUpdated","loopstring","keyField","assign","addedRecords","changedRecords","deletedRecords","promise","saveChanges","requiresCount","then","setNewData","oldValues","bulkRefresh","deleteRowElement","mtr","out_i_1","_loop_3","this_3","_loop_4","isRowExist","this_4","renderRowElement","mTr","modelData","generateRows","addRowObject","emptyRow","parentNode","moveTbody","mRow","clone","getHeight","Number","isInteger","getMovableHeaderTbody","getMovableContentTbody","getFrozenHeaderTbody","getFrozenRightHeaderTbody","getFrozenRightContentTbody","showResponsiveCustomFilter","isCustom","showCustomFilter","showResponsiveCustomSort","showCustomSort","showAdaptiveFilterDialog","showAdaptiveSortDialog","isColVirtualization","gridCols_1"],"mappings":"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","file":"6205f812-c97e77f0de4dffdbc798.js","sourcesContent":["var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __decorate = this && this.__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nimport { Component, ChildProperty, Browser, closest, extend } from '@syncfusion/ej2-base';\nimport { isNullOrUndefined, setValue, getValue, isBlazor } from '@syncfusion/ej2-base';\nimport { addClass, removeClass, append, remove, classList, setStyleAttribute } from '@syncfusion/ej2-base';\nimport { Property, Collection, Complex, Event, NotifyPropertyChanges, L10n } from '@syncfusion/ej2-base';\nimport { EventHandler, KeyboardEvents } from '@syncfusion/ej2-base';\nimport { DataManager, DataUtil, UrlAdaptor } from '@syncfusion/ej2-data';\nimport { createSpinner, hideSpinner, showSpinner, Tooltip } from '@syncfusion/ej2-popups';\nimport { iterateArrayOrObject, prepareColumns, parentsUntil, wrap, templateCompiler, isGroupAdaptive, refreshForeignData } from './util';\nimport { getRowHeight, setColumnIndex, Global, ispercentageWidth, renderMovable, getNumberFormat } from './util';\nimport { setRowElements, resetRowIndex, compareChanges, getCellByColAndRowIndex, performComplexDataOperation } from './util';\nimport * as events from '../base/constant';\nimport { Render } from '../renderer/render';\nimport { RenderType } from './enum';\nimport { RowRenderer } from '../renderer/row-renderer';\nimport { CellRenderer } from '../renderer/cell-renderer';\nimport { CellRendererFactory } from '../services/cell-render-factory';\nimport { ServiceLocator } from '../services/service-locator';\nimport { ValueFormatter } from '../services/value-formatter';\nimport { RendererFactory } from '../services/renderer-factory';\nimport { ColumnWidthService } from '../services/width-controller';\nimport { AriaService } from '../services/aria-service';\nimport { FocusStrategy } from '../services/focus-strategy';\nimport { PageSettings } from '../models/page-settings';\nimport { ColumnChooserSettings } from '../models/column-chooser-settings';\nimport { Selection } from '../actions/selection';\nimport { Search } from '../actions/search';\nimport { ShowHide } from '../actions/show-hide';\nimport { Scroll } from '../actions/scroll';\nimport { Print } from '../actions/print';\nimport { AggregateRow } from '../models/aggregate';\nimport { Clipboard } from '../actions/clipboard';\nimport { RowModelGenerator } from '../services/row-model-generator';\nimport * as literals from '../base/string-literals';\n/**\n * Represents the field name and direction of sort column.\n */\n\nvar SortDescriptor =\n/** @class */\nfunction (_super) {\n __extends(SortDescriptor, _super);\n\n function SortDescriptor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property()], SortDescriptor.prototype, \"field\", void 0);\n\n __decorate([Property()], SortDescriptor.prototype, \"direction\", void 0);\n\n __decorate([Property(false)], SortDescriptor.prototype, \"isFromGroup\", void 0);\n\n return SortDescriptor;\n}(ChildProperty);\n\nexport { SortDescriptor };\n/**\n * Configures the sorting behavior of Grid.\n */\n\nvar SortSettings =\n/** @class */\nfunction (_super) {\n __extends(SortSettings, _super);\n\n function SortSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Collection([], SortDescriptor)], SortSettings.prototype, \"columns\", void 0);\n\n __decorate([Property(true)], SortSettings.prototype, \"allowUnsort\", void 0);\n\n return SortSettings;\n}(ChildProperty);\n\nexport { SortSettings };\n/**\n * Represents the predicate for the filter column.\n */\n\nvar Predicate =\n/** @class */\nfunction (_super) {\n __extends(Predicate, _super);\n\n function Predicate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property()], Predicate.prototype, \"field\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"operator\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"value\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"matchCase\", void 0);\n\n __decorate([Property(false)], Predicate.prototype, \"ignoreAccent\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"predicate\", void 0);\n\n __decorate([Property({})], Predicate.prototype, \"actualFilterValue\", void 0);\n\n __decorate([Property({})], Predicate.prototype, \"actualOperator\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"type\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"ejpredicate\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"uid\", void 0);\n\n __decorate([Property()], Predicate.prototype, \"isForeignKey\", void 0);\n\n return Predicate;\n}(ChildProperty);\n\nexport { Predicate };\n/**\n * Configures the infinite scroll behavior of Grid.\n */\n\nvar InfiniteScrollSettings =\n/** @class */\nfunction (_super) {\n __extends(InfiniteScrollSettings, _super);\n\n function InfiniteScrollSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property(false)], InfiniteScrollSettings.prototype, \"enableCache\", void 0);\n\n __decorate([Property(3)], InfiniteScrollSettings.prototype, \"maxBlocks\", void 0);\n\n __decorate([Property(3)], InfiniteScrollSettings.prototype, \"initialBlocks\", void 0);\n\n return InfiniteScrollSettings;\n}(ChildProperty);\n\nexport { InfiniteScrollSettings };\n/**\n * Configures the filtering behavior of the Grid.\n */\n\nvar FilterSettings =\n/** @class */\nfunction (_super) {\n __extends(FilterSettings, _super);\n\n function FilterSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Collection([], Predicate)], FilterSettings.prototype, \"columns\", void 0);\n\n __decorate([Property('FilterBar')], FilterSettings.prototype, \"type\", void 0);\n\n __decorate([Property()], FilterSettings.prototype, \"mode\", void 0);\n\n __decorate([Property(true)], FilterSettings.prototype, \"showFilterBarStatus\", void 0);\n\n __decorate([Property(1500)], FilterSettings.prototype, \"immediateModeDelay\", void 0);\n\n __decorate([Property()], FilterSettings.prototype, \"operators\", void 0);\n\n __decorate([Property(false)], FilterSettings.prototype, \"ignoreAccent\", void 0);\n\n __decorate([Property(false)], FilterSettings.prototype, \"enableCaseSensitivity\", void 0);\n\n __decorate([Property(false)], FilterSettings.prototype, \"showFilterBarOperator\", void 0);\n\n return FilterSettings;\n}(ChildProperty);\n\nexport { FilterSettings };\n/**\n * Configures the selection behavior of the Grid.\n */\n\nvar SelectionSettings =\n/** @class */\nfunction (_super) {\n __extends(SelectionSettings, _super);\n\n function SelectionSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property('Row')], SelectionSettings.prototype, \"mode\", void 0);\n\n __decorate([Property('Flow')], SelectionSettings.prototype, \"cellSelectionMode\", void 0);\n\n __decorate([Property('Single')], SelectionSettings.prototype, \"type\", void 0);\n\n __decorate([Property(false)], SelectionSettings.prototype, \"checkboxOnly\", void 0);\n\n __decorate([Property(false)], SelectionSettings.prototype, \"persistSelection\", void 0);\n\n __decorate([Property('Default')], SelectionSettings.prototype, \"checkboxMode\", void 0);\n\n __decorate([Property(false)], SelectionSettings.prototype, \"enableSimpleMultiRowSelection\", void 0);\n\n __decorate([Property(true)], SelectionSettings.prototype, \"enableToggle\", void 0);\n\n __decorate([Property(false)], SelectionSettings.prototype, \"allowColumnSelection\", void 0);\n\n return SelectionSettings;\n}(ChildProperty);\n\nexport { SelectionSettings };\n/**\n * Configures the search behavior of the Grid.\n */\n\nvar SearchSettings =\n/** @class */\nfunction (_super) {\n __extends(SearchSettings, _super);\n\n function SearchSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property([])], SearchSettings.prototype, \"fields\", void 0);\n\n __decorate([Property('')], SearchSettings.prototype, \"key\", void 0);\n\n __decorate([Property('contains')], SearchSettings.prototype, \"operator\", void 0);\n\n __decorate([Property(true)], SearchSettings.prototype, \"ignoreCase\", void 0);\n\n __decorate([Property(false)], SearchSettings.prototype, \"ignoreAccent\", void 0);\n\n return SearchSettings;\n}(ChildProperty);\n\nexport { SearchSettings };\n/**\n * Configures the row drop settings of the Grid.\n */\n\nvar RowDropSettings =\n/** @class */\nfunction (_super) {\n __extends(RowDropSettings, _super);\n\n function RowDropSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property()], RowDropSettings.prototype, \"targetID\", void 0);\n\n return RowDropSettings;\n}(ChildProperty);\n\nexport { RowDropSettings };\n/**\n * Configures the text wrap settings of the Grid.\n */\n\nvar TextWrapSettings =\n/** @class */\nfunction (_super) {\n __extends(TextWrapSettings, _super);\n\n function TextWrapSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property('Both')], TextWrapSettings.prototype, \"wrapMode\", void 0);\n\n return TextWrapSettings;\n}(ChildProperty);\n\nexport { TextWrapSettings };\n/**\n * Configures the resize behavior of the Grid.\n */\n\nvar ResizeSettings =\n/** @class */\nfunction (_super) {\n __extends(ResizeSettings, _super);\n\n function ResizeSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property('Normal')], ResizeSettings.prototype, \"mode\", void 0);\n\n return ResizeSettings;\n}(ChildProperty);\n\nexport { ResizeSettings };\n/**\n * Configures the group behavior of the Grid.\n */\n\nvar GroupSettings =\n/** @class */\nfunction (_super) {\n __extends(GroupSettings, _super);\n\n function GroupSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property(true)], GroupSettings.prototype, \"showDropArea\", void 0);\n\n __decorate([Property(false)], GroupSettings.prototype, \"allowReordering\", void 0);\n\n __decorate([Property(false)], GroupSettings.prototype, \"showToggleButton\", void 0);\n\n __decorate([Property(false)], GroupSettings.prototype, \"showGroupedColumn\", void 0);\n\n __decorate([Property(true)], GroupSettings.prototype, \"showUngroupButton\", void 0);\n\n __decorate([Property(false)], GroupSettings.prototype, \"disablePageWiseAggregates\", void 0);\n\n __decorate([Property([])], GroupSettings.prototype, \"columns\", void 0);\n\n __decorate([Property()], GroupSettings.prototype, \"captionTemplate\", void 0);\n\n __decorate([Property(false)], GroupSettings.prototype, \"enableLazyLoading\", void 0);\n\n return GroupSettings;\n}(ChildProperty);\n\nexport { GroupSettings };\n/**\n * Configures the edit behavior of the Grid.\n */\n\nvar EditSettings =\n/** @class */\nfunction (_super) {\n __extends(EditSettings, _super);\n\n function EditSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n __decorate([Property(false)], EditSettings.prototype, \"allowAdding\", void 0);\n\n __decorate([Property(false)], EditSettings.prototype, \"allowEditing\", void 0);\n\n __decorate([Property(false)], EditSettings.prototype, \"allowDeleting\", void 0);\n\n __decorate([Property('Normal')], EditSettings.prototype, \"mode\", void 0);\n\n __decorate([Property(true)], EditSettings.prototype, \"allowEditOnDblClick\", void 0);\n\n __decorate([Property(true)], EditSettings.prototype, \"showConfirmDialog\", void 0);\n\n __decorate([Property(false)], EditSettings.prototype, \"showDeleteConfirmDialog\", void 0);\n\n __decorate([Property('')], EditSettings.prototype, \"template\", void 0);\n\n __decorate([Property('')], EditSettings.prototype, \"headerTemplate\", void 0);\n\n __decorate([Property('')], EditSettings.prototype, \"footerTemplate\", void 0);\n\n __decorate([Property('Top')], EditSettings.prototype, \"newRowPosition\", void 0);\n\n __decorate([Property({})], EditSettings.prototype, \"dialog\", void 0);\n\n __decorate([Property(false)], EditSettings.prototype, \"allowNextRowEdit\", void 0);\n\n return EditSettings;\n}(ChildProperty);\n\nexport { EditSettings };\n/**\n * Represents the Grid component.\n * ```html\n *
\n * \n * ```\n */\n\nvar Grid =\n/** @class */\nfunction (_super) {\n __extends(Grid, _super);\n /**\n * Constructor for creating the component\n * @hidden\n */\n\n\n function Grid(options, element) {\n var _this = _super.call(this, options, element) || this;\n\n _this.isPreventScrollEvent = false;\n _this.inViewIndexes = [];\n _this.keyA = false;\n _this.frozenRightCount = 0;\n _this.frozenLeftCount = 0;\n _this.tablesCount = 1;\n _this.movableCount = 0;\n _this.visibleFrozenLeft = 0;\n _this.visibleFrozenRight = 0;\n _this.visibleMovable = 0;\n _this.frozenLeftColumns = [];\n _this.frozenRightColumns = [];\n _this.movableColumns = [];\n _this.media = {};\n _this.isFreezeRefresh = false;\n /** @hidden */\n\n _this.tableIndex = 0;\n _this.componentRefresh = Component.prototype.refresh;\n /** @hidden */\n\n _this.isVirtualAdaptive = false;\n /** @hidden */\n\n _this.vRows = [];\n /** @hidden */\n\n _this.vcRows = [];\n /** @hidden */\n\n _this.vGroupOffsets = {};\n /** @hidden */\n\n _this.rowUid = 0;\n /**\n * Gets the currently visible records of the Grid.\n */\n\n _this.currentViewData = [];\n /** @hidden */\n\n _this.lockcolPositionCount = 0;\n /** @hidden */\n\n _this.prevPageMoving = false;\n /** @hidden */\n\n _this.pageTemplateChange = false;\n /** @hidden */\n\n _this.isAutoGen = false;\n _this.mediaBindInstance = {};\n /** @hidden */\n\n _this.commandDelIndex = undefined;\n /** @hidden */\n\n _this.asyncTimeOut = 50; // enable/disable logger for MVC & Core\n\n _this.enableLogger = true;\n _this.needsID = true;\n Grid_1.Inject(Selection);\n setValue('mergePersistData', _this.mergePersistGridData, _this);\n return _this;\n }\n\n Grid_1 = Grid;\n /**\n * Get the properties to be maintained in the persisted state.\n * @return {string}\n */\n\n Grid.prototype.getPersistData = function () {\n var keyEntity = ['pageSettings', 'sortSettings', 'filterSettings', 'groupSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'scrollPosition'];\n var ignoreOnPersist = {\n pageSettings: ['template', 'pageSizes', 'enableQueryString', 'totalRecordsCount', 'pageCount'],\n filterSettings: ['type', 'mode', 'showFilterBarStatus', 'immediateModeDelay', 'ignoreAccent'],\n groupSettings: ['showDropArea', 'showToggleButton', 'showGroupedColumn', 'showUngroupButton', 'disablePageWiseAggregates', 'hideCaptionCount'],\n searchSettings: ['fields', 'operator', 'ignoreCase'],\n sortSettings: [],\n columns: [],\n selectedRowIndex: [],\n scrollPosition: []\n };\n var ignoreOnColumn = ['filter', 'edit', 'filterBarTemplate', 'headerTemplate', 'template', 'commandTemplate', 'commands', 'dataSource', 'headerText'];\n\n for (var i = 0; i < keyEntity.length; i++) {\n var currentObject = this[keyEntity[i]];\n\n for (var _i = 0, _a = ignoreOnPersist[keyEntity[i]]; _i < _a.length; _i++) {\n var val = _a[_i];\n delete currentObject[val];\n }\n }\n\n this.pageSettings.template = undefined;\n /* tslint:disable-next-line:no-any */\n\n if (this.isAngular) {\n /* tslint:disable:no-string-literal */\n delete this.groupSettings['properties']['captionTemplate'];\n }\n\n this.pageTemplateChange = !isNullOrUndefined(this.pagerTemplate);\n return this.addOnPersist(keyEntity);\n };\n /**\n * To provide the array of modules needed for component rendering\n * @return {ModuleDeclaration[]}\n * @hidden\n */\n // tslint:disable-next-line:max-func-body-length\n\n\n Grid.prototype.requiredModules = function () {\n this.setFrozenCount();\n var modules = [];\n\n if (this.isDestroyed) {\n return modules;\n }\n\n if (this.allowFiltering) {\n modules.push({\n member: 'filter',\n args: [this, this.filterSettings, this.serviceLocator]\n });\n }\n\n if (this.allowExcelExport) {\n modules.push({\n member: 'ExcelExport',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.allowPdfExport) {\n modules.push({\n member: 'PdfExport',\n args: [this]\n });\n }\n\n if (this.allowSorting) {\n modules.push({\n member: 'sort',\n args: [this, this.sortSettings, this.sortedColumns, this.serviceLocator]\n });\n }\n\n if (this.allowPaging) {\n modules.push({\n member: 'pager',\n args: [this, this.pageSettings]\n });\n }\n\n if (this.allowSelection) {\n modules.push({\n member: 'selection',\n args: [this, this.selectionSettings, this.serviceLocator]\n });\n }\n\n modules.push({\n member: 'resize',\n args: [this]\n });\n\n if (this.allowReordering) {\n modules.push({\n member: 'reorder',\n args: [this]\n });\n }\n\n if (this.allowRowDragAndDrop) {\n modules.push({\n member: 'rowDragAndDrop',\n args: [this]\n });\n }\n\n if (this.allowGrouping) {\n modules.push({\n member: 'group',\n args: [this, this.groupSettings, this.sortedColumns, this.serviceLocator]\n });\n }\n\n if (this.aggregates.length) {\n modules.push({\n member: 'aggregate',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.isDetail()) {\n modules.push({\n member: 'detailRow',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.toolbar || this.toolbarTemplate) {\n modules.push({\n member: 'toolbar',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.enableVirtualization || this.enableColumnVirtualization) {\n modules.push({\n member: 'virtualscroll',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.getFrozenColumns() || this.frozenRows || this.frozenRightCount || this.frozenLeftCount) {\n modules.push({\n member: 'freeze',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.isCommandColumn(this.columns)) {\n modules.push({\n member: 'commandColumn',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.editSettings.allowAdding || this.editSettings.allowDeleting || this.editSettings.allowEditing) {\n modules.push({\n member: 'edit',\n args: [this, this.serviceLocator]\n });\n }\n\n this.extendRequiredModules(modules);\n return modules;\n };\n\n Grid.prototype.extendRequiredModules = function (modules) {\n if (this.enableInfiniteScrolling) {\n modules.push({\n member: 'infiniteScroll',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.groupSettings.enableLazyLoading) {\n modules.push({\n member: 'lazyLoadGroup',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.contextMenuItems) {\n modules.push({\n member: 'contextMenu',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.showColumnMenu) {\n modules.push({\n member: 'columnMenu',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.showColumnChooser) {\n modules.push({\n member: 'columnChooser',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.isForeignKeyEnabled(this.columns)) {\n modules.push({\n member: 'foreignKey',\n args: [this, this.serviceLocator]\n });\n }\n\n if (this.enableLogger) {\n modules.push({\n member: 'logger',\n args: [this]\n });\n }\n };\n /**\n * For internal use only - Initialize the event handler;\n * @private\n */\n\n\n Grid.prototype.preRender = function () {\n this.serviceLocator = new ServiceLocator();\n this.initProperties();\n this.initializeServices();\n };\n\n Grid.prototype.initProperties = function () {\n /* tslint:disable */\n this.isInitial = true;\n this.sortedColumns = [];\n this.inViewIndexes = [];\n this.mediaCol = [];\n this.isInitialLoad = false;\n this.allowServerDataBinding = false;\n this.ignoreCollectionWatch = true;\n this.mergeCells = {};\n this.isEdit = false;\n this.checkAllRows = 'None';\n this.isCheckBoxSelection = false;\n this.isPersistSelection = false;\n this.componentRefresh = Component.prototype.refresh;\n this.filterOperators = {\n contains: 'contains',\n endsWith: 'endswith',\n equal: 'equal',\n greaterThan: 'greaterthan',\n greaterThanOrEqual: 'greaterthanorequal',\n lessThan: 'lessthan',\n lessThanOrEqual: 'lessthanorequal',\n notEqual: 'notequal',\n startsWith: 'startswith'\n };\n this.defaultLocale = {\n EmptyRecord: 'No records to display',\n True: 'true',\n False: 'false',\n InvalidFilterMessage: 'Invalid Filter Data',\n GroupDropArea: 'Drag a column header here to group its column',\n UnGroup: 'Click here to ungroup',\n UnGroupButton: 'Click here to ungroup',\n GroupDisable: 'Grouping is disabled for this column',\n FilterbarTitle: '\\'s filter bar cell',\n EmptyDataSourceError: 'DataSource must not be empty at initial load since columns are generated from dataSource in AutoGenerate Column Grid',\n // Toolbar Items\n Add: 'Add',\n Edit: 'Edit',\n Cancel: 'Cancel',\n Update: 'Update',\n Delete: 'Delete',\n Print: 'Print',\n Pdfexport: 'PDF Export',\n Excelexport: 'Excel Export',\n Wordexport: 'Word Export',\n Csvexport: 'CSV Export',\n Search: 'Search',\n Columnchooser: 'Columns',\n Save: 'Save',\n Item: 'item',\n Items: 'items',\n EditOperationAlert: 'No records selected for edit operation',\n DeleteOperationAlert: 'No records selected for delete operation',\n SaveButton: 'Save',\n OKButton: 'OK',\n CancelButton: 'Cancel',\n EditFormTitle: 'Details of ',\n AddFormTitle: 'Add New Record',\n BatchSaveConfirm: 'Are you sure you want to save changes?',\n BatchSaveLostChanges: 'Unsaved changes will be lost. Are you sure you want to continue?',\n ConfirmDelete: 'Are you sure you want to Delete Record?',\n CancelEdit: 'Are you sure you want to Cancel the changes?',\n ChooseColumns: 'Choose Column',\n SearchColumns: 'search columns',\n Matchs: 'No matches found',\n FilterButton: 'Filter',\n ClearButton: 'Clear',\n StartsWith: 'Starts With',\n EndsWith: 'Ends With',\n Contains: 'Contains',\n Equal: 'Equal',\n NotEqual: 'Not Equal',\n LessThan: 'Less Than',\n LessThanOrEqual: 'Less Than Or Equal',\n GreaterThan: 'Greater Than',\n GreaterThanOrEqual: 'Greater Than Or Equal',\n ChooseDate: 'Choose a Date',\n EnterValue: 'Enter the value',\n Copy: 'Copy',\n Group: 'Group by this column',\n Ungroup: 'Ungroup by this column',\n autoFitAll: 'Autofit all columns',\n autoFit: 'Autofit this column',\n AutoFitAll: 'Autofit all columns',\n AutoFit: 'Autofit this column',\n Export: 'Export',\n FirstPage: 'First Page',\n LastPage: 'Last Page',\n PreviousPage: 'Previous Page',\n NextPage: 'Next Page',\n SortAscending: 'Sort Ascending',\n SortDescending: 'Sort Descending',\n EditRecord: 'Edit Record',\n DeleteRecord: 'Delete Record',\n FilterMenu: 'Filter',\n SelectAll: 'Select All',\n Blanks: 'Blanks',\n FilterTrue: 'True',\n FilterFalse: 'False',\n NoResult: 'No matches found',\n ClearFilter: 'Clear Filter',\n Clear: 'Clear',\n NumberFilter: 'Number Filters',\n TextFilter: 'Text Filters',\n DateFilter: 'Date Filters',\n DateTimeFilter: 'DateTime Filters',\n MatchCase: 'Match Case',\n Between: 'Between',\n CustomFilter: 'Custom Filter',\n CustomFilterPlaceHolder: 'Enter the value',\n CustomFilterDatePlaceHolder: 'Choose a date',\n AND: 'AND',\n OR: 'OR',\n ShowRowsWhere: 'Show rows where:',\n FilterMenuDialogARIA: 'Filter menu dialog',\n ExcelFilterDialogARIA: 'Excel filter dialog',\n DialogEditARIA: 'Edit dialog',\n ColumnChooserDialogARIA: 'Column chooser dialog',\n ColumnMenuDialogARIA: 'Column menu dialog',\n CustomFilterDialogARIA: 'Customer filter dialog',\n SortAtoZ: 'Sort A to Z',\n SortZtoA: 'Sort Z to A',\n SortByOldest: 'Sort by Oldest',\n SortByNewest: 'Sort by Newest',\n SortSmallestToLargest: 'Sort Smallest to Largest',\n SortLargestToSmallest: 'Sort Largest to Smallest',\n Sort: 'Sort'\n };\n this.keyConfigs = {\n downArrow: 'downarrow',\n upArrow: 'uparrow',\n rightArrow: 'rightarrow',\n leftArrow: 'leftarrow',\n shiftDown: 'shift+downarrow',\n shiftUp: 'shift+uparrow',\n shiftRight: 'shift+rightarrow',\n shiftLeft: 'shift+leftarrow',\n home: 'home',\n end: 'end',\n escape: 'escape',\n ctrlHome: 'ctrl+home',\n ctrlEnd: 'ctrl+end',\n pageUp: 'pageup',\n pageDown: 'pagedown',\n ctrlAltPageUp: 'ctrl+alt+pageup',\n ctrlAltPageDown: 'ctrl+alt+pagedown',\n altPageUp: 'alt+pageup',\n altPageDown: 'alt+pagedown',\n altDownArrow: 'alt+downarrow',\n altUpArrow: 'alt+uparrow',\n ctrlDownArrow: 'ctrl+downarrow',\n ctrlUpArrow: 'ctrl+uparrow',\n ctrlPlusA: 'ctrl+A',\n ctrlPlusP: 'ctrl+P',\n insert: 'insert',\n delete: 'delete',\n f2: 'f2',\n enter: 'enter',\n ctrlEnter: 'ctrl+enter',\n shiftEnter: 'shift+enter',\n tab: 'tab',\n shiftTab: 'shift+tab',\n space: 'space',\n ctrlPlusC: 'ctrl+C',\n ctrlShiftPlusH: 'ctrl+shift+H',\n ctrlSpace: 'ctrl+space',\n ctrlLeftArrow: 'ctrl+leftarrow',\n ctrlRightArrow: 'ctrl+rightarrow'\n };\n /* tslint:enable */\n };\n /**\n * For internal use only - To Initialize the component rendering.\n * @private\n */\n\n\n Grid.prototype.render = function () {\n this.log(['module_missing', 'promise_enabled', 'locale_missing', 'check_datasource_columns']);\n this.ariaService.setOptions(this.element, {\n role: 'grid'\n });\n createSpinner({\n target: this.element\n }, this.createElement);\n this.renderModule = new Render(this, this.serviceLocator);\n this.searchModule = new Search(this);\n this.scrollModule = new Scroll(this);\n this.notify(events.initialLoad, {});\n\n if (this.getDataModule().dataManager.dataSource.offline === true || this.getDataModule().dataManager.dataSource.url === undefined) {\n this.isVirtualAdaptive = true;\n }\n\n this.trigger(events.load);\n prepareColumns(this.columns, this.enableColumnVirtualization, this);\n\n if (this.enablePersistence) {\n this.notify(events.columnsPrepared, {});\n }\n\n this.getMediaColumns();\n setColumnIndex(this.columns);\n this.checkLockColumns(this.columns);\n this.getColumns();\n this.processModel();\n this.gridRender();\n this.wireEvents();\n this.addListener();\n this.updateDefaultCursor();\n this.updateStackedFilter();\n this.showSpinner();\n this.notify(events.initialEnd, {});\n };\n /**\n * By default, grid shows the spinner for all its actions. You can use this method to show spinner at your needed time.\n */\n\n\n Grid.prototype.showSpinner = function () {\n showSpinner(this.element);\n };\n /**\n * Manually showed spinner needs to hide by `hideSpinnner`.\n */\n\n\n Grid.prototype.hideSpinner = function () {\n hideSpinner(this.element);\n };\n\n Grid.prototype.updateStackedFilter = function () {\n if (this.allowFiltering && this.filterSettings.type === 'FilterBar' && this.getHeaderContent().getElementsByClassName('e-stackedheadercell').length) {\n this.getHeaderContent().classList.add('e-stackedfilter');\n } else {\n this.getHeaderContent().classList.remove('e-stackedfilter');\n }\n };\n\n Grid.prototype.getMediaColumns = function () {\n if (!this.enableColumnVirtualization) {\n var gcol = this.getColumns();\n this.getShowHideService = this.serviceLocator.getService('showHideService');\n\n if (!isNullOrUndefined(gcol)) {\n for (var index = 0; index < gcol.length; index++) {\n if (!isNullOrUndefined(gcol[index].hideAtMedia) && (isNullOrUndefined(gcol[index].visible) || gcol[index].visible)) {\n this.pushMediaColumn(gcol[index], index);\n }\n }\n }\n }\n };\n\n Grid.prototype.pushMediaColumn = function (col, index) {\n this.mediaCol.push(col);\n this.media[col.uid] = window.matchMedia(col.hideAtMedia);\n this.mediaQueryUpdate(index, this.media[col.uid]);\n this.mediaBindInstance[index] = this.mediaQueryUpdate.bind(this, index);\n this.media[col.uid].addListener(this.mediaBindInstance[index]);\n };\n /**\n * @hidden\n */\n\n\n Grid.prototype.updateMediaColumns = function (col) {\n if (!this.enableColumnVirtualization) {\n var index = this.getColumnIndexByUid(col.uid);\n\n for (var i = 0; i < this.mediaCol.length; i++) {\n if (col.uid === this.mediaCol[i].uid) {\n this.mediaCol.splice(i, 1);\n return;\n }\n }\n\n this.pushMediaColumn(col, index);\n }\n };\n /**\n * @hidden\n */\n\n\n Grid.prototype.mediaQueryUpdate = function (columnIndex, e) {\n var col = this.getColumns()[columnIndex];\n\n if (this.mediaCol.some(function (mediaColumn) {\n return mediaColumn.uid === col.uid;\n })) {\n col.visible = e.matches;\n\n if (this.isInitialLoad) {\n this.invokedFromMedia = true;\n\n if (col.visible) {\n this.showHider.show(col.headerText, 'headerText');\n } else {\n this.showHider.hide(col.headerText, 'headerText');\n }\n }\n }\n };\n\n Grid.prototype.refreshMediaCol = function () {\n this.isInitialLoad = true;\n var footerContent = this.element.querySelector('.' + literals.gridFooter);\n\n if (this.aggregates.length && this.element.scrollHeight > this.height && footerContent) {\n addClass([footerContent], ['e-footerpadding']);\n }\n\n var checkboxColumn = this.getColumns().filter(function (col) {\n return col.type === 'checkbox';\n });\n\n if (checkboxColumn.length && this.selectionSettings.checkboxMode === 'ResetOnRowClick') {\n this.isCheckBoxSelection = false;\n }\n\n if (this.rowRenderingMode === 'Vertical') {\n if (this.enableHover) {\n this.setProperties({\n enableAdaptiveUI: true,\n enableHover: false\n }, true);\n removeClass([this.element], 'e-gridhover');\n }\n }\n };\n\n Grid.prototype.removeMediaListener = function () {\n for (var i = 0; i < this.mediaCol.length; i++) {\n this.media[this.mediaCol[i].uid].removeListener(this.mediaBindInstance[this.mediaCol[i].index]);\n }\n };\n /**\n * For internal use only - Initialize the event handler\n * @private\n */\n\n\n Grid.prototype.eventInitializer = function () {//eventInitializer\n };\n /**\n * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).\n * @method destroy\n * @return {void}\n */\n\n\n Grid.prototype.destroy = function () {\n var gridElement = this.element;\n\n if (!gridElement) {\n return;\n }\n\n var hasGridChild = gridElement.querySelector('.' + literals.gridHeader) && gridElement.querySelector('.' + literals.gridContent) ? true : false;\n\n if (hasGridChild) {\n this.unwireEvents();\n }\n\n this.removeListener();\n this.removeMediaListener();\n this.notify(events.destroy, {});\n this.destroyDependentModules();\n\n if (hasGridChild) {\n _super.prototype.destroy.call(this);\n }\n\n this.toolTipObj.destroy();\n var modules = ['renderModule', 'headerModule', 'contentModule', 'valueFormatterService', 'serviceLocator', 'ariaService', 'keyboardModule', 'widthService', 'searchModule', 'showHider', 'scrollModule', 'printModule', 'clipboardModule', 'focusModule'];\n\n for (var i = 0; i < modules.length; i++) {\n if (this[modules[i]]) {\n this[modules[i]] = null;\n }\n }\n\n this.element.innerHTML = '';\n classList(this.element, [], ['e-rtl', 'e-gridhover', 'e-responsive', 'e-default', 'e-device', 'e-grid-min-height']);\n\n if (this.isAngular && !this.isFreezeRefresh) {\n this.element = null;\n }\n\n this.isFreezeRefresh = false;\n };\n\n Grid.prototype.destroyDependentModules = function () {\n var gridElement = this.element;\n\n if (!gridElement || !gridElement.querySelector('.' + literals.gridHeader) && !gridElement.querySelector('.' + literals.gridContent)) {\n return;\n }\n\n this.scrollModule.destroy();\n this.keyboardModule.destroy();\n this.focusModule.destroy();\n };\n /**\n * For internal use only - Get the module name.\n * @private\n */\n\n\n Grid.prototype.getModuleName = function () {\n return 'grid';\n };\n\n Grid.prototype.enableBoxSelection = function () {\n if (this.enableAutoFill) {\n this.selectionSettings.cellSelectionMode = 'BoxWithBorder';\n this.element.classList.add('e-afenabled');\n } else {\n this.element.classList.remove('e-afenabled');\n }\n };\n /**\n * Called internally if any of the property value changed.\n * @hidden\n */\n\n /* tslint:disable-next-line:max-line-length */\n // tslint:disable-next-line:max-func-body-length\n\n\n Grid.prototype.onPropertyChanged = function (newProp, oldProp) {\n var requireRefresh = false;\n var requireGridRefresh = false;\n var freezeRefresh = false;\n var checkCursor;\n var args = {\n requestType: 'refresh'\n };\n\n if (this.isDestroyed) {\n return;\n }\n\n this.log('module_missing');\n\n if (this.isEllipsisTooltip()) {\n this.toolTipObj.close();\n }\n\n var properties = Object.keys(newProp);\n\n if (properties.indexOf('columns') > -1) {\n this.updateColumnObject();\n requireGridRefresh = true;\n }\n\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\n var prop = properties_1[_i];\n\n switch (prop) {\n case 'allowPaging':\n this.notify(events.uiUpdate, {\n module: 'pager',\n enable: this.allowPaging\n });\n requireRefresh = true;\n break;\n\n case 'pageSettings':\n if (this.pageTemplateChange) {\n this.pageTemplateChange = false;\n this.notify(events.inBoundModelChanged, {\n module: 'pager',\n properties: newProp.pageSettings\n });\n break;\n }\n\n this.notify(events.inBoundModelChanged, {\n module: 'pager',\n properties: newProp.pageSettings\n });\n\n if (isNullOrUndefined(newProp.pageSettings.currentPage) && isNullOrUndefined(newProp.pageSettings.pageSize) && isNullOrUndefined(newProp.pageSettings.totalRecordsCount) || !isNullOrUndefined(oldProp.pageSettings) && newProp.pageSettings.currentPage !== oldProp.pageSettings.currentPage && !this.enableColumnVirtualization && !this.enableVirtualization && this.pageSettings.totalRecordsCount <= this.pageSettings.pageSize) {\n requireRefresh = true;\n }\n\n break;\n\n case 'allowSorting':\n this.notify(events.uiUpdate, {\n module: 'sort',\n enable: this.allowSorting\n });\n requireRefresh = true;\n checkCursor = true;\n break;\n\n case 'allowFiltering':\n this.updateStackedFilter();\n this.notify(events.uiUpdate, {\n module: 'filter',\n enable: this.allowFiltering\n });\n requireRefresh = true;\n\n if (this.filterSettings.type !== 'FilterBar') {\n this.refreshHeader();\n }\n\n break;\n\n case 'height':\n case 'width':\n this.notify(events.uiUpdate, {\n module: 'scroll',\n properties: {\n width: newProp.width,\n height: newProp.height\n }\n });\n break;\n\n case 'allowReordering':\n this.headerModule.refreshUI();\n checkCursor = true;\n break;\n\n case 'allowRowDragAndDrop':\n this.notify(events.uiUpdate, {\n module: 'rowDragAndDrop',\n enable: this.allowRowDragAndDrop\n });\n this.renderModule.refresh();\n this.headerModule.refreshUI();\n break;\n\n case 'allowSelection':\n this.notify(events.uiUpdate, {\n module: 'selection',\n enable: this.allowSelection\n });\n break;\n\n case 'enableAutoFill':\n if (this.selectionModule) {\n this.enableBoxSelection();\n this.selectionModule.updateAutoFillPosition();\n }\n\n break;\n\n case 'rowTemplate':\n this.rowTemplateFn = templateCompiler(this.rowTemplate);\n requireRefresh = true;\n break;\n\n case 'detailTemplate':\n this.detailTemplateFn = templateCompiler(this.detailTemplate);\n requireRefresh = true;\n break;\n\n case 'allowGrouping':\n this.notify(events.uiUpdate, {\n module: 'group',\n enable: this.allowGrouping\n });\n this.headerModule.refreshUI();\n requireRefresh = true;\n checkCursor = true;\n break;\n\n case 'enableInfiniteScrolling':\n case 'childGrid':\n requireRefresh = true;\n break;\n\n case 'toolbar':\n this.notify(events.uiUpdate, {\n module: 'toolbar'\n });\n break;\n\n case 'groupSettings':\n this.notify(events.inBoundModelChanged, {\n module: 'group',\n properties: newProp.groupSettings,\n oldProperties: oldProp.groupSettings\n });\n break;\n\n case 'aggregates':\n if (!this.aggregates.length && this.allowGrouping && this.groupSettings.columns.length) {\n requireRefresh = true;\n }\n\n this.notify(events.uiUpdate, {\n module: 'aggregate',\n properties: newProp\n });\n break;\n\n case 'frozenColumns':\n case 'frozenRows':\n case 'enableVirtualization':\n case 'currencyCode':\n case 'locale':\n this.log('frozen_rows_columns');\n freezeRefresh = true;\n requireGridRefresh = true;\n break;\n\n case 'query':\n if (!this.getDataModule().isQueryInvokedFromData) {\n requireRefresh = true;\n }\n\n this.getDataModule().isQueryInvokedFromData = false;\n break;\n\n default:\n this.extendedPropertyChange(prop, newProp, requireGridRefresh);\n }\n }\n\n if (checkCursor) {\n this.updateDefaultCursor();\n }\n\n if (requireGridRefresh) {\n if (freezeRefresh || this.getFrozenColumns() || this.frozenRows) {\n if (!(isBlazor() && this.isServerRendered)) {\n this.freezeRefresh();\n }\n } else {\n this.refresh();\n }\n } else if (requireRefresh) {\n this.notify(events.modelChanged, args);\n requireRefresh = false;\n this.maintainSelection(newProp.selectedRowIndex);\n }\n };\n /* tslint:disable */\n\n\n Grid.prototype.extendedPropertyChange = function (prop, newProp, requireGridRefresh) {\n switch (prop) {\n case 'enableRtl':\n this.updateRTL();\n\n if (this.allowPaging) {\n this.element.querySelector('.e-gridpager').ej2_instances[0].enableRtl = newProp.enableRtl;\n this.element.querySelector('.e-gridpager').ej2_instances[0].dataBind();\n }\n\n if (this.height !== 'auto') {\n this.scrollModule.removePadding(!newProp.enableRtl);\n this.scrollModule.setPadding();\n }\n\n if (this.toolbar && this.toolbarModule) {\n this.toolbarModule.getToolbar().ej2_instances[0].enableRtl = newProp.enableRtl;\n this.toolbarModule.getToolbar().ej2_instances[0].dataBind();\n }\n\n if (this.contextMenuItems && this.contextMenuModule) {\n this.contextMenuModule.getContextMenu().ej2_instances[0].enableRtl = newProp.enableRtl;\n this.contextMenuModule.getContextMenu().ej2_instances[0].dataBind();\n }\n\n if (this.showColumnMenu && this.columnMenuModule) {\n this.columnMenuModule.getColumnMenu().ej2_instances[0].enableRtl = newProp.enableRtl;\n this.columnMenuModule.getColumnMenu().ej2_instances[0].dataBind();\n }\n\n if (this.filterSettings.type === 'FilterBar' && this.filterSettings.showFilterBarOperator) {\n this.refreshHeader();\n }\n\n this.notify(events.rtlUpdated, {});\n break;\n\n case 'enableAltRow':\n this.renderModule.refresh();\n break;\n\n case 'allowResizing':\n this.headerModule.refreshUI();\n this.updateResizeLines();\n break;\n\n case 'rowHeight':\n if (this.rowHeight) {\n addClass([this.element], 'e-grid-min-height');\n } else {\n removeClass([this.element], 'e-grid-min-height');\n }\n\n this.renderModule.refresh();\n this.headerModule.refreshUI();\n break;\n\n case 'gridLines':\n this.updateGridLines();\n break;\n\n case 'showColumnMenu':\n this.headerModule.refreshUI();\n this.notify(events.uiUpdate, {\n module: 'columnMenu',\n enable: true\n });\n break;\n\n case 'columnMenuItems':\n this.notify(events.uiUpdate, {\n module: 'columnMenu',\n enable: this.columnMenuItems\n });\n break;\n\n case 'contextMenuItems':\n this.notify(events.uiUpdate, {\n module: 'contextMenu',\n enable: this.contextMenuItems\n });\n break;\n\n case 'showColumnChooser':\n this.notify(events.uiUpdate, {\n module: 'columnChooser',\n enable: this.showColumnChooser\n });\n break;\n\n case 'filterSettings':\n this.updateStackedFilter();\n this.notify(events.inBoundModelChanged, {\n module: 'filter',\n properties: newProp.filterSettings\n });\n break;\n\n case 'searchSettings':\n this.notify(events.inBoundModelChanged, {\n module: 'search',\n properties: newProp.searchSettings\n });\n break;\n\n case 'sortSettings':\n this.notify(events.inBoundModelChanged, {\n module: 'sort'\n });\n break;\n\n case 'selectionSettings':\n this.notify(events.inBoundModelChanged, {\n module: 'selection',\n properties: newProp.selectionSettings\n });\n break;\n\n case 'editSettings':\n this.notify(events.inBoundModelChanged, {\n module: 'edit',\n properties: newProp.editSettings\n });\n break;\n\n case 'allowTextWrap':\n case 'textWrapSettings':\n if (this.allowTextWrap) {\n this.applyTextWrap();\n } else {\n this.removeTextWrap();\n }\n\n this.notify(events.freezeRender, {\n case: 'textwrap',\n isModeChg: prop === 'textWrapSettings'\n });\n break;\n\n case 'dataSource':\n var pending_1 = this.getDataModule().getState();\n\n if (Object.getPrototypeOf(newProp).deepWatch) {\n var pKeyField = this.getPrimaryKeyFieldNames()[0];\n\n for (var i = 0, props = Object.keys(newProp.dataSource); i < props.length; i++) {\n this.setRowData(getValue(pKeyField, this.dataSource[props[i]]), this.dataSource[props[i]]);\n }\n } else if (pending_1.isPending) {\n var gResult = !isNullOrUndefined(this.dataSource) ? this.dataSource.result : [];\n var names = pending_1.group || [];\n\n for (var i = 0; i < names.length; i++) {\n gResult = DataUtil.group(gResult, names[i], pending_1.aggregates || []);\n }\n\n this.dataSource = {\n result: gResult,\n count: this.dataSource.count,\n aggregates: this.dataSource.aggregates\n };\n this.getDataModule().setState({});\n pending_1.resolver(this.dataSource);\n } else {\n this.getDataModule().setState({\n isDataChanged: false\n });\n this.notify(events.dataSourceModified, {});\n\n if (!requireGridRefresh) {\n this.renderModule.refresh();\n\n if (this.isCheckBoxSelection) {\n this.notify(events.beforeRefreshOnDataChange, {});\n }\n }\n }\n\n this.scrollRefresh();\n break;\n\n case 'enableHover':\n var action = newProp.enableHover ? addClass : removeClass;\n action([this.element], 'e-gridhover');\n break;\n\n case 'selectedRowIndex':\n if (!this.isSelectedRowIndexUpdating) {\n this.selectRow(newProp.selectedRowIndex);\n }\n\n this.isSelectedRowIndexUpdating = false;\n break;\n\n case 'resizeSettings':\n this.widthService.setWidthToTable();\n break;\n\n case 'enableAdaptiveUI':\n this.notify(events.setFullScreenDialog, {});\n break;\n\n case 'rowRenderingMode':\n this.enableVerticalRendering();\n this.notify(events.rowModeChange, {});\n this.refresh();\n break;\n }\n };\n\n Grid.prototype.maintainSelection = function (index) {\n var _this = this;\n\n if (index !== -1) {\n var fn_1 = function fn_1() {\n _this.selectRow(index);\n\n _this.off(events.contentReady, fn_1);\n };\n\n this.on(events.contentReady, fn_1, this);\n }\n };\n /**\n * @private\n */\n\n\n Grid.prototype.setProperties = function (prop, muteOnChange) {\n _super.prototype.setProperties.call(this, prop, muteOnChange);\n\n var filterSettings = 'filterSettings';\n\n if (prop[filterSettings] && this.filterModule && muteOnChange) {\n this.filterModule.refreshFilter();\n }\n };\n /**\n * @hidden\n */\n\n\n Grid.prototype.setTablesCount = function () {\n var frozenCols = this.getFrozenColumns();\n var frozenLeft = this.getFrozenLeftColumnsCount();\n var frozenRight = this.getFrozenRightColumnsCount();\n\n if (frozenCols && !frozenLeft && !frozenRight) {\n this.tablesCount = 2;\n } else if (!frozenCols && (frozenLeft || frozenRight)) {\n if (frozenLeft && !frozenRight || frozenRight && !frozenLeft) {\n this.tablesCount = 2;\n } else if (frozenLeft && frozenRight) {\n this.tablesCount = 3;\n }\n }\n };\n /**\n * @hidden\n */\n\n\n Grid.prototype.getTablesCount = function () {\n return this.tablesCount;\n };\n /**\n * @hidden\n */\n\n\n Grid.prototype.updateDefaultCursor = function () {\n var headerCells = [].slice.call(this.getHeaderContent().querySelectorAll('.e-headercell:not(.e-stackedheadercell)'));\n var stdHdrCell = [].slice.call(this.getHeaderContent().getElementsByClassName('e-stackedheadercell'));\n var cols = this.getColumns();\n\n if (this.enableColumnVirtualization && this.getFrozenColumns()) {\n var cells = this.contentModule.getHeaderCells();\n headerCells = cells.length ? cells : headerCells;\n }\n\n for (var i = 0; i < headerCells.length; i++) {\n var cell = headerCells[i];\n\n if (this.allowGrouping || this.allowReordering || this.allowSorting) {\n if (!cols[i].allowReordering || !cols[i].allowSorting || !cols[i].allowGrouping) {\n cell.classList.add('e-defaultcursor');\n } else {\n cell.classList.add('e-mousepointer');\n }\n }\n }\n\n for (var count = 0; count < stdHdrCell.length; count++) {\n if (this.allowReordering) {\n stdHdrCell[count].classList.add('e-mousepointer');\n }\n }\n };\n\n Grid.prototype.updateColumnModel = function (columns) {\n for (var i = 0, len = columns.length; i < len; i++) {\n if (columns[i].columns) {\n this.updateColumnModel(columns[i].columns);\n } else {\n this.columnModel.push(columns[i]);\n }\n }\n\n this.updateColumnLevelFrozen();\n this.updateFrozenColumns();\n this.updateLockableColumns();\n };\n\n Grid.prototype.updateColumnLevelFrozen = function () {\n var cols = this.columnModel;\n var leftCols = [];\n var rightCols = [];\n var movableCols = [];\n\n if (this.frozenLeftCount || this.frozenRightCount) {\n for (var i = 0, len = cols.length; i < len; i++) {\n /* tslint:disable-next-line:no-any */\n var col = cols[i];\n\n if (col.freeze === 'Left') {\n col.freezeTable = literals.frozenLeft;\n leftCols.push(col);\n } else if (col.freeze === 'Right') {\n col.freezeTable = literals.frozenRight;\n rightCols.push(col);\n } else {\n col.freezeTable = 'movable';\n movableCols.push(col);\n }\n }\n\n this.columnModel = leftCols.concat(movableCols).concat(rightCols);\n }\n };\n\n Grid.prototype.updateFrozenColumns = function () {\n if (this.frozenLeftCount || this.frozenRightCount) {\n return;\n }\n\n var cols = this.columnModel;\n var directFrozenCount = this.frozenColumns;\n var totalFrozenCount = this.getFrozenColumns();\n var count = 0;\n\n for (var i = 0, len = cols.length; i < len; i++) {\n /* tslint:disable-next-line:no-any */\n var col = cols[i];\n\n if (directFrozenCount) {\n if (i < directFrozenCount) {\n col.freezeTable = literals.frozenLeft;\n } else {\n col.freezeTable = 'movable';\n }\n }\n\n if (col.isFrozen && i >= directFrozenCount) {\n col.freezeTable = literals.frozenLeft;\n cols.splice(this.frozenColumns + count, 0, cols.splice(i, 1)[0]);\n count++;\n } else if (totalFrozenCount && !directFrozenCount) {\n col.freezeTable = 'movable';\n }\n }\n };\n\n Grid.prototype.getFrozenLeftCount = function () {\n return this.getFrozenColumns() || this.getFrozenLeftColumnsCount();\n };\n\n Grid.prototype.isFrozenGrid = function () {\n return this.getFrozenColumns() !== 0 || this.getFrozenLeftColumnsCount() !== 0 || this.getFrozenRightColumnsCount() !== 0;\n };\n\n Grid.prototype.getFrozenMode = function () {\n return this.frozenName;\n };\n\n Grid.prototype.updateLockableColumns = function () {\n var cols = this.columnModel;\n var frozenCount = 0;\n var movableCount = 0;\n var frozenColumns = this.getFrozenColumns();\n\n for (var i = 0; i < cols.length; i++) {\n if (cols[i].lockColumn) {\n if (i < frozenColumns) {\n cols.splice(frozenCount, 0, cols.splice(i, 1)[0]);\n frozenCount++;\n } else {\n cols.splice(frozenColumns + movableCount, 0, cols.splice(i, 1)[0]);\n movableCount++;\n }\n }\n }\n };\n\n Grid.prototype.checkLockColumns = function (cols) {\n for (var i = 0; i < cols.length; i++) {\n if (cols[i].columns) {\n this.checkLockColumns(cols[i].columns);\n } else if (cols[i].lockColumn) {\n this.lockcolPositionCount++;\n }\n }\n };\n /**\n * Gets the columns from the Grid.\n * @return {Column[]}\n * @blazorType List