@acorex/data-grid 1.3.84 → 1.3.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/data-grid/lib/data-grid/templates/cell-template.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/check-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/command-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/date-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/selection-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/text-column.component.ts","ng://@acorex/data-grid/lib/data-grid/templates/row-template.component.ts","ng://@acorex/data-grid/lib/data-grid/templates/detail-template.component.ts","ng://@acorex/data-grid/lib/data-grid/datagrid.component.ts","ng://@acorex/data-grid/lib/data-grid/filters/filter.component.ts","ng://@acorex/data-grid/lib/data-grid/datagrid.module.ts","ng://@acorex/data-grid/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","ng://@acorex/data-grid/lib/data-lov/data-lov.component.ts","ng://@acorex/data-grid/lib/data-lov/data-lov.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","AXDataGridCellTemplateComponent","renderer","AXDataGridCellTemplateRenderer","ngOnInit","params","templateRef","ContentChild","TemplateRef","static","Component","selector","template","agInit","rowData","data","refresh","AXGridDataColumn","width","pinned","allowSorting","allowFiltering","AXConfig","get","sort","field","caption","checkbox","headerCheckbox","groupIndex","treeIndex","enableRowGroup","hide","floatingFilter","disableMenu","resizable","menuColumnDisable","menuItemDisable","render","col","suppressMenu","menuTabs","filter","headerName","minWidth","maxWidth","sortable","rowGroupIndex","rowGroup","cellClass","THAT_1","Function","column","rowIndex","node","rowLevel","level","cellTemplate","cellRendererFramework","cellRendererParams","checkboxSelection","Input","AXGridCheckColumn","_super","BooleanRenderer","filterFramework","BooleanFilterRenderer","AXGridCheckColumn_1","providers","provide","useExisting","changeDetection","ChangeDetectionStrategy","OnPush","selectItem","label","valueGetter","isFilterActive","undefined","doesFilterPass","getModel","setModel","model","ngAfterViewInit","_this","window","setTimeout","input","element","nativeElement","focus","onChange","newValue","filterChangedCallback","ViewChild","read","ViewContainerRef","AXGridCommandColumn","apply","items","onItemClick","EventEmitter","CommandRenderer","onClick","emit","command","name","htmlEvent","Output","AXGridCommandColumn_1","encapsulation","ViewEncapsulation","None","mapParams","isArray","clickCallback","item","disable","AXGridDateColumn","type","format","comparator","valueA","valueB","date1","AXDateTime","convert","date2","date","getTime","valueFormatter","AXGridDateColumn_1","AXDatePickerFilterComponent","selectableHoliday","ngOnDestroy","console","log","onDateChanged","selectedDates","getDate","setDate","setInputPlaceholder","placeholder","onValueChanged","AXDatePickerComponent","ElementRef","host","style","AXGridSelectionColumn","condition","AXGridSelectionColumn_1","AXGridTextColumn","AXGridTextColumn_1","TextFilterRenderer","AXTextBoxComponent","AXDataGridRowTemplateComponent","AXDataGridRowTemplateRenderer","callRecords","AXDataGridDetailTemplateComponent","height","AXDataGridDetailTemplateRenderer","LicenseManager","validateLicense","AXDataGridColumnsChangeEvent","AXValueEvent","AXDataGridCellEvent","AXDataEvent","AXDaagridRowClickEvent","AXDataGridSelectionChangeEvent","AXDataGridRowSelectionChangeEvent","AXDataGridComponent","ref","cdr","columnDefs","rowModelType","frameworkComponents","internalHeight","masterDetail","treeData","enabelSelect","gridView","groupSelectsChildren","oldSelectionNodes","remoteOperation","rowMultiSelectWithClick","suppressRowClickSelection","suppressCellSelection","sizeColumnsToFit","showCheckBox","autoGroupColumnDef","selectionMode","selectRow","rowGroupPanelShow","loadOnInit","keyField","hasChildField","columnsChange","_columns","defaultColDef","groupHideOpenParents","cellClick","cellDbClick","cellFocuse","rowClick","rowDbClick","selectionChanged","rowSelectionChange","onRowSelectionChanged","rtl","isServerSideGroup","getServerSideGroupKey","internalGetRowClass","rowClass","localeText","AXTranslator","_searchText","v","gridApi","setQuickFilter","searchText","_filter","forEach","f","fc","getFilterInstance","getFrameworkComponentInstance","_inlineColumns","concat","__spread","toArray","val","old","component","oldValue","htmlElement","_dataSource","_contentDataSource","getRowHeight","param","rowHeight","detailRowHeight","calcHeight","toolbar","that","rowCount","getRows","dataSourceSuccessCallback","successCallback","loadParams","skip","request","startRow","take","endRow","sortModel","map","colId","dir","group","fields","rowGroupCols","keys","groupKeys","parentData","parentNode","filterModel","dataSource","fetch","getMainMenuItems","destroy","internalGridReady","gridOptions","api","mapColumns","setServerSideDatasource","intenalGridDataSource","ngAfterContentInit","rowTemplate","fullWidthCellRendererFramework","fullWidthCellRendererParams","agDateInput","gridDetailTemplate","detailCellRendererParams","detailCellRenderer","detailRendererFramework","isFullWidthCell","getComputedStyle","getPropertyValue","gridSelectRow","forEachNode","select_1","id","setSelected","select_2","rebuildGrid","columns","groupColumn","find","elm","onDataReceived","subscribe","_data","totalCount","result","hideLoading","setRowData","onFetchStart","showLoading","searchInput","detectChanges","cellRenderer","displayedColumnsChanged","eee","columnApi","getAllDisplayedColumnGroups","colDef","route","purgeServerSideCache","internalGridCellClicked","mapCellEvent","internalGridCellDoubleClicked","internalGridCellFocused","internalGridRowClicked","mapRowEvent","internalGridRowDoubleClicked","differenceOf2Arrays","array1","array2","temp","indexOf","a","rowSelectionChanged","internalGridSelectionChanged","args","oldNodes","nodes","getSelectedNodes","action","selected","deselectAll","showLoadingOverlay","hideOverlay","internalGridSizeChanged","clientWidth","clientHeight","performSizeColumnsToFit","internalGridFirstDataRendered","ChangeDetectorRef","ContentChildren","QueryList","AXToolbarSearchComponent","AXToolbarComponent","AXDataSourceComponent","AXDataGridFilterComponent","AXDataGridModule","NgModule","declarations","imports","CommonModule","AXCoreModule","FormsModule","AXTextBoxModule","AXCheckBoxModule","AXSelectBoxModule","AXDataSourceModule","AXButtonModule","AXDatePickerModule","AgGridModule","withComponents","exports","entryComponents","AXDataLovPopupComponent","selectedItems","allowNull","selectedRows","onDoneClick","close","rowDoubleClicked","onCancelClick","onSelectionChanged","ele","searchBox","arg","markForCheck","getFooterButtons","text","icon","onFooterButtonClick","AXBasePopupPageComponent","AXLOVComponent","popup","textField","allowSearch","valueField","popupSize","readonly","disabled","chipsWidth","size","mode","onSelectionChange","_validation","_contentValidation","selectBox","handleButtonClick","open","clearValidationStyle","initValidation","validation","handleSelectChange","Promise","resolve","dropdown","title","then","AXPopupService","AXValidation","AXSelectBoxComponent","AXLOVComponent_1","AXValidatableComponent","AXLOVModule","AXToolbarModule","AXSearchBoxModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-cell-template',\r\n template: `<ng-content></ng-content>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridCellTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\r\n </ng-container>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\r\n rowData: any;\r\n templateRef: TemplateRef<any>;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.rowData = params.data;\r\n this.templateRef = (params as any).templateRef;\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.rowData = params.data;\r\n return true;\r\n }\r\n}","import { AXConfig } from '@acorex/core';\r\nimport { Input, ContentChild, TemplateRef } from '@angular/core';\r\nimport { AXGridCellParams } from '../datagrid.events';\r\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\r\nimport { AXDatePickerFilterComponent } from './date-column.component';\r\n\r\n\r\nexport abstract class AXGridDataColumn {\r\n\r\n\r\n @ContentChild(AXDataGridCellTemplateComponent)\r\n cellTemplate: AXDataGridCellTemplateComponent;\r\n\r\n @Input()\r\n width: number = 100;\r\n\r\n @Input()\r\n maxWidth: number;\r\n\r\n @Input()\r\n minWidth: number;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' | null = null;\r\n\r\n @Input()\r\n allowSorting: boolean = true;\r\n\r\n @Input()\r\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;;\r\n\r\n @Input()\r\n cellClass: (params: AXGridCellParams) => (string | string[]) | (string | string[]);\r\n\r\n @Input()\r\n sort: 'asc' | 'desc' | null = null;\r\n\r\n @Input()\r\n field: string = '';\r\n\r\n @Input()\r\n caption: string = '';\r\n\r\n @Input()\r\n cellRendererParams: any;\r\n\r\n @Input()\r\n checkbox: boolean = false;\r\n\r\n @Input()\r\n headerCheckbox: boolean = false;\r\n\r\n @Input()\r\n groupIndex: number = -1;\r\n\r\n @Input()\r\n treeIndex: number = -1;\r\n\r\n @Input()\r\n enableRowGroup: boolean = false;\r\n\r\n @Input()\r\n hide: boolean = false;\r\n\r\n @Input()\r\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\r\n\r\n @Input()\r\n disableMenu: boolean = false;\r\n\r\n @Input()\r\n resizable: boolean = true;\r\n\r\n @Input()\r\n menuColumnDisable: boolean = false;\r\n\r\n @Input()\r\n menuItemDisable: boolean = false;\r\n\r\n constructor() { }\r\n\r\n render(): any {\r\n const col: any = {\r\n field: this.field,\r\n width: this.width,\r\n };\r\n col.resizable = this.resizable;\r\n col.suppressMenu = this.disableMenu;\r\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab']\r\n col.floatingFilter = this.floatingFilter;\r\n\r\n if (!this.allowFiltering) {\r\n col.filter = false;\r\n col.menuTabs = col.menuTabs.filter(c => c != 'filterMenuTab');\r\n col.floatingFilter = false;\r\n }\r\n if (this.menuColumnDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');\r\n }\r\n if (this.menuItemDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'generalMenuTab');\r\n }\r\n if (this.caption) {\r\n col.headerName = this.caption;\r\n }\r\n if (this.minWidth) {\r\n col.minWidth = this.minWidth;\r\n }\r\n if (this.maxWidth) {\r\n col.maxWidth = this.maxWidth;\r\n }\r\n if (this.pinned) {\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n // TODO: Change based on layout\r\n }\r\n if (this.allowSorting) {\r\n col.sortable = this.allowSorting;\r\n }\r\n if (this.sort) {\r\n col.sort = this.sort;\r\n }\r\n\r\n if (this.groupIndex >= 0) {\r\n col.rowGroupIndex = this.groupIndex;\r\n col.rowGroup = true;\r\n this.enableRowGroup = true;\r\n }\r\n\r\n if (this.treeIndex >= 0) {\r\n col.rowGroupIndex = this.treeIndex;\r\n col.rowGroup = false;\r\n }\r\n if (this.hide) {\r\n col.hide = true;\r\n\r\n }\r\n if (this.enableRowGroup) {\r\n col.enableRowGroup = this.enableRowGroup;\r\n }\r\n\r\n if (this.cellClass) {\r\n const THAT = this;\r\n if (this.cellClass instanceof Function) {\r\n col.cellClass = (p) => {\r\n return THAT.cellClass({\r\n column: THAT,\r\n rowIndex: p.node.rowIndex,\r\n rowLevel: p.node.level,\r\n data: p.data,\r\n value: p.value\r\n });\r\n };\r\n }\r\n else {\r\n col.cellClass = this.cellClass;\r\n\r\n }\r\n }\r\n //\r\n if (this.cellTemplate != null) {\r\n col.cellRendererFramework = this.cellTemplate.renderer;\r\n col.cellRendererParams = this.cellTemplate.params;\r\n }\r\n\r\n if (this.checkbox) {\r\n col.checkboxSelection = (params) => {\r\n return true;\r\n };\r\n // col.headerCheckboxSelection = this.headerCheckbox;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\r\nimport {\r\n ICellRendererParams,\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-check-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXGridCheckColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = BooleanRenderer;\r\n }\r\n if (this.allowFiltering) {\r\n col.filterFramework = BooleanFilterRenderer;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-check-box [value]='value' readonly='true'></ax-check-box>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanRenderer implements ICellRendererAngularComp {\r\n value: boolean;\r\n constructor() { }\r\n agInit(params: ICellRendererParams): void {\r\n this.value = params.value;\r\n }\r\n refresh(params: ICellRendererParams): boolean {\r\n this.value = params.value;\r\n return true;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-select-box\r\n label='Select Box'\r\n [items]='selectItem'\r\n ></ax-select-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanFilterRenderer implements IFilterAngularComp {\r\n public value?: boolean = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\r\n\r\n selectItem = [\r\n { value: 0, label: 'True' },\r\n { value: 1, label: 'False' },\r\n ];\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n this.value = model ? model.value : null;\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.element.nativeElement.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output, ChangeDetectorRef } from '@angular/core';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { AXGridRowCommandEvent } from '../datagrid.events';\r\nimport { AXMenuItem } from '@acorex/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\r\n\r\n@Component({\r\n selector: 'ax-command-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXGridCommandColumn extends AXGridDataColumn {\r\n\r\n\r\n @Input()\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n\r\n @Output()\r\n onItemClick: EventEmitter<AXGridRowCommandEvent> = new EventEmitter<AXGridRowCommandEvent>();\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = CommandRenderer;\r\n }\r\n col.cellRendererParams = {\r\n items: this.items,\r\n onClick: (e) => {\r\n this.onItemClick.emit({\r\n command: e.name,\r\n data: e.data,\r\n rowIndex: e.rowIndex,\r\n rowLevel: e.rowLevel,\r\n htmlEvent:e.htmlEvent\r\n });\r\n }\r\n };\r\n col.sortable = false;\r\n col.filter = false;\r\n col.valueGetter = (params) => {\r\n return this.items;\r\n };\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-command-cell',\r\n template: `\r\n <button\r\n *ngFor=\"let item of items\"\r\n class=\"ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}\"\r\n [class.disabled]=\"item.disable\"\r\n type=\"button\"\r\n [title]=\"item.tooltip\"\r\n (click)=\"onClick(item,$event)\"\r\n >\r\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\r\n </button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CommandRenderer implements ICellRendererAngularComp {\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n node: any;\r\n private clickCallback: Function;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.mapParams(params);\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.mapParams(params);\r\n return true;\r\n }\r\n\r\n private mapParams(params: any) {\r\n this.node = params.node;\r\n this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];\r\n this.clickCallback = params.onClick;\r\n }\r\n\r\n onClick(item: AXMenuItem,e:MouseEvent) {\r\n if (this.clickCallback && !item.disable) {\r\n this.clickCallback({\r\n name: item.name,\r\n rowLevel: this.node.level,\r\n rowIndex: this.node.rowIndex,\r\n data: this.node.data,\r\n htmlEvent:e\r\n });\r\n }\r\n }\r\n}\r\n","\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\r\nimport { AXDatePickerComponent } from '@acorex/components';\r\n@Component({\r\n selector: 'ax-date-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridDateColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @Input()\r\n format: string;\r\n\r\n @Input()\r\n type: AXCalendarType = AXConfig.get('dateTime.type');\r\n\r\n render() {\r\n const col = super.render();\r\n col.cellRendererParams = {\r\n format: this.format,\r\n };\r\n\r\n col.comparator = (valueA: any, valueB: any) => {\r\n const date1 = AXDateTime.convert(valueA);\r\n const date2 = AXDateTime.convert(valueB);\r\n //\r\n if (date1 === null && date2 === null) {\r\n return 0;\r\n }\r\n if (date1 === null) {\r\n return -1;\r\n }\r\n if (date2 === null) {\r\n return 1;\r\n }\r\n return (date1.date.getTime() - date2.date.getTime());\r\n };\r\n\r\n col.valueFormatter = (params) => {\r\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\r\n if (date) {\r\n return date.format(this.format);\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n col.filter = 'agDateColumnFilter';\r\n // col.floatingFilter = true;\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-data-picker-filter',\r\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\r\n </ax-date-picker>`,\r\n host: { style: 'display: contents;' },\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDatePickerFilterComponent {\r\n @ViewChild(AXDatePickerComponent)\r\n datePicker: AXDatePickerComponent;\r\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\r\n selectableHoliday: boolean = false;\r\n type: string = 'jalali';\r\n date: Date;\r\n params: any;\r\n picker: any;\r\n\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n ngOnDestroy() {\r\n console.log(`Destroying DateComponent`);\r\n }\r\n\r\n onDateChanged(selectedDates) {\r\n //this.date = selectedDates[0] || null;\r\n this.params.onDateChanged();\r\n }\r\n\r\n getDate(): Date {\r\n return this.date;\r\n }\r\n\r\n setDate(date: Date): void {\r\n this.date = date || null;\r\n //this.picker.setDate(date);\r\n }\r\n\r\n setInputPlaceholder(placeholder: string): void {\r\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\r\n }\r\n onValueChanged(e) {\r\n\r\n this.setDate(e.value);\r\n this.onDateChanged(e.value);\r\n }\r\n\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-selection-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridSelectionColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n @Input()\r\n condition: (params) => boolean;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' = 'start';\r\n\r\n render() {\r\n const col = super.render();\r\n col.checkboxSelection = this.condition ? this.condition : true;\r\n // col.headerCheckboxSelection = true;\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n col.filter = false;\r\n col.resizable = false;\r\n col.sortable = false;\r\n col.width = 40;\r\n\r\n return col;\r\n }\r\n}","import { AXGridDataColumn } from './column.component';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\nimport { IFilterAngularComp } from 'ag-grid-angular';\r\nimport { AXTextBoxComponent } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n selector: 'ax-text-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridTextColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n // if (this.allowFiltering) {\r\n // col.filterFramework = TextFilterRenderer;\r\n // }\r\n col.filter = 'agTextColumnFilter';\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-text-box label='Filter' allowClear='true' (textChange)='onChange($event)'>\r\n </ax-text-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TextFilterRenderer implements IFilterAngularComp {\r\n public value?: string = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild(AXTextBoxComponent, { static: true })\r\n private input: AXTextBoxComponent;\r\n\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n ;\r\n this.onChange(model ? model.value : null);\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n if (this.value === '') {\r\n this.value = null;\r\n }\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'ax-row-template',\r\n template: `<ng-content></ng-content>`\r\n})\r\n\r\nexport class AXDataGridRowTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridRowTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\r\n})\r\n\r\nexport class AXDataGridRowTemplateRenderer implements ICellRendererAngularComp {\r\n\r\n templateRef: TemplateRef<any>;\r\n\r\n data: any;\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n\r\n agInit(params: any): void {\r\n this.data = params.data.callRecords;\r\n this.templateRef = params.templateRef;\r\n }\r\n}","import { Component, ContentChild, TemplateRef, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'ax-grid-detail-template',\r\n template: `<ng-content></ng-content>`\r\n})\r\n\r\nexport class AXDataGridDetailTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridDetailTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n\r\n @Input()\r\n height: number = 100;\r\n}\r\n\r\n@Component({\r\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\r\n})\r\n\r\nexport class AXDataGridDetailTemplateRenderer implements ICellRendererAngularComp {\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n\r\n templateRef: TemplateRef<any>;\r\n data: any;\r\n\r\n agInit(params: any): void {\r\n this.data = params.data;\r\n this.templateRef = params.templateRef;\r\n }\r\n}","import {\r\n Component,\r\n ContentChild,\r\n Input,\r\n ContentChildren,\r\n QueryList,\r\n EventEmitter,\r\n Output,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport { AXDataSourceComponent } from '@acorex/components';\r\nimport { AXGridDataColumn } from './columns/column.component';\r\nimport { AXDataSourceReadParams } from '@acorex/components';\r\nimport {\r\n GridOptions,\r\n CellClickedEvent,\r\n RowClickedEvent,\r\n CellEvent,\r\n RowEvent,\r\n FirstDataRenderedEvent,\r\n GridSizeChangedEvent,\r\n GridApi\r\n} from 'ag-grid-community';\r\n\r\nimport { LicenseManager } from 'ag-grid-enterprise';\r\nimport { ViewEncapsulation } from '@angular/core';\r\nimport { AXGridCellEvent, AXGridRowEvent, AXGridRowSelectionEvent, AXGridRowParams } from './datagrid.events';\r\n\r\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\r\nimport { AXToolbarSearchComponent, AXToolbarComponent, AXDataEvent, AXValueEvent } from '@acorex/components';\r\nimport { AXDataGridDetailTemplateComponent } from './templates/detail-template.component';\r\nimport { AXTranslator } from '@acorex/core';\r\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\nLicenseManager.prototype.validateLicense = function () {\r\n //console.info('Cracked by Arash Oshnoudi!');\r\n};\r\n\r\n// WatermarkComp.prototype.shouldDisplayWatermark = function () {\r\n// return false;\r\n// }\r\n\r\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<AXGridDataColumn[]> {\r\n component: AXDataGridComponent;\r\n}\r\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\r\n component: AXDataGridComponent;\r\n}\r\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\r\n component: AXDataGridComponent;\r\n}\r\n\r\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\r\n component: AXDataGridComponent;\r\n}\r\n\r\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\r\n component: AXDataGridComponent;\r\n selected: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'ax-data-grid',\r\n templateUrl: './datagrid.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n // changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXDataGridComponent {\r\n private gridApi;\r\n private dataSourceSuccessCallback;\r\n localeText: any;\r\n\r\n gridOptions: GridOptions;\r\n columnDefs: any[] = [];\r\n rowModelType = 'clientSide';\r\n fullWidthCellRendererFramework: any;\r\n fullWidthCellRendererParams: any;\r\n frameworkComponents: any = {};\r\n isFullWidthCell: Function;\r\n internalHeight: string = '100%';\r\n detailCellRenderer: any;\r\n detailCellRendererParams: any;\r\n detailRowHeight: number;\r\n\r\n masterDetail: boolean = false;\r\n treeData: boolean = false;\r\n enabelSelect: boolean = false;\r\n gridView: boolean = false;\r\n groupSelectsChildren: boolean = false;\r\n oldSelectionNodes: any[] = [];\r\n\r\n @Input()\r\n public remoteOperation: boolean = false;\r\n\r\n @Input()\r\n public rowMultiSelectWithClick: boolean = true;\r\n\r\n @Input()\r\n public suppressRowClickSelection: boolean = true;\r\n\r\n @Input()\r\n public suppressCellSelection: boolean = false;\r\n\r\n @Input()\r\n public sizeColumnsToFit: boolean = true;\r\n\r\n @Input()\r\n showCheckBox: boolean = true;\r\n\r\n @Input()\r\n floatingFilter: boolean = false;\r\n\r\n autoGroupColumnDef: any = {};\r\n\r\n @Input()\r\n selectionMode: 'single' | 'multiple' = 'single';\r\n\r\n // @Input()\r\n // allowFiltering: boolean = false;\r\n\r\n @Input()\r\n selectRow: any[] = [];\r\n\r\n @Input()\r\n rowGroupPanelShow: 'always' | 'never' = 'never';\r\n\r\n @Input()\r\n loadOnInit: boolean = true;\r\n\r\n // @Input()\r\n // groupDefaultExpanded: number = 0;\r\n\r\n @Input()\r\n keyField: string = 'null';\r\n\r\n @Input()\r\n hasChildField: string = 'null';\r\n\r\n private _searchText: string;\r\n @Input()\r\n public get searchText(): string {\r\n return this._searchText;\r\n }\r\n public set searchText(v: string) {\r\n if (v !== this._searchText) {\r\n this._searchText = v;\r\n if (this.gridApi) {\r\n this.refresh();\r\n this.gridApi.setQuickFilter(this.searchText);\r\n }\r\n }\r\n }\r\n\r\n private _filter: any[];\r\n @Input()\r\n public get filter(): any[] {\r\n return this._filter;\r\n }\r\n public set filter(v: any[]) {\r\n if (v !== this._filter) {\r\n this._filter = v;\r\n this._filter.forEach((f) => {\r\n const fc = this.gridApi.getFilterInstance(f.field);\r\n if (fc) {\r\n const ff = fc.getFrameworkComponentInstance();\r\n ff.setModel(f);\r\n }\r\n });\r\n }\r\n }\r\n\r\n @ContentChildren(AXGridDataColumn)\r\n private _inlineColumns: QueryList<AXGridDataColumn>;\r\n\r\n @Output()\r\n columnsChange: EventEmitter<AXDataGridColumnsChangeEvent> = new EventEmitter<AXDataGridColumnsChangeEvent>();\r\n\r\n private _columns: AXGridDataColumn[] = [];\r\n @Input()\r\n public get columns(): AXGridDataColumn[] {\r\n return this._inlineColumns ? [...this._columns, ...this._inlineColumns.toArray()] : this._columns;\r\n }\r\n\r\n public set columns(val: AXGridDataColumn[]) {\r\n if (val && val.length) {\r\n let old = this._columns;\r\n this._columns = val;\r\n this.columnsChange.emit({ component: this, value: val, oldValue: old, htmlElement: this.ref.nativeElement });\r\n }\r\n }\r\n\r\n defaultColDef: any = {\r\n filter: true,\r\n floatingFilter: true\r\n };\r\n\r\n @Input()\r\n rowHeight: any;\r\n\r\n @ContentChild(AXToolbarSearchComponent, { static: true })\r\n searchInput: AXToolbarSearchComponent;\r\n\r\n @ContentChild(AXToolbarComponent, { static: true })\r\n toolbar: AXToolbarComponent;\r\n\r\n @ContentChild(AXDataGridRowTemplateComponent, { static: true })\r\n rowTemplate: AXDataGridRowTemplateComponent;\r\n\r\n @ContentChild(AXDataGridDetailTemplateComponent, { static: true })\r\n gridDetailTemplate: AXDataGridDetailTemplateComponent;\r\n\r\n @ContentChild(AXDataSourceComponent, { static: true })\r\n private _contentDataSource: AXDataSourceComponent;\r\n\r\n private _dataSource: AXDataSourceComponent;\r\n\r\n @Input()\r\n public get dataSource(): AXDataSourceComponent {\r\n return this._dataSource ? this._dataSource : this._contentDataSource;\r\n }\r\n\r\n public set dataSource(v: AXDataSourceComponent) {\r\n this._dataSource = v;\r\n }\r\n\r\n @Input()\r\n groupHideOpenParents: boolean = false;\r\n\r\n @Output()\r\n cellClick: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\r\n\r\n @Output()\r\n cellDbClick: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\r\n\r\n @Output()\r\n cellFocuse: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\r\n\r\n @Output()\r\n rowClick: EventEmitter<AXDaagridRowClickEvent> = new EventEmitter<AXDaagridRowClickEvent>();\r\n\r\n @Output()\r\n rowDbClick: EventEmitter<AXDaagridRowClickEvent> = new EventEmitter<AXDaagridRowClickEvent>();\r\n\r\n @Output()\r\n selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> = new EventEmitter<AXDataGridSelectionChangeEvent>();\r\n\r\n @Output()\r\n rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> = new EventEmitter<AXDataGridSelectionChangeEvent>();\r\n\r\n @Output()\r\n onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> = new EventEmitter<AXDataGridRowSelectionChangeEvent>();\r\n\r\n getRowHeight(param) {\r\n if (param.data && param.data.rowHeight && param.node.level == 0) {\r\n return param.data.rowHeight;\r\n } else if (this.masterDetail == true && param.node.level == 1) {\r\n return this.detailRowHeight;\r\n } else if (this.masterDetail == false && param.data && param.data.rowHeight) {\r\n return param.data.rowHeight;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n @Input()\r\n rowClass?: (params: AXGridRowParams) => (string | string[]) | (string | string[]);\r\n\r\n @Input()\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n constructor(private ref: ElementRef, private cdr: ChangeDetectorRef) {\r\n this.localeText = AXTranslator.get('dataGrid');\r\n }\r\n\r\n private calcHeight(): void {\r\n if (this.toolbar) {\r\n this.internalHeight = `calc(100% - ${40}px)`;\r\n } else {\r\n this.internalHeight = '100%';\r\n }\r\n }\r\n\r\n private get intenalGridDataSource() {\r\n const that = this;\r\n return {\r\n rowCount: null,\r\n getRows: (params) => {\r\n that.dataSourceSuccessCallback = params.successCallback;\r\n const loadParams: AXDataSourceReadParams = {};\r\n loadParams.searchText = that.searchText;\r\n loadParams.skip = params.request.startRow;\r\n loadParams.take = params.request.endRow - params.request.startRow;\r\n loadParams.sort = params.request.sortModel.map((c) => {\r\n return {\r\n field: c.colId,\r\n dir: c.sort\r\n };\r\n });\r\n // loadParams.groups = params.request.rowGroupCols.map(r => r.field);\r\n // loadParams.groupKeys = params.request.groupKeys;\r\n // loadParams.data = params.parentNode.data;\r\n loadParams.group = {\r\n fields: params.request.rowGroupCols.map((r) => r.field),\r\n keys: params.request.groupKeys,\r\n parentData: params.parentNode.data\r\n };\r\n loadParams.filter = params.request.filterModel;\r\n that.dataSource.fetch(loadParams);\r\n }\r\n };\r\n }\r\n getMainMenuItems(e) {\r\n return ['pinSubMenu', 'separator'];\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.gridApi.destroy();\r\n }\r\n\r\n isServerSideGroup = (e) => {\r\n return e[this.hasChildField];\r\n };\r\n\r\n getServerSideGroupKey = (e) => {\r\n return e[this.keyField];\r\n };\r\n // todo gridOptions: GridOptions\r\n internalGridReady(gridOptions) {\r\n debugger;\r\n this.gridApi = gridOptions.api;\r\n this.mapColumns();\r\n this.calcHeight();\r\n\r\n if (this.remoteOperation) {\r\n this.gridApi.setServerSideDatasource(this.intenalGridDataSource);\r\n }\r\n\r\n if (!this.loadOnInit) {\r\n return;\r\n }\r\n\r\n if (!this.remoteOperation) {\r\n this.refresh();\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n const that = this;\r\n if (this.rowTemplate) {\r\n this.fullWidthCellRendererFramework = this.rowTemplate.renderer;\r\n this.fullWidthCellRendererParams = this.rowTemplate.params;\r\n }\r\n this.frameworkComponents.agDateInput = AXDatePickerFilterComponent;\r\n\r\n if (this.gridDetailTemplate) {\r\n this.masterDetail = true;\r\n this.detailCellRendererParams = this.gridDetailTemplate.params;\r\n this.detailCellRenderer = 'detailRendererFramework';\r\n this.frameworkComponents.detailRendererFramework = this.gridDetailTemplate.renderer;\r\n\r\n this.detailRowHeight = this.gridDetailTemplate.height;\r\n }\r\n this.isFullWidthCell = () => {\r\n return that.rowTemplate != null;\r\n };\r\n //this.cdr\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.selectionMode === 'single') {\r\n this.groupSelectsChildren = false;\r\n }\r\n if (this.keyField !== 'null' && this.hasChildField !== 'null') {\r\n this.rowGroupPanelShow = 'never';\r\n this.treeData = true;\r\n }\r\n if (this.remoteOperation) {\r\n this.rowModelType = 'serverSide';\r\n }\r\n //\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n //\r\n }\r\n\r\n gridSelectRow() {\r\n if (this.gridApi) {\r\n if (this.selectRow && this.selectRow.length > 0 && this.gridApi !== undefined && typeof this.selectRow[0] != 'object') {\r\n this.gridApi.forEachNode((node) => {\r\n if (node.data !== undefined) {\r\n let select: boolean = false;\r\n this.selectRow.forEach((id) => {\r\n if (node.data[this.keyField] === id) {\r\n select = true;\r\n node.setSelected(select);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.gridApi.forEachNode((node) => {\r\n if (node.data !== undefined) {\r\n let select: boolean = false;\r\n this.selectRow.forEach((item) => {\r\n if (item.rowIndex != undefined && item.rowLevel != undefined) {\r\n if (node.data[this.keyField] === item.data[this.keyField]) {\r\n select = true;\r\n }\r\n } else {\r\n if (node.data[this.keyField] === item[this.keyField]) {\r\n select = true;\r\n }\r\n }\r\n });\r\n node.setSelected(select);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n // ngAfterViewChecked(): void {\r\n\r\n // //Called after every check of the component's view. Applies to components only.\r\n // //Add 'implements AfterViewChecked' to the class.\r\n // // this.selectByValues();\r\n // this.enabelSelect = false;\r\n\r\n // }\r\n rebuildGrid() {\r\n this.mapColumns();\r\n setTimeout(() => {\r\n if (this.sizeColumnsToFit) {\r\n this.gridApi.sizeColumnsToFit();\r\n }\r\n }, 10);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.treeData === true) {\r\n this.columnDefs = this.columns.map((c) => c.render());\r\n\r\n const groupColumn = this.columnDefs.find((c) => c.rowGroupIndex == '0' && c.field !== '');\r\n\r\n this.autoGroupColumnDef = {\r\n headerName: groupColumn.headerName,\r\n width: groupColumn.width,\r\n cellRendererParams: { checkbox: this.showCheckBox },\r\n field: groupColumn.field\r\n };\r\n\r\n this.columnDefs.forEach((elm) => {\r\n if (elm.rowGroupIndex > -1) {\r\n elm.hide = true;\r\n }\r\n });\r\n }\r\n //setTimeout(() => {\r\n this.gridView = true;\r\n //});\r\n\r\n this.enabelSelect = true;\r\n this.dataSource.onDataReceived.subscribe((_data) => {\r\n const result = _data.data.result;\r\n this.hideLoading();\r\n let items: any[];\r\n let totalCount: number;\r\n if (Array.isArray(result)) {\r\n items = result;\r\n totalCount = result.length;\r\n } else {\r\n items = result.items;\r\n totalCount = result.totalCount;\r\n }\r\n if (this.dataSourceSuccessCallback) {\r\n if (!this.loadOnInit) {\r\n this.dataSourceSuccessCallback([], 0);\r\n } else {\r\n this.dataSourceSuccessCallback(items, totalCount);\r\n }\r\n } else {\r\n if (!this.loadOnInit && this.gridApi !== undefined) {\r\n this.gridApi.setRowData([]);\r\n } else if (this.gridApi !== undefined) {\r\n this.gridApi.setRowData(items);\r\n }\r\n }\r\n\r\n this.gridSelectRow();\r\n });\r\n\r\n this.dataSource.onFetchStart.subscribe(() => {\r\n this.showLoading();\r\n });\r\n\r\n if (this.searchInput) {\r\n this.searchInput.onValueChanged.subscribe((c) => {\r\n this.searchText = c.value;\r\n });\r\n }\r\n //\r\n this.cdr.detectChanges();\r\n }\r\n\r\n mapColumns() {\r\n this.columnDefs = this.columns.map((c) => c.render());\r\n if (this.gridDetailTemplate) {\r\n if (this.columnDefs[0].checkboxSelection === true && this.columnDefs[0].field === '') {\r\n this.columnDefs[1].cellRenderer = 'agGroupCellRenderer';\r\n } else {\r\n this.columnDefs[0].cellRenderer = 'agGroupCellRenderer';\r\n }\r\n }\r\n\r\n if (this.hasChildField === 'null') {\r\n const groupColumn = this.columnDefs.find((c) => c.rowGroupIndex === undefined && c.field !== '');\r\n if (groupColumn && this.groupHideOpenParents == false) {\r\n this.autoGroupColumnDef = {\r\n headerName: groupColumn.headerName,\r\n width: groupColumn.width,\r\n cellRendererParams: { checkbox: this.showCheckBox },\r\n field: groupColumn.field\r\n };\r\n // groupColumn.hide = true;\r\n }\r\n }\r\n\r\n this.columnDefs.forEach((elm) => {\r\n if (elm.rowGroupIndex > -1) {\r\n elm.hide = true;\r\n }\r\n });\r\n }\r\n\r\n displayedColumnsChanged(e) {\r\n if (this.hasChildField === 'null') {\r\n const ee = e.columnApi.getAllDisplayedColumnGroups();\r\n const eee = ee.find((c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0');\r\n if (eee && eee.colId) {\r\n this.autoGroupColumnDef = {\r\n headerName: eee.colDef.headerName,\r\n width: eee.colDef.width,\r\n cellRendererParams: { checkbox: this.showCheckBox },\r\n field: eee.colDef.field\r\n };\r\n }\r\n // eee.hide = true;\r\n }\r\n }\r\n\r\n refresh(route: any[] = []) {\r\n if (this.remoteOperation && this.gridApi !== undefined) {\r\n this.gridApi.purgeServerSideCache(route);\r\n } else {\r\n // TODO : check fetch param\r\n this.dataSource.fetch(null);\r\n }\r\n }\r\n\r\n internalGridCellClicked(e: CellClickedEvent) {\r\n this.cellClick.emit({ data: this.mapCellEvent(e), component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n internalGridCellDoubleClicked(e: CellClickedEvent) {\r\n this.cellDbClick.emit({ data: this.mapCellEvent(e), component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n internalGridCellFocused(e: CellClickedEvent) {\r\n this.cellFocuse.emit({ data: this.mapCellEvent(e), htmlElement: this.ref.nativeElement, component: this });\r\n }\r\n\r\n internalGridRowClicked(e: RowClickedEvent) {\r\n if (!e.node.group) {\r\n this.rowClick.emit({ data: this.mapRowEvent(e), component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n }\r\n\r\n internalGridRowDoubleClicked(e: CellClickedEvent) {\r\n if (!e.node.group) {\r\n this.rowDbClick.emit({ data: this.mapRowEvent(e), htmlElement: this.ref.nativeElement, component: this });\r\n }\r\n }\r\n\r\n differenceOf2Arrays(array1: any, array2: any) {\r\n const temp = [];\r\n for (const i in array1) {\r\n if (array2.indexOf(array1[i]) === -1) {\r\n temp.push(array1[i]);\r\n }\r\n }\r\n for (const i in array2) {\r\n if (array1.indexOf(array2[i]) === -1) {\r\n temp.push(array2[i]);\r\n }\r\n }\r\n return temp.sort((a, b) => a - b);\r\n }\r\n\r\n rowSelectionChanged(e) {\r\n this.rowSelectionChange.emit({ component: this, data: e, htmlElement: this.ref.nativeElement });\r\n // console.log('e', e);\r\n // console.log('select', e.node.selected);\r\n // console.log('index', e.rowIndex);\r\n }\r\n\r\n internalGridSelectionChanged(e) {\r\n const args: AXGridRowSelectionEvent = { items: [] };\r\n const oldNodes = this.oldSelectionNodes;\r\n const nodes = this.gridApi.getSelectedNodes();\r\n nodes.forEach((i) => {\r\n args.items.push({\r\n rowLevel: i.level,\r\n rowIndex: i.rowIndex,\r\n data: i.data\r\n });\r\n });\r\n this.selectionChanged.emit({ data: args, component: this, htmlElement: this.ref.nativeElement });\r\n let action = nodes.length > oldNodes.length ? true : false;\r\n const node = this.differenceOf2Arrays(nodes, oldNodes);\r\n this.onRowSelectionChanged.emit({ component: this, selected: action, data: node, htmlElement: this.ref.nativeElement });\r\n this.oldSelectionNodes = nodes;\r\n }\r\n\r\n private mapCellEvent(e: CellEvent): AXGridCellEvent {\r\n return {\r\n rowLevel: 0,\r\n column: e.column,\r\n data: e.data,\r\n rowIndex: e.rowIndex,\r\n value: e.value\r\n };\r\n }\r\n\r\n private mapRowEvent(e: RowEvent): AXGridRowEvent {\r\n return {\r\n rowLevel: 0,\r\n data: e.data,\r\n rowIndex: e.rowIndex\r\n };\r\n }\r\n\r\n public deselectAll() {\r\n this.gridApi.deselectAll();\r\n }\r\n\r\n internalGetRowClass = (p: any) => {\r\n if (this.rowClass) {\r\n if (this.rowClass instanceof Function) {\r\n return this.rowClass({\r\n rowIndex: p.node.rowIndex,\r\n rowLevel: p.node.level,\r\n data: p.data\r\n });\r\n } else {\r\n return this.rowClass;\r\n }\r\n }\r\n };\r\n\r\n showLoading(): void {\r\n if (this.gridApi) {\r\n this.gridApi.showLoadingOverlay();\r\n }\r\n }\r\n\r\n hideLoading(): void {\r\n if (this.gridApi) {\r\n this.gridApi.hideOverlay();\r\n }\r\n }\r\n\r\n internalGridSizeChanged(e: GridSizeChangedEvent) {\r\n if (e.clientWidth > 0 && e.clientHeight > 0) {\r\n this.performSizeColumnsToFit(e.api);\r\n }\r\n }\r\n\r\n internalGridFirstDataRendered(e: FirstDataRenderedEvent) {\r\n this.performSizeColumnsToFit(e.api);\r\n }\r\n\r\n private performSizeColumnsToFit(api: GridApi) {\r\n if (this.sizeColumnsToFit) {\r\n api.sizeColumnsToFit();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ax-data-grid-filter',\r\n template: `\r\n <div class='ax-grid-filter-container'>\r\n <ng-content></ng-content>\r\n <div class='btn-group' role='group'>\r\n <button type='button' class='btn btn-primary btn-sm'>\r\n <i class='fas fa-filter'></i>\r\n </button>\r\n <button type='button' class='btn btn-danger btn-sm'>\r\n <i class='fas fa-trash-alt'></i>\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDataGridFilterComponent {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDataGridComponent } from './datagrid.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { AXDataSourceModule } from '@acorex/components';\r\nimport { AXGridTextColumn, TextFilterRenderer } from './columns/text-column.component';\r\nimport { AXGridCheckColumn, BooleanRenderer, BooleanFilterRenderer } from './columns/check-column.component';\r\nimport { AXCoreModule } from '@acorex/core';\r\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\r\nimport { CommandRenderer, AXGridCommandColumn } from './columns/command-column.component';\r\nimport { AXDataGridFilterComponent } from './filters/filter.component';\r\nimport { AXGridDateColumn, AXDatePickerFilterComponent } from './columns/date-column.component';\r\nimport { AXDataGridRowTemplateComponent, AXDataGridRowTemplateRenderer } from './templates/row-template.component';\r\nimport { AXDataGridCellTemplateComponent, AXDataGridCellTemplateRenderer } from './templates/cell-template.component';\r\nimport { AXDataGridDetailTemplateComponent, AXDataGridDetailTemplateRenderer } from './templates/detail-template.component';\r\nimport { AXTextBoxModule } from '@acorex/components';\r\nimport { AXCheckBoxModule } from '@acorex/components';\r\nimport { AXSelectBoxModule } from '@acorex/components';\r\nimport { AXButtonModule } from '@acorex/components';\r\nimport { AXDatePickerModule } from '@acorex/components';\r\nimport 'ag-grid-enterprise';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AXDataGridComponent,\r\n AXGridTextColumn,\r\n AXGridCheckColumn,\r\n AXGridSelectionColumn,\r\n AXGridDateColumn,\r\n AXGridCommandColumn,\r\n BooleanRenderer,\r\n BooleanFilterRenderer,\r\n TextFilterRenderer,\r\n AXDataGridFilterComponent,\r\n AXDataGridRowTemplateComponent,\r\n AXDataGridDetailTemplateComponent,\r\n AXDataGridRowTemplateRenderer,\r\n AXDataGridDetailTemplateRenderer,\r\n AXDataGridCellTemplateComponent,\r\n AXDataGridCellTemplateRenderer,\r\n AXDatePickerFilterComponent,\r\n CommandRenderer],\r\n imports: [\r\n CommonModule,\r\n AXCoreModule,\r\n FormsModule,\r\n //AgGridModule,\r\n AXTextBoxModule,\r\n AXCheckBoxModule,\r\n AXSelectBoxModule,\r\n AXDataSourceModule,\r\n AXButtonModule,\r\n AXDatePickerModule,\r\n AgGridModule.withComponents([AXDatePickerFilterComponent])\r\n ],\r\n exports: [\r\n AXDataGridComponent,\r\n AXDataGridFilterComponent,\r\n AXDataGridRowTemplateComponent,\r\n AXDataGridDetailTemplateComponent,\r\n AXDataGridRowTemplateRenderer,\r\n AXDataGridDetailTemplateRenderer,\r\n AXDataGridCellTemplateComponent,\r\n AXDataGridCellTemplateRenderer,\r\n AXGridTextColumn,\r\n AXGridCheckColumn,\r\n AXGridDateColumn,\r\n AXGridSelectionColumn,\r\n AXGridCommandColumn,\r\n BooleanRenderer,\r\n BooleanFilterRenderer,\r\n CommandRenderer\r\n ],\r\n entryComponents: [\r\n BooleanRenderer,\r\n BooleanFilterRenderer,\r\n CommandRenderer,\r\n TextFilterRenderer,\r\n AXDataGridRowTemplateComponent,\r\n AXDataGridDetailTemplateComponent,\r\n AXDataGridRowTemplateRenderer,\r\n AXDataGridDetailTemplateRenderer,\r\n AXDataGridCellTemplateComponent,\r\n AXDataGridCellTemplateRenderer,\r\n ],\r\n providers: []\r\n})\r\nexport class AXDataGridModule {\r\n\r\n}\r\n","import { Component, ViewChild, ChangeDetectorRef, ElementRef } from '@angular/core';\r\nimport { AXDataGridComponent, AXDataGridSelectionChangeEvent } from '../../data-grid/datagrid.component';\r\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\r\nimport { AXTranslator, AXButtonItem, AXConfig } from '@acorex/core';\r\nimport { AXToolbarSearchComponent, AXBasePopupPageComponent, AXMenuItemClickEvent, AXDataSourceComponent, AXDataSourceReadParams } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n templateUrl: './data-lov-popup.component.html'\r\n})\r\n\r\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\r\n\r\n\r\n @ViewChild('grid', { static: true })\r\n grid: AXDataGridComponent;\r\n\r\n\r\n @ViewChild('searchBox')\r\n searchBox: AXToolbarSearchComponent;\r\n\r\n columns: AXGridDataColumn[] = [];\r\n\r\n selectedItems: any[] = [];\r\n\r\n keyField: string = '';\r\n allowNull: boolean = true;\r\n\r\n hasChildField: string\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n selectedRows: any[] = [];\r\n\r\n constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n dataSource: AXDataSourceComponent;\r\n\r\n selectionMode: string;\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n }\r\n\r\n onDoneClick() {\r\n if (this.selectedItems) {\r\n this.close(this.selectedItems);\r\n }\r\n else {\r\n this.close();\r\n }\r\n }\r\n\r\n rowDoubleClicked(e) {\r\n console.log('s', e.data.data)\r\n if (this.selectionMode == 'single') {\r\n this.selectedItems = [];\r\n }\r\n\r\n\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.data[this.keyField]);\r\n this.selectedItems.push(e.data.data);\r\n\r\n this.onDoneClick();\r\n }\r\n\r\n onCancelClick() {\r\n this.close();\r\n }\r\n\r\n rowSelectionChange(e) {\r\n\r\n if (e.data.node.selected == true) {\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.node.data[this.keyField]);\r\n this.selectedItems.push(e.data.node.data);\r\n } else {\r\n if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.node.data[this.keyField]);\r\n\r\n }\r\n }\r\n // console.log('ee', e)\r\n // // console.log('e', e);\r\n // console.log('select', e.data.node.selected);\r\n // console.log('index', e.data.rowIndex);\r\n }\r\n\r\n onSelectionChanged(e: AXDataGridSelectionChangeEvent) {\r\n // if (e.data.items.length === 0 && this.allowNull == false) {\r\n // } else {\r\n // this.selectedItems = e.data.items;\r\n // }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.selectedItems.forEach(ele => {\r\n this.selectedRows.push(ele);\r\n });\r\n this.searchBox.focus();\r\n if (this.dataSource.onDataReceived) {\r\n this.dataSource.onDataReceived.subscribe(arg => {\r\n\r\n this.cdr.markForCheck();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n // onValueSearchChanged(e) {\r\n\r\n // const params: AXDataSourceReadParams = {}\r\n // params.searchText = e.value;\r\n // // params.take = 100;\r\n // // params.skip = 0\r\n // this.dataSource.fetch(params);\r\n // }\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n text: AXTranslator.get('common.confirm'),\r\n name: 'confirm',\r\n style: 'ax primary',\r\n icon: 'far fa-check-circle'\r\n },\r\n {\r\n text: AXTranslator.get('common.cancel'),\r\n name: 'cancel',\r\n style: 'ax light',\r\n icon: 'far fa-times-circle'\r\n }\r\n ]\r\n }\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'confirm') {\r\n this.onDoneClick();\r\n }\r\n if (e.name === 'cancel') {\r\n this.onCancelClick();\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, ContentChild, ViewChild, ViewEncapsulation, ElementRef, TemplateRef } from '@angular/core';\r\nimport { AXPopupService, AXBaseInputComponent, AXBaseSizableComponent, AXElementSize, AXValidation } from '@acorex/components';\r\nimport { AXDataSourceComponent, AXSelectBoxComponent, AXDataEvent, AXValidatableComponent } from '@acorex/components';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ax-lov',\r\n templateUrl: './data-lov.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n host: { style: 'display: contents;' },\r\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\r\n})\r\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\r\n\r\n @ContentChild(AXValidation, { static: true })\r\n private _contentValidation: AXValidation;\r\n private _validation: AXValidation;\r\n\r\n @Input()\r\n public get validation(): AXValidation {\r\n return this._validation ? this._validation : this._contentValidation;\r\n }\r\n public set validation(v: AXValidation) {\r\n this._validation = v;\r\n }\r\n\r\n constructor(private popup: AXPopupService, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n @ViewChild('selectBox', { static: true })\r\n selectBox: AXSelectBoxComponent;\r\n\r\n @ContentChild(AXDataSourceComponent, { static: true })\r\n dataSource: AXDataSourceComponent;\r\n\r\n @ContentChildren(AXGridDataColumn)\r\n private columns: QueryList<AXGridDataColumn>;\r\n\r\n\r\n @ContentChild('itemTemplate', { static: true })\r\n rowTemplate: TemplateRef<any>;\r\n\r\n\r\n @Input()\r\n textField: string = '';\r\n\r\n @Input()\r\n allowSearch: boolean = true;\r\n\r\n @Input()\r\n valueField: string = '';\r\n\r\n @Input()\r\n hasChildField: string = 'null';\r\n\r\n @Input()\r\n allowNull: boolean = true;\r\n\r\n @Input()\r\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\r\n\r\n @Input()\r\n selectedItems: any[] = [];\r\n\r\n // @Input()\r\n // selectedValues: any[] = [];\r\n\r\n @Input()\r\n readonly: boolean = false;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n chipsWidth: string = '';\r\n\r\n @Input()\r\n size: AXElementSize = 'md';\r\n\r\n @Input()\r\n caption: string;\r\n\r\n @Input()\r\n mode: 'single' | 'multiple' = 'single';\r\n\r\n @Input()\r\n placeholder: string;\r\n\r\n @Output()\r\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<AXDataEvent<any>>();\r\n\r\n @Input()\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n\r\n focus(): void { this.selectBox.focus(); }\r\n\r\n refresh() {\r\n this.selectBox.refresh();\r\n }\r\n\r\n handleButtonClick() {\r\n this.open();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n // this.selectVal = this.selectedValues;\r\n this.onSelectionChange.subscribe(c => {\r\n this.clearValidationStyle(this.ref.nativeElement);\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.initValidation(this.ref, 'selectedItems', this.validation);\r\n }\r\n\r\n\r\n handleSelectChange(e) {\r\n\r\n // console.log('se' + JSON.stringify(e));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n\r\n public open(): Promise<any> {\r\n return new Promise((resolve) => {\r\n this.selectBox.dropdown.close();\r\n this.popup.open(AXDataLovPopupComponent, {\r\n size: this.popupSize,\r\n data: {\r\n dataSource: this.dataSource,\r\n selectionMode: this.mode,\r\n columns: this.columns.toArray(),\r\n // selectedItems: this.selectedValues,\r\n selectedItems: this.selectedItems,\r\n keyField: this.valueField,\r\n allowNull: this.allowNull,\r\n hasChildField: this.hasChildField,\r\n rtl: this.rtl\r\n\r\n },\r\n title: this.caption,\r\n // size: this.size,\r\n }).then(c => {\r\n\r\n if (c.data) {\r\n // this.selectedValues = [];\r\n this.selectedItems = [];\r\n c.data.forEach(elm => {\r\n this.selectedItems.push(elm)\r\n });\r\n // this.selectedItems = c.data;\r\n // this.selectBox.refresh();\r\n // console.log('se' + JSON.stringify(this.selectedItems));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n if (resolve) {\r\n resolve(c.data);\r\n }\r\n } else {\r\n if (resolve) {\r\n resolve();\r\n }\r\n }\r\n\r\n this.selectBox.refresh();\r\n });\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXLOVComponent } from './data-lov.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\r\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\r\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\r\n exports: [AXLOVComponent, AXDataLovPopupComponent],\r\n providers: [],\r\n entryComponents: [AXDataLovPopupComponent]\r\n})\r\nexport class AXLOVModule { }"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/data-grid/lib/data-grid/templates/cell-template.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/check-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/command-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/date-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/selection-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/text-column.component.ts","ng://@acorex/data-grid/lib/data-grid/templates/row-template.component.ts","ng://@acorex/data-grid/lib/data-grid/templates/detail-template.component.ts","ng://@acorex/data-grid/lib/data-grid/datagrid.component.ts","ng://@acorex/data-grid/lib/data-grid/filters/filter.component.ts","ng://@acorex/data-grid/lib/data-grid/datagrid.module.ts","ng://@acorex/data-grid/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","ng://@acorex/data-grid/lib/data-lov/data-lov.component.ts","ng://@acorex/data-grid/lib/data-lov/data-lov.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","AXDataGridCellTemplateComponent","renderer","AXDataGridCellTemplateRenderer","ngOnInit","params","templateRef","ContentChild","TemplateRef","static","Component","selector","template","agInit","rowData","data","refresh","AXGridDataColumn","width","pinned","allowSorting","allowFiltering","AXConfig","get","sort","field","caption","checkbox","headerCheckbox","groupIndex","treeIndex","enableRowGroup","hide","floatingFilter","disableMenu","resizable","menuColumnDisable","menuItemDisable","render","col","suppressMenu","menuTabs","filter","headerName","minWidth","maxWidth","sortable","rowGroupIndex","rowGroup","cellClass","THAT_1","Function","column","rowIndex","node","rowLevel","level","cellTemplate","cellRendererFramework","cellRendererParams","checkboxSelection","Input","AXGridCheckColumn","_super","BooleanRenderer","filterFramework","BooleanFilterRenderer","AXGridCheckColumn_1","providers","provide","useExisting","changeDetection","ChangeDetectionStrategy","OnPush","selectItem","label","valueGetter","isFilterActive","undefined","doesFilterPass","getModel","setModel","model","ngAfterViewInit","_this","window","setTimeout","input","element","nativeElement","focus","onChange","newValue","filterChangedCallback","ViewChild","read","ViewContainerRef","AXGridCommandColumn","apply","items","onItemClick","EventEmitter","CommandRenderer","onClick","emit","command","name","htmlEvent","Output","AXGridCommandColumn_1","encapsulation","ViewEncapsulation","None","mapParams","isArray","clickCallback","item","disable","AXGridDateColumn","type","format","comparator","valueA","valueB","date1","AXDateTime","convert","date2","date","getTime","valueFormatter","AXGridDateColumn_1","AXDatePickerFilterComponent","selectableHoliday","ngOnDestroy","console","log","onDateChanged","selectedDates","getDate","setDate","setInputPlaceholder","placeholder","onValueChanged","AXDatePickerComponent","ElementRef","host","style","AXGridSelectionColumn","condition","AXGridSelectionColumn_1","AXGridTextColumn","AXGridTextColumn_1","TextFilterRenderer","AXTextBoxComponent","AXDataGridRowTemplateComponent","AXDataGridRowTemplateRenderer","callRecords","AXDataGridDetailTemplateComponent","height","AXDataGridDetailTemplateRenderer","LicenseManager","validateLicense","AXDataGridColumnsChangeEvent","AXValueEvent","AXDataGridCellEvent","AXDataEvent","AXDaagridRowClickEvent","AXDataGridSelectionChangeEvent","AXDataGridRowSelectionChangeEvent","AXDataGridComponent","ref","cdr","columnDefs","rowModelType","frameworkComponents","internalHeight","masterDetail","treeData","enabelSelect","gridView","groupSelectsChildren","oldSelectionNodes","remoteOperation","rowMultiSelectWithClick","suppressRowClickSelection","suppressCellSelection","sizeColumnsToFit","showCheckBox","autoGroupColumnDef","selectionMode","selectRow","rowGroupPanelShow","loadOnInit","keyField","hasChildField","columnsChange","_columns","defaultColDef","groupHideOpenParents","cellClick","cellDbClick","cellFocuse","rowClick","rowDbClick","selectionChanged","rowSelectionChange","onRowSelectionChanged","rtl","isServerSideGroup","getServerSideGroupKey","internalGetRowClass","rowClass","localeText","AXTranslator","_searchText","v","gridApi","setQuickFilter","searchText","_filter","forEach","f","fc","getFilterInstance","getFrameworkComponentInstance","_inlineColumns","concat","__spread","toArray","val","old","component","oldValue","htmlElement","_dataSource","_contentDataSource","getRowHeight","param","rowHeight","detailRowHeight","calcHeight","toolbar","that","rowCount","getRows","dataSourceSuccessCallback","successCallback","loadParams","skip","request","startRow","take","takeCount","api","paginationGetPageSize","sortModel","map","colId","dir","group","fields","rowGroupCols","keys","groupKeys","parentData","parentNode","filterModel","dataSource","fetch","getMainMenuItems","destroy","internalGridReady","gridOptions","gridOptionsWrapper","setProperty","mapColumns","setServerSideDatasource","intenalGridDataSource","ngAfterContentInit","rowTemplate","fullWidthCellRendererFramework","fullWidthCellRendererParams","agDateInput","gridDetailTemplate","detailCellRendererParams","detailCellRenderer","detailRendererFramework","isFullWidthCell","getComputedStyle","getPropertyValue","gridSelectRow","forEachNode","select_1","id","setSelected","select_2","rebuildGrid","columns","groupColumn","find","elm","onDataReceived","subscribe","_data","totalCount","result","hideLoading","setRowData","onFetchStart","showLoading","searchInput","detectChanges","cellRenderer","displayedColumnsChanged","eee","columnApi","getAllDisplayedColumnGroups","colDef","route","internalGridCellClicked","mapCellEvent","internalGridCellDoubleClicked","internalGridCellFocused","internalGridRowClicked","mapRowEvent","internalGridRowDoubleClicked","differenceOf2Arrays","array1","array2","temp","indexOf","a","rowSelectionChanged","internalGridSelectionChanged","args","oldNodes","nodes","getSelectedNodes","action","selected","deselectAll","showLoadingOverlay","hideOverlay","internalGridSizeChanged","clientWidth","clientHeight","performSizeColumnsToFit","internalGridFirstDataRendered","ChangeDetectorRef","ContentChildren","QueryList","AXToolbarSearchComponent","AXToolbarComponent","AXDataSourceComponent","AXDataGridFilterComponent","AXDataGridModule","NgModule","declarations","imports","CommonModule","AXCoreModule","FormsModule","AXTextBoxModule","AXCheckBoxModule","AXSelectBoxModule","AXDataSourceModule","AXButtonModule","AXDatePickerModule","AgGridModule","withComponents","exports","entryComponents","AXDataLovPopupComponent","selectedItems","allowNull","selectedRows","onDoneClick","close","rowDoubleClicked","onCancelClick","onSelectionChanged","ele","searchBox","arg","markForCheck","getFooterButtons","text","icon","onFooterButtonClick","AXBasePopupPageComponent","AXLOVComponent","popup","textField","allowSearch","valueField","popupSize","readonly","disabled","chipsWidth","size","mode","onSelectionChange","_validation","_contentValidation","selectBox","handleButtonClick","open","clearValidationStyle","initValidation","validation","handleSelectChange","Promise","resolve","dropdown","title","then","AXPopupService","AXValidation","AXSelectBoxComponent","AXLOVComponent_1","AXValidatableComponent","AXLOVModule","AXToolbarModule","AXSearchBoxModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-cell-template',\r\n template: `<ng-content></ng-content>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridCellTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\r\n </ng-container>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\r\n rowData: any;\r\n templateRef: TemplateRef<any>;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.rowData = params.data;\r\n this.templateRef = (params as any).templateRef;\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.rowData = params.data;\r\n return true;\r\n }\r\n}","import { AXConfig } from '@acorex/core';\r\nimport { Input, ContentChild, TemplateRef } from '@angular/core';\r\nimport { AXGridCellParams } from '../datagrid.events';\r\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\r\nimport { AXDatePickerFilterComponent } from './date-column.component';\r\n\r\n\r\nexport abstract class AXGridDataColumn {\r\n\r\n\r\n @ContentChild(AXDataGridCellTemplateComponent)\r\n cellTemplate: AXDataGridCellTemplateComponent;\r\n\r\n @Input()\r\n width: number = 100;\r\n\r\n @Input()\r\n maxWidth: number;\r\n\r\n @Input()\r\n minWidth: number;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' | null = null;\r\n\r\n @Input()\r\n allowSorting: boolean = true;\r\n\r\n @Input()\r\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;;\r\n\r\n @Input()\r\n cellClass: (params: AXGridCellParams) => (string | string[]) | (string | string[]);\r\n\r\n @Input()\r\n sort: 'asc' | 'desc' | null = null;\r\n\r\n @Input()\r\n field: string = '';\r\n\r\n @Input()\r\n caption: string = '';\r\n\r\n @Input()\r\n cellRendererParams: any;\r\n\r\n @Input()\r\n checkbox: boolean = false;\r\n\r\n @Input()\r\n headerCheckbox: boolean = false;\r\n\r\n @Input()\r\n groupIndex: number = -1;\r\n\r\n @Input()\r\n treeIndex: number = -1;\r\n\r\n @Input()\r\n enableRowGroup: boolean = false;\r\n\r\n @Input()\r\n hide: boolean = false;\r\n\r\n @Input()\r\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\r\n\r\n @Input()\r\n disableMenu: boolean = false;\r\n\r\n @Input()\r\n resizable: boolean = true;\r\n\r\n @Input()\r\n menuColumnDisable: boolean = false;\r\n\r\n @Input()\r\n menuItemDisable: boolean = false;\r\n\r\n constructor() { }\r\n\r\n render(): any {\r\n const col: any = {\r\n field: this.field,\r\n width: this.width,\r\n };\r\n col.resizable = this.resizable;\r\n col.suppressMenu = this.disableMenu;\r\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab']\r\n col.floatingFilter = this.floatingFilter;\r\n\r\n if (!this.allowFiltering) {\r\n col.filter = false;\r\n col.menuTabs = col.menuTabs.filter(c => c != 'filterMenuTab');\r\n col.floatingFilter = false;\r\n }\r\n if (this.menuColumnDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');\r\n }\r\n if (this.menuItemDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'generalMenuTab');\r\n }\r\n if (this.caption) {\r\n col.headerName = this.caption;\r\n }\r\n if (this.minWidth) {\r\n col.minWidth = this.minWidth;\r\n }\r\n if (this.maxWidth) {\r\n col.maxWidth = this.maxWidth;\r\n }\r\n if (this.pinned) {\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n // TODO: Change based on layout\r\n }\r\n if (this.allowSorting) {\r\n col.sortable = this.allowSorting;\r\n }\r\n if (this.sort) {\r\n col.sort = this.sort;\r\n }\r\n\r\n if (this.groupIndex >= 0) {\r\n col.rowGroupIndex = this.groupIndex;\r\n col.rowGroup = true;\r\n this.enableRowGroup = true;\r\n }\r\n\r\n if (this.treeIndex >= 0) {\r\n col.rowGroupIndex = this.treeIndex;\r\n col.rowGroup = false;\r\n }\r\n if (this.hide) {\r\n col.hide = true;\r\n\r\n }\r\n if (this.enableRowGroup) {\r\n col.enableRowGroup = this.enableRowGroup;\r\n }\r\n\r\n if (this.cellClass) {\r\n const THAT = this;\r\n if (this.cellClass instanceof Function) {\r\n col.cellClass = (p) => {\r\n return THAT.cellClass({\r\n column: THAT,\r\n rowIndex: p.node.rowIndex,\r\n rowLevel: p.node.level,\r\n data: p.data,\r\n value: p.value\r\n });\r\n };\r\n }\r\n else {\r\n col.cellClass = this.cellClass;\r\n\r\n }\r\n }\r\n //\r\n if (this.cellTemplate != null) {\r\n col.cellRendererFramework = this.cellTemplate.renderer;\r\n col.cellRendererParams = this.cellTemplate.params;\r\n }\r\n\r\n if (this.checkbox) {\r\n col.checkboxSelection = (params) => {\r\n return true;\r\n };\r\n // col.headerCheckboxSelection = this.headerCheckbox;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\r\nimport {\r\n ICellRendererParams,\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-check-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXGridCheckColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = BooleanRenderer;\r\n }\r\n if (this.allowFiltering) {\r\n col.filterFramework = BooleanFilterRenderer;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-check-box [value]='value' readonly='true'></ax-check-box>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanRenderer implements ICellRendererAngularComp {\r\n value: boolean;\r\n constructor() { }\r\n agInit(params: ICellRendererParams): void {\r\n this.value = params.value;\r\n }\r\n refresh(params: ICellRendererParams): boolean {\r\n this.value = params.value;\r\n return true;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-select-box\r\n label='Select Box'\r\n [items]='selectItem'\r\n ></ax-select-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanFilterRenderer implements IFilterAngularComp {\r\n public value?: boolean = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\r\n\r\n selectItem = [\r\n { value: 0, label: 'True' },\r\n { value: 1, label: 'False' },\r\n ];\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n this.value = model ? model.value : null;\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.element.nativeElement.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output, ChangeDetectorRef } from '@angular/core';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { AXGridRowCommandEvent } from '../datagrid.events';\r\nimport { AXMenuItem } from '@acorex/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\r\n\r\n@Component({\r\n selector: 'ax-command-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXGridCommandColumn extends AXGridDataColumn {\r\n\r\n\r\n @Input()\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n\r\n @Output()\r\n onItemClick: EventEmitter<AXGridRowCommandEvent> = new EventEmitter<AXGridRowCommandEvent>();\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = CommandRenderer;\r\n }\r\n col.cellRendererParams = {\r\n items: this.items,\r\n onClick: (e) => {\r\n this.onItemClick.emit({\r\n command: e.name,\r\n data: e.data,\r\n rowIndex: e.rowIndex,\r\n rowLevel: e.rowLevel,\r\n htmlEvent:e.htmlEvent\r\n });\r\n }\r\n };\r\n col.sortable = false;\r\n col.filter = false;\r\n col.valueGetter = (params) => {\r\n return this.items;\r\n };\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-command-cell',\r\n template: `\r\n <button\r\n *ngFor=\"let item of items\"\r\n class=\"ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}\"\r\n [class.disabled]=\"item.disable\"\r\n type=\"button\"\r\n [title]=\"item.tooltip\"\r\n (click)=\"onClick(item,$event)\"\r\n >\r\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\r\n </button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CommandRenderer implements ICellRendererAngularComp {\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n node: any;\r\n private clickCallback: Function;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.mapParams(params);\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.mapParams(params);\r\n return true;\r\n }\r\n\r\n private mapParams(params: any) {\r\n this.node = params.node;\r\n this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];\r\n this.clickCallback = params.onClick;\r\n }\r\n\r\n onClick(item: AXMenuItem,e:MouseEvent) {\r\n if (this.clickCallback && !item.disable) {\r\n this.clickCallback({\r\n name: item.name,\r\n rowLevel: this.node.level,\r\n rowIndex: this.node.rowIndex,\r\n data: this.node.data,\r\n htmlEvent:e\r\n });\r\n }\r\n }\r\n}\r\n","\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\r\nimport { AXDatePickerComponent } from '@acorex/components';\r\n@Component({\r\n selector: 'ax-date-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridDateColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @Input()\r\n format: string;\r\n\r\n @Input()\r\n type: AXCalendarType = AXConfig.get('dateTime.type');\r\n\r\n render() {\r\n const col = super.render();\r\n col.cellRendererParams = {\r\n format: this.format,\r\n };\r\n\r\n col.comparator = (valueA: any, valueB: any) => {\r\n const date1 = AXDateTime.convert(valueA);\r\n const date2 = AXDateTime.convert(valueB);\r\n //\r\n if (date1 === null && date2 === null) {\r\n return 0;\r\n }\r\n if (date1 === null) {\r\n return -1;\r\n }\r\n if (date2 === null) {\r\n return 1;\r\n }\r\n return (date1.date.getTime() - date2.date.getTime());\r\n };\r\n\r\n col.valueFormatter = (params) => {\r\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\r\n if (date) {\r\n return date.format(this.format);\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n col.filter = 'agDateColumnFilter';\r\n // col.floatingFilter = true;\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-data-picker-filter',\r\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\r\n </ax-date-picker>`,\r\n host: { style: 'display: contents;' },\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDatePickerFilterComponent {\r\n @ViewChild(AXDatePickerComponent)\r\n datePicker: AXDatePickerComponent;\r\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\r\n selectableHoliday: boolean = false;\r\n type: string = 'jalali';\r\n date: Date;\r\n params: any;\r\n picker: any;\r\n\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n ngOnDestroy() {\r\n console.log(`Destroying DateComponent`);\r\n }\r\n\r\n onDateChanged(selectedDates) {\r\n //this.date = selectedDates[0] || null;\r\n this.params.onDateChanged();\r\n }\r\n\r\n getDate(): Date {\r\n return this.date;\r\n }\r\n\r\n setDate(date: Date): void {\r\n this.date = date || null;\r\n //this.picker.setDate(date);\r\n }\r\n\r\n setInputPlaceholder(placeholder: string): void {\r\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\r\n }\r\n onValueChanged(e) {\r\n\r\n this.setDate(e.value);\r\n this.onDateChanged(e.value);\r\n }\r\n\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-selection-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridSelectionColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n @Input()\r\n condition: (params) => boolean;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' = 'start';\r\n\r\n render() {\r\n const col = super.render();\r\n col.checkboxSelection = this.condition ? this.condition : true;\r\n // col.headerCheckboxSelection = true;\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n col.filter = false;\r\n col.resizable = false;\r\n col.sortable = false;\r\n col.width = 40;\r\n\r\n return col;\r\n }\r\n}","import { AXGridDataColumn } from './column.component';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\nimport { IFilterAngularComp } from 'ag-grid-angular';\r\nimport { AXTextBoxComponent } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n selector: 'ax-text-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridTextColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n // if (this.allowFiltering) {\r\n // col.filterFramework = TextFilterRenderer;\r\n // }\r\n col.filter = 'agTextColumnFilter';\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-text-box label='Filter' allowClear='true' (textChange)='onChange($event)'>\r\n </ax-text-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TextFilterRenderer implements IFilterAngularComp {\r\n public value?: string = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild(AXTextBoxComponent, { static: true })\r\n private input: AXTextBoxComponent;\r\n\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n ;\r\n this.onChange(model ? model.value : null);\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n if (this.value === '') {\r\n this.value = null;\r\n }\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'ax-row-template',\r\n template: `<ng-content></ng-content>`\r\n})\r\n\r\nexport class AXDataGridRowTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridRowTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\r\n})\r\n\r\nexport class AXDataGridRowTemplateRenderer implements ICellRendererAngularComp {\r\n\r\n templateRef: TemplateRef<any>;\r\n\r\n data: any;\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n\r\n agInit(params: any): void {\r\n this.data = params.data.callRecords;\r\n this.templateRef = params.templateRef;\r\n }\r\n}","import { Component, ContentChild, TemplateRef, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n@Component({\r\n selector: 'ax-grid-detail-template',\r\n template: `<ng-content></ng-content>`\r\n})\r\n\r\nexport class AXDataGridDetailTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridDetailTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n\r\n @Input()\r\n height: number = 100;\r\n}\r\n\r\n@Component({\r\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\r\n})\r\n\r\nexport class AXDataGridDetailTemplateRenderer implements ICellRendererAngularComp {\r\n\r\n refresh(params: any): boolean {\r\n return false;\r\n }\r\n\r\n templateRef: TemplateRef<any>;\r\n data: any;\r\n\r\n agInit(params: any): void {\r\n this.data = params.data;\r\n this.templateRef = params.templateRef;\r\n }\r\n}","import {\r\n Component,\r\n ContentChild,\r\n Input,\r\n ContentChildren,\r\n QueryList,\r\n EventEmitter,\r\n Output,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport { AXDataSourceComponent } from '@acorex/components';\r\nimport { AXGridDataColumn } from './columns/column.component';\r\nimport { AXDataSourceReadParams } from '@acorex/components';\r\nimport {\r\n GridOptions,\r\n CellClickedEvent,\r\n RowClickedEvent,\r\n CellEvent,\r\n RowEvent,\r\n FirstDataRenderedEvent,\r\n GridSizeChangedEvent,\r\n GridApi\r\n} from 'ag-grid-community';\r\n\r\nimport { LicenseManager } from 'ag-grid-enterprise';\r\nimport { ViewEncapsulation } from '@angular/core';\r\nimport { AXGridCellEvent, AXGridRowEvent, AXGridRowSelectionEvent, AXGridRowParams } from './datagrid.events';\r\n\r\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\r\nimport { AXToolbarSearchComponent, AXToolbarComponent, AXDataEvent, AXValueEvent } from '@acorex/components';\r\nimport { AXDataGridDetailTemplateComponent } from './templates/detail-template.component';\r\nimport { AXTranslator } from '@acorex/core';\r\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\nLicenseManager.prototype.validateLicense = function () {\r\n //console.info('Cracked by Arash Oshnoudi!');\r\n};\r\n\r\n// WatermarkComp.prototype.shouldDisplayWatermark = function () {\r\n// return false;\r\n// }\r\n\r\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<AXGridDataColumn[]> {\r\n component: AXDataGridComponent;\r\n}\r\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\r\n component: AXDataGridComponent;\r\n}\r\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\r\n component: AXDataGridComponent;\r\n}\r\n\r\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\r\n component: AXDataGridComponent;\r\n}\r\n\r\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\r\n component: AXDataGridComponent;\r\n selected: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'ax-data-grid',\r\n templateUrl: './datagrid.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n // changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXDataGridComponent {\r\n private gridApi;\r\n private dataSourceSuccessCallback;\r\n localeText: any;\r\n\r\n gridOptions: GridOptions;\r\n columnDefs: any[] = [];\r\n rowModelType = 'clientSide';\r\n fullWidthCellRendererFramework: any;\r\n fullWidthCellRendererParams: any;\r\n frameworkComponents: any = {};\r\n isFullWidthCell: Function;\r\n internalHeight: string = '100%';\r\n detailCellRenderer: any;\r\n detailCellRendererParams: any;\r\n detailRowHeight: number;\r\n\r\n masterDetail: boolean = false;\r\n treeData: boolean = false;\r\n enabelSelect: boolean = false;\r\n gridView: boolean = false;\r\n groupSelectsChildren: boolean = false;\r\n oldSelectionNodes: any[] = [];\r\n\r\n @Input()\r\n public remoteOperation: boolean = false;\r\n\r\n @Input()\r\n public rowMultiSelectWithClick: boolean = true;\r\n\r\n @Input()\r\n public suppressRowClickSelection: boolean = true;\r\n\r\n @Input()\r\n public suppressCellSelection: boolean = false;\r\n\r\n @Input()\r\n public sizeColumnsToFit: boolean = true;\r\n\r\n @Input()\r\n showCheckBox: boolean = true;\r\n\r\n @Input()\r\n floatingFilter: boolean = false;\r\n\r\n @Input()\r\n takeCount: number;\r\n\r\n autoGroupColumnDef: any = {};\r\n\r\n @Input()\r\n selectionMode: 'single' | 'multiple' = 'single';\r\n\r\n // @Input()\r\n // allowFiltering: boolean = false;\r\n\r\n @Input()\r\n selectRow: any[] = [];\r\n\r\n @Input()\r\n rowGroupPanelShow: 'always' | 'never' = 'never';\r\n\r\n @Input()\r\n loadOnInit: boolean = true;\r\n\r\n // @Input()\r\n // groupDefaultExpanded: number = 0;\r\n\r\n @Input()\r\n keyField: string = 'null';\r\n\r\n @Input()\r\n hasChildField: string = 'null';\r\n\r\n private _searchText: string;\r\n @Input()\r\n public get searchText(): string {\r\n return this._searchText;\r\n }\r\n public set searchText(v: string) {\r\n if (v !== this._searchText) {\r\n this._searchText = v;\r\n if (this.gridApi) {\r\n this.refresh();\r\n this.gridApi.setQuickFilter(this.searchText);\r\n }\r\n }\r\n }\r\n\r\n private _filter: any[];\r\n @Input()\r\n public get filter(): any[] {\r\n return this._filter;\r\n }\r\n public set filter(v: any[]) {\r\n if (v !== this._filter) {\r\n this._filter = v;\r\n this._filter.forEach((f) => {\r\n const fc = this.gridApi.getFilterInstance(f.field);\r\n if (fc) {\r\n const ff = fc.getFrameworkComponentInstance();\r\n ff.setModel(f);\r\n }\r\n });\r\n }\r\n }\r\n\r\n @ContentChildren(AXGridDataColumn)\r\n private _inlineColumns: QueryList<AXGridDataColumn>;\r\n\r\n @Output()\r\n columnsChange: EventEmitter<AXDataGridColumnsChangeEvent> = new EventEmitter<AXDataGridColumnsChangeEvent>();\r\n\r\n private _columns: AXGridDataColumn[] = [];\r\n @Input()\r\n public get columns(): AXGridDataColumn[] {\r\n return this._inlineColumns ? [...this._columns, ...this._inlineColumns.toArray()] : this._columns;\r\n }\r\n\r\n public set columns(val: AXGridDataColumn[]) {\r\n if (val && val.length) {\r\n let old = this._columns;\r\n this._columns = val;\r\n this.columnsChange.emit({ component: this, value: val, oldValue: old, htmlElement: this.ref.nativeElement });\r\n }\r\n }\r\n\r\n defaultColDef: any = {\r\n filter: true,\r\n floatingFilter: true\r\n };\r\n\r\n @Input()\r\n rowHeight: any;\r\n\r\n @ContentChild(AXToolbarSearchComponent, { static: true })\r\n searchInput: AXToolbarSearchComponent;\r\n\r\n @ContentChild(AXToolbarComponent, { static: true })\r\n toolbar: AXToolbarComponent;\r\n\r\n @ContentChild(AXDataGridRowTemplateComponent, { static: true })\r\n rowTemplate: AXDataGridRowTemplateComponent;\r\n\r\n @ContentChild(AXDataGridDetailTemplateComponent, { static: true })\r\n gridDetailTemplate: AXDataGridDetailTemplateComponent;\r\n\r\n @ContentChild(AXDataSourceComponent, { static: true })\r\n private _contentDataSource: AXDataSourceComponent;\r\n\r\n private _dataSource: AXDataSourceComponent;\r\n\r\n @Input()\r\n public get dataSource(): AXDataSourceComponent {\r\n return this._dataSource ? this._dataSource : this._contentDataSource;\r\n }\r\n\r\n public set dataSource(v: AXDataSourceComponent) {\r\n this._dataSource = v;\r\n }\r\n\r\n @Input()\r\n groupHideOpenParents: boolean = false;\r\n\r\n @Output()\r\n cellClick: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\r\n\r\n @Output()\r\n cellDbClick: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\r\n\r\n @Output()\r\n cellFocuse: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\r\n\r\n @Output()\r\n rowClick: EventEmitter<AXDaagridRowClickEvent> = new EventEmitter<AXDaagridRowClickEvent>();\r\n\r\n @Output()\r\n rowDbClick: EventEmitter<AXDaagridRowClickEvent> = new EventEmitter<AXDaagridRowClickEvent>();\r\n\r\n @Output()\r\n selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> = new EventEmitter<AXDataGridSelectionChangeEvent>();\r\n\r\n @Output()\r\n rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> = new EventEmitter<AXDataGridSelectionChangeEvent>();\r\n\r\n @Output()\r\n onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> = new EventEmitter<AXDataGridRowSelectionChangeEvent>();\r\n\r\n getRowHeight(param) {\r\n if (param.data && param.data.rowHeight && param.node.level == 0) {\r\n return param.data.rowHeight;\r\n } else if (this.masterDetail == true && param.node.level == 1) {\r\n return this.detailRowHeight;\r\n } else if (this.masterDetail == false && param.data && param.data.rowHeight) {\r\n return param.data.rowHeight;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n @Input()\r\n rowClass?: (params: AXGridRowParams) => (string | string[]) | (string | string[]);\r\n\r\n @Input()\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n constructor(private ref: ElementRef, private cdr: ChangeDetectorRef) {\r\n this.localeText = AXTranslator.get('dataGrid');\r\n }\r\n\r\n private calcHeight(): void {\r\n if (this.toolbar) {\r\n this.internalHeight = `calc(100% - ${40}px)`;\r\n } else {\r\n this.internalHeight = '100%';\r\n }\r\n }\r\n\r\n private get intenalGridDataSource() {\r\n const that = this;\r\n return {\r\n rowCount: null,\r\n getRows: (params) => {\r\n that.dataSourceSuccessCallback = params.successCallback;\r\n const loadParams: AXDataSourceReadParams = {};\r\n loadParams.searchText = that.searchText;\r\n loadParams.skip = params.request.startRow;\r\n // loadParams.take = params.request.endRow - params.request.startRow;\r\n loadParams.take = that.takeCount ? that.takeCount : params.api.paginationGetPageSize();\r\n loadParams.sort = params.request.sortModel.map((c) => {\r\n return {\r\n field: c.colId,\r\n dir: c.sort\r\n };\r\n });\r\n // loadParams.groups = params.request.rowGroupCols.map(r => r.field);\r\n // loadParams.groupKeys = params.request.groupKeys;\r\n // loadParams.data = params.parentNode.data;\r\n loadParams.group = {\r\n fields: params.request.rowGroupCols.map((r) => r.field),\r\n keys: params.request.groupKeys,\r\n parentData: params.parentNode.data\r\n };\r\n loadParams.filter = params.request.filterModel;\r\n that.dataSource.fetch(loadParams);\r\n }\r\n };\r\n }\r\n getMainMenuItems(e) {\r\n return ['pinSubMenu', 'separator'];\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.gridApi.destroy();\r\n }\r\n\r\n isServerSideGroup = (e) => {\r\n return e[this.hasChildField];\r\n };\r\n\r\n getServerSideGroupKey = (e) => {\r\n return e[this.keyField];\r\n };\r\n // todo gridOptions: GridOptions\r\n internalGridReady(gridOptions) {\r\n gridOptions.api.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount ? this.takeCount : gridOptions.api.paginationGetPageSize());\r\n this.gridApi = gridOptions.api;\r\n\r\n this.mapColumns();\r\n this.calcHeight();\r\n\r\n if (!this.loadOnInit) {\r\n this.loadOnInit = true;\r\n return;\r\n }\r\n\r\n if (this.remoteOperation) {\r\n this.gridApi.setServerSideDatasource(this.intenalGridDataSource);\r\n }\r\n\r\n if (!this.remoteOperation) {\r\n this.refresh();\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n const that = this;\r\n if (this.rowTemplate) {\r\n this.fullWidthCellRendererFramework = this.rowTemplate.renderer;\r\n this.fullWidthCellRendererParams = this.rowTemplate.params;\r\n }\r\n this.frameworkComponents.agDateInput = AXDatePickerFilterComponent;\r\n\r\n if (this.gridDetailTemplate) {\r\n this.masterDetail = true;\r\n this.detailCellRendererParams = this.gridDetailTemplate.params;\r\n this.detailCellRenderer = 'detailRendererFramework';\r\n this.frameworkComponents.detailRendererFramework = this.gridDetailTemplate.renderer;\r\n\r\n this.detailRowHeight = this.gridDetailTemplate.height;\r\n }\r\n this.isFullWidthCell = () => {\r\n return that.rowTemplate != null;\r\n };\r\n //this.cdr\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.selectionMode === 'single') {\r\n this.groupSelectsChildren = false;\r\n }\r\n if (this.keyField !== 'null' && this.hasChildField !== 'null') {\r\n this.rowGroupPanelShow = 'never';\r\n this.treeData = true;\r\n }\r\n if (this.remoteOperation) {\r\n this.rowModelType = 'serverSide';\r\n }\r\n //\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n //\r\n }\r\n\r\n gridSelectRow() {\r\n if (this.gridApi) {\r\n if (this.selectRow && this.selectRow.length > 0 && this.gridApi !== undefined && typeof this.selectRow[0] != 'object') {\r\n this.gridApi.forEachNode((node) => {\r\n if (node.data !== undefined) {\r\n let select: boolean = false;\r\n this.selectRow.forEach((id) => {\r\n if (node.data[this.keyField] === id) {\r\n select = true;\r\n node.setSelected(select);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.gridApi.forEachNode((node) => {\r\n if (node.data !== undefined) {\r\n let select: boolean = false;\r\n this.selectRow.forEach((item) => {\r\n if (item.rowIndex != undefined && item.rowLevel != undefined) {\r\n if (node.data[this.keyField] === item.data[this.keyField]) {\r\n select = true;\r\n }\r\n } else {\r\n if (node.data[this.keyField] === item[this.keyField]) {\r\n select = true;\r\n }\r\n }\r\n });\r\n node.setSelected(select);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n // ngAfterViewChecked(): void {\r\n\r\n // //Called after every check of the component's view. Applies to components only.\r\n // //Add 'implements AfterViewChecked' to the class.\r\n // // this.selectByValues();\r\n // this.enabelSelect = false;\r\n\r\n // }\r\n rebuildGrid() {\r\n this.mapColumns();\r\n setTimeout(() => {\r\n if (this.sizeColumnsToFit) {\r\n this.gridApi.sizeColumnsToFit();\r\n }\r\n }, 10);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.treeData === true) {\r\n this.columnDefs = this.columns.map((c) => c.render());\r\n\r\n const groupColumn = this.columnDefs.find((c) => c.rowGroupIndex == '0' && c.field !== '');\r\n\r\n this.autoGroupColumnDef = {\r\n headerName: groupColumn.headerName,\r\n width: groupColumn.width,\r\n cellRendererParams: { checkbox: this.showCheckBox },\r\n field: groupColumn.field\r\n };\r\n\r\n this.columnDefs.forEach((elm) => {\r\n if (elm.rowGroupIndex > -1) {\r\n elm.hide = true;\r\n }\r\n });\r\n }\r\n //setTimeout(() => {\r\n this.gridView = true;\r\n //});\r\n\r\n this.enabelSelect = true;\r\n this.dataSource.onDataReceived.subscribe((_data) => {\r\n const result = _data.data.result;\r\n this.hideLoading();\r\n let items: any[];\r\n let totalCount: number;\r\n if (Array.isArray(result)) {\r\n items = result;\r\n totalCount = result.length;\r\n } else {\r\n items = result.items;\r\n totalCount = result.totalCount;\r\n }\r\n if (this.dataSourceSuccessCallback) {\r\n if (!this.loadOnInit) {\r\n this.dataSourceSuccessCallback([], 0);\r\n } else {\r\n this.dataSourceSuccessCallback(items, totalCount);\r\n }\r\n } else {\r\n if (!this.loadOnInit && this.gridApi !== undefined) {\r\n this.gridApi.setRowData([]);\r\n } else if (this.gridApi !== undefined) {\r\n this.gridApi.setRowData(items);\r\n }\r\n }\r\n\r\n this.gridSelectRow();\r\n });\r\n\r\n this.dataSource.onFetchStart.subscribe(() => {\r\n this.showLoading();\r\n });\r\n\r\n if (this.searchInput) {\r\n this.searchInput.onValueChanged.subscribe((c) => {\r\n this.searchText = c.value;\r\n });\r\n }\r\n //\r\n this.cdr.detectChanges();\r\n }\r\n\r\n mapColumns() {\r\n this.columnDefs = this.columns.map((c) => c.render());\r\n if (this.gridDetailTemplate) {\r\n if (this.columnDefs[0].checkboxSelection === true && this.columnDefs[0].field === '') {\r\n this.columnDefs[1].cellRenderer = 'agGroupCellRenderer';\r\n } else {\r\n this.columnDefs[0].cellRenderer = 'agGroupCellRenderer';\r\n }\r\n }\r\n\r\n if (this.hasChildField === 'null') {\r\n const groupColumn = this.columnDefs.find((c) => c.rowGroupIndex === undefined && c.field !== '');\r\n if (groupColumn && this.groupHideOpenParents == false) {\r\n this.autoGroupColumnDef = {\r\n headerName: groupColumn.headerName,\r\n width: groupColumn.width,\r\n cellRendererParams: { checkbox: this.showCheckBox },\r\n field: groupColumn.field\r\n };\r\n // groupColumn.hide = true;\r\n }\r\n }\r\n\r\n this.columnDefs.forEach((elm) => {\r\n if (elm.rowGroupIndex > -1) {\r\n elm.hide = true;\r\n }\r\n });\r\n }\r\n\r\n displayedColumnsChanged(e) {\r\n if (this.hasChildField === 'null') {\r\n const ee = e.columnApi.getAllDisplayedColumnGroups();\r\n const eee = ee.find((c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0');\r\n if (eee && eee.colId) {\r\n this.autoGroupColumnDef = {\r\n headerName: eee.colDef.headerName,\r\n width: eee.colDef.width,\r\n cellRendererParams: { checkbox: this.showCheckBox },\r\n field: eee.colDef.field\r\n };\r\n }\r\n // eee.hide = true;\r\n }\r\n }\r\n\r\n refresh(route: any[] = []) {\r\n if (this.remoteOperation && this.gridApi !== undefined) {\r\n // this.gridApi.purgeServerSideCache(route);\r\n this.gridApi.setServerSideDatasource(this.intenalGridDataSource);\r\n } else {\r\n // TODO : check fetch param\r\n this.dataSource.fetch(null);\r\n }\r\n }\r\n\r\n internalGridCellClicked(e: CellClickedEvent) {\r\n this.cellClick.emit({ data: this.mapCellEvent(e), component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n internalGridCellDoubleClicked(e: CellClickedEvent) {\r\n this.cellDbClick.emit({ data: this.mapCellEvent(e), component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n internalGridCellFocused(e: CellClickedEvent) {\r\n this.cellFocuse.emit({ data: this.mapCellEvent(e), htmlElement: this.ref.nativeElement, component: this });\r\n }\r\n\r\n internalGridRowClicked(e: RowClickedEvent) {\r\n if (!e.node.group) {\r\n this.rowClick.emit({ data: this.mapRowEvent(e), component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n }\r\n\r\n internalGridRowDoubleClicked(e: CellClickedEvent) {\r\n if (!e.node.group) {\r\n this.rowDbClick.emit({ data: this.mapRowEvent(e), htmlElement: this.ref.nativeElement, component: this });\r\n }\r\n }\r\n\r\n differenceOf2Arrays(array1: any, array2: any) {\r\n const temp = [];\r\n for (const i in array1) {\r\n if (array2.indexOf(array1[i]) === -1) {\r\n temp.push(array1[i]);\r\n }\r\n }\r\n for (const i in array2) {\r\n if (array1.indexOf(array2[i]) === -1) {\r\n temp.push(array2[i]);\r\n }\r\n }\r\n return temp.sort((a, b) => a - b);\r\n }\r\n\r\n rowSelectionChanged(e) {\r\n this.rowSelectionChange.emit({ component: this, data: e, htmlElement: this.ref.nativeElement });\r\n // console.log('e', e);\r\n // console.log('select', e.node.selected);\r\n // console.log('index', e.rowIndex);\r\n }\r\n\r\n internalGridSelectionChanged(e) {\r\n const args: AXGridRowSelectionEvent = { items: [] };\r\n const oldNodes = this.oldSelectionNodes;\r\n const nodes = this.gridApi.getSelectedNodes();\r\n nodes.forEach((i) => {\r\n args.items.push({\r\n rowLevel: i.level,\r\n rowIndex: i.rowIndex,\r\n data: i.data\r\n });\r\n });\r\n this.selectionChanged.emit({ data: args, component: this, htmlElement: this.ref.nativeElement });\r\n let action = nodes.length > oldNodes.length ? true : false;\r\n const node = this.differenceOf2Arrays(nodes, oldNodes);\r\n this.onRowSelectionChanged.emit({ component: this, selected: action, data: node, htmlElement: this.ref.nativeElement });\r\n this.oldSelectionNodes = nodes;\r\n }\r\n\r\n private mapCellEvent(e: CellEvent): AXGridCellEvent {\r\n return {\r\n rowLevel: 0,\r\n column: e.column,\r\n data: e.data,\r\n rowIndex: e.rowIndex,\r\n value: e.value\r\n };\r\n }\r\n\r\n private mapRowEvent(e: RowEvent): AXGridRowEvent {\r\n return {\r\n rowLevel: 0,\r\n data: e.data,\r\n rowIndex: e.rowIndex\r\n };\r\n }\r\n\r\n public deselectAll() {\r\n this.gridApi.deselectAll();\r\n }\r\n\r\n internalGetRowClass = (p: any) => {\r\n if (this.rowClass) {\r\n if (this.rowClass instanceof Function) {\r\n return this.rowClass({\r\n rowIndex: p.node.rowIndex,\r\n rowLevel: p.node.level,\r\n data: p.data\r\n });\r\n } else {\r\n return this.rowClass;\r\n }\r\n }\r\n };\r\n\r\n showLoading(): void {\r\n if (this.gridApi) {\r\n this.gridApi.showLoadingOverlay();\r\n }\r\n }\r\n\r\n hideLoading(): void {\r\n if (this.gridApi) {\r\n this.gridApi.hideOverlay();\r\n }\r\n }\r\n\r\n internalGridSizeChanged(e: GridSizeChangedEvent) {\r\n if (e.clientWidth > 0 && e.clientHeight > 0) {\r\n this.performSizeColumnsToFit(e.api);\r\n }\r\n }\r\n\r\n internalGridFirstDataRendered(e: FirstDataRenderedEvent) {\r\n this.performSizeColumnsToFit(e.api);\r\n }\r\n\r\n private performSizeColumnsToFit(api: GridApi) {\r\n if (this.sizeColumnsToFit) {\r\n api.sizeColumnsToFit();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'ax-data-grid-filter',\r\n template: `\r\n <div class='ax-grid-filter-container'>\r\n <ng-content></ng-content>\r\n <div class='btn-group' role='group'>\r\n <button type='button' class='btn btn-primary btn-sm'>\r\n <i class='fas fa-filter'></i>\r\n </button>\r\n <button type='button' class='btn btn-danger btn-sm'>\r\n <i class='fas fa-trash-alt'></i>\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDataGridFilterComponent {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXDataGridComponent } from './datagrid.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { AXDataSourceModule } from '@acorex/components';\r\nimport { AXGridTextColumn, TextFilterRenderer } from './columns/text-column.component';\r\nimport { AXGridCheckColumn, BooleanRenderer, BooleanFilterRenderer } from './columns/check-column.component';\r\nimport { AXCoreModule } from '@acorex/core';\r\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\r\nimport { CommandRenderer, AXGridCommandColumn } from './columns/command-column.component';\r\nimport { AXDataGridFilterComponent } from './filters/filter.component';\r\nimport { AXGridDateColumn, AXDatePickerFilterComponent } from './columns/date-column.component';\r\nimport { AXDataGridRowTemplateComponent, AXDataGridRowTemplateRenderer } from './templates/row-template.component';\r\nimport { AXDataGridCellTemplateComponent, AXDataGridCellTemplateRenderer } from './templates/cell-template.component';\r\nimport { AXDataGridDetailTemplateComponent, AXDataGridDetailTemplateRenderer } from './templates/detail-template.component';\r\nimport { AXTextBoxModule } from '@acorex/components';\r\nimport { AXCheckBoxModule } from '@acorex/components';\r\nimport { AXSelectBoxModule } from '@acorex/components';\r\nimport { AXButtonModule } from '@acorex/components';\r\nimport { AXDatePickerModule } from '@acorex/components';\r\nimport 'ag-grid-enterprise';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AXDataGridComponent,\r\n AXGridTextColumn,\r\n AXGridCheckColumn,\r\n AXGridSelectionColumn,\r\n AXGridDateColumn,\r\n AXGridCommandColumn,\r\n BooleanRenderer,\r\n BooleanFilterRenderer,\r\n TextFilterRenderer,\r\n AXDataGridFilterComponent,\r\n AXDataGridRowTemplateComponent,\r\n AXDataGridDetailTemplateComponent,\r\n AXDataGridRowTemplateRenderer,\r\n AXDataGridDetailTemplateRenderer,\r\n AXDataGridCellTemplateComponent,\r\n AXDataGridCellTemplateRenderer,\r\n AXDatePickerFilterComponent,\r\n CommandRenderer],\r\n imports: [\r\n CommonModule,\r\n AXCoreModule,\r\n FormsModule,\r\n //AgGridModule,\r\n AXTextBoxModule,\r\n AXCheckBoxModule,\r\n AXSelectBoxModule,\r\n AXDataSourceModule,\r\n AXButtonModule,\r\n AXDatePickerModule,\r\n AgGridModule.withComponents([AXDatePickerFilterComponent])\r\n ],\r\n exports: [\r\n AXDataGridComponent,\r\n AXDataGridFilterComponent,\r\n AXDataGridRowTemplateComponent,\r\n AXDataGridDetailTemplateComponent,\r\n AXDataGridRowTemplateRenderer,\r\n AXDataGridDetailTemplateRenderer,\r\n AXDataGridCellTemplateComponent,\r\n AXDataGridCellTemplateRenderer,\r\n AXGridTextColumn,\r\n AXGridCheckColumn,\r\n AXGridDateColumn,\r\n AXGridSelectionColumn,\r\n AXGridCommandColumn,\r\n BooleanRenderer,\r\n BooleanFilterRenderer,\r\n CommandRenderer\r\n ],\r\n entryComponents: [\r\n BooleanRenderer,\r\n BooleanFilterRenderer,\r\n CommandRenderer,\r\n TextFilterRenderer,\r\n AXDataGridRowTemplateComponent,\r\n AXDataGridDetailTemplateComponent,\r\n AXDataGridRowTemplateRenderer,\r\n AXDataGridDetailTemplateRenderer,\r\n AXDataGridCellTemplateComponent,\r\n AXDataGridCellTemplateRenderer,\r\n ],\r\n providers: []\r\n})\r\nexport class AXDataGridModule {\r\n\r\n}\r\n","import { Component, ViewChild, ChangeDetectorRef, ElementRef } from '@angular/core';\r\nimport { AXDataGridComponent, AXDataGridSelectionChangeEvent } from '../../data-grid/datagrid.component';\r\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\r\nimport { AXTranslator, AXButtonItem, AXConfig } from '@acorex/core';\r\nimport { AXToolbarSearchComponent, AXBasePopupPageComponent, AXMenuItemClickEvent, AXDataSourceComponent, AXDataSourceReadParams } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n templateUrl: './data-lov-popup.component.html'\r\n})\r\n\r\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\r\n\r\n\r\n @ViewChild('grid', { static: true })\r\n grid: AXDataGridComponent;\r\n\r\n\r\n @ViewChild('searchBox')\r\n searchBox: AXToolbarSearchComponent;\r\n\r\n columns: AXGridDataColumn[] = [];\r\n\r\n selectedItems: any[] = [];\r\n\r\n keyField: string = '';\r\n allowNull: boolean = true;\r\n\r\n hasChildField: string\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n selectedRows: any[] = [];\r\n\r\n constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n dataSource: AXDataSourceComponent;\r\n\r\n selectionMode: string;\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n }\r\n\r\n onDoneClick() {\r\n if (this.selectedItems) {\r\n this.close(this.selectedItems);\r\n }\r\n else {\r\n this.close();\r\n }\r\n }\r\n\r\n rowDoubleClicked(e) {\r\n console.log('s', e.data.data)\r\n if (this.selectionMode == 'single') {\r\n this.selectedItems = [];\r\n }\r\n\r\n\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.data[this.keyField]);\r\n this.selectedItems.push(e.data.data);\r\n\r\n this.onDoneClick();\r\n }\r\n\r\n onCancelClick() {\r\n this.close();\r\n }\r\n\r\n rowSelectionChange(e) {\r\n\r\n if (e.data.node.selected == true) {\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.node.data[this.keyField]);\r\n this.selectedItems.push(e.data.node.data);\r\n } else {\r\n if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.node.data[this.keyField]);\r\n\r\n }\r\n }\r\n // console.log('ee', e)\r\n // // console.log('e', e);\r\n // console.log('select', e.data.node.selected);\r\n // console.log('index', e.data.rowIndex);\r\n }\r\n\r\n onSelectionChanged(e: AXDataGridSelectionChangeEvent) {\r\n // if (e.data.items.length === 0 && this.allowNull == false) {\r\n // } else {\r\n // this.selectedItems = e.data.items;\r\n // }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.selectedItems.forEach(ele => {\r\n this.selectedRows.push(ele);\r\n });\r\n this.searchBox.focus();\r\n if (this.dataSource.onDataReceived) {\r\n this.dataSource.onDataReceived.subscribe(arg => {\r\n\r\n this.cdr.markForCheck();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n // onValueSearchChanged(e) {\r\n\r\n // const params: AXDataSourceReadParams = {}\r\n // params.searchText = e.value;\r\n // // params.take = 100;\r\n // // params.skip = 0\r\n // this.dataSource.fetch(params);\r\n // }\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n text: AXTranslator.get('common.confirm'),\r\n name: 'confirm',\r\n style: 'ax primary',\r\n icon: 'far fa-check-circle'\r\n },\r\n {\r\n text: AXTranslator.get('common.cancel'),\r\n name: 'cancel',\r\n style: 'ax light',\r\n icon: 'far fa-times-circle'\r\n }\r\n ]\r\n }\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'confirm') {\r\n this.onDoneClick();\r\n }\r\n if (e.name === 'cancel') {\r\n this.onCancelClick();\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, ContentChild, ViewChild, ViewEncapsulation, ElementRef, TemplateRef } from '@angular/core';\r\nimport { AXPopupService, AXBaseInputComponent, AXBaseSizableComponent, AXElementSize, AXValidation } from '@acorex/components';\r\nimport { AXDataSourceComponent, AXSelectBoxComponent, AXDataEvent, AXValidatableComponent } from '@acorex/components';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ax-lov',\r\n templateUrl: './data-lov.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n host: { style: 'display: contents;' },\r\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\r\n})\r\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\r\n\r\n @ContentChild(AXValidation, { static: true })\r\n private _contentValidation: AXValidation;\r\n private _validation: AXValidation;\r\n\r\n @Input()\r\n public get validation(): AXValidation {\r\n return this._validation ? this._validation : this._contentValidation;\r\n }\r\n public set validation(v: AXValidation) {\r\n this._validation = v;\r\n }\r\n\r\n constructor(private popup: AXPopupService, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n @ViewChild('selectBox', { static: true })\r\n selectBox: AXSelectBoxComponent;\r\n\r\n @ContentChild(AXDataSourceComponent, { static: true })\r\n dataSource: AXDataSourceComponent;\r\n\r\n @ContentChildren(AXGridDataColumn)\r\n private columns: QueryList<AXGridDataColumn>;\r\n\r\n\r\n @ContentChild('itemTemplate', { static: true })\r\n rowTemplate: TemplateRef<any>;\r\n\r\n\r\n @Input()\r\n textField: string = '';\r\n\r\n @Input()\r\n allowSearch: boolean = true;\r\n\r\n @Input()\r\n valueField: string = '';\r\n\r\n @Input()\r\n hasChildField: string = 'null';\r\n\r\n @Input()\r\n allowNull: boolean = true;\r\n\r\n @Input()\r\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\r\n\r\n @Input()\r\n selectedItems: any[] = [];\r\n\r\n // @Input()\r\n // selectedValues: any[] = [];\r\n\r\n @Input()\r\n readonly: boolean = false;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n chipsWidth: string = '';\r\n\r\n @Input()\r\n size: AXElementSize = 'md';\r\n\r\n @Input()\r\n caption: string;\r\n\r\n @Input()\r\n mode: 'single' | 'multiple' = 'single';\r\n\r\n @Input()\r\n placeholder: string;\r\n\r\n @Output()\r\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<AXDataEvent<any>>();\r\n\r\n @Input()\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n\r\n focus(): void { this.selectBox.focus(); }\r\n\r\n refresh() {\r\n this.selectBox.refresh();\r\n }\r\n\r\n handleButtonClick() {\r\n this.open();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n // this.selectVal = this.selectedValues;\r\n this.onSelectionChange.subscribe(c => {\r\n this.clearValidationStyle(this.ref.nativeElement);\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.initValidation(this.ref, 'selectedItems', this.validation);\r\n }\r\n\r\n\r\n handleSelectChange(e) {\r\n\r\n // console.log('se' + JSON.stringify(e));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n\r\n public open(): Promise<any> {\r\n return new Promise((resolve) => {\r\n this.selectBox.dropdown.close();\r\n this.popup.open(AXDataLovPopupComponent, {\r\n size: this.popupSize,\r\n data: {\r\n dataSource: this.dataSource,\r\n selectionMode: this.mode,\r\n columns: this.columns.toArray(),\r\n // selectedItems: this.selectedValues,\r\n selectedItems: this.selectedItems,\r\n keyField: this.valueField,\r\n allowNull: this.allowNull,\r\n hasChildField: this.hasChildField,\r\n rtl: this.rtl\r\n\r\n },\r\n title: this.caption,\r\n // size: this.size,\r\n }).then(c => {\r\n\r\n if (c.data) {\r\n // this.selectedValues = [];\r\n this.selectedItems = [];\r\n c.data.forEach(elm => {\r\n this.selectedItems.push(elm)\r\n });\r\n // this.selectedItems = c.data;\r\n // this.selectBox.refresh();\r\n // console.log('se' + JSON.stringify(this.selectedItems));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n if (resolve) {\r\n resolve(c.data);\r\n }\r\n } else {\r\n if (resolve) {\r\n resolve();\r\n }\r\n }\r\n\r\n this.selectBox.refresh();\r\n });\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXLOVComponent } from './data-lov.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\r\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\r\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\r\n exports: [AXLOVComponent, AXDataLovPopupComponent],\r\n providers: [],\r\n entryComponents: [AXDataLovPopupComponent]\r\n})\r\nexport class AXLOVModule { }"]}