@acorex/data-grid 3.0.61 → 3.0.64
Sign up to get free protection for your applications and to get access to all the features.
- package/acorex-data-grid.metadata.json +1 -1
- package/bundles/acorex-data-grid.umd.js +30 -13
- package/bundles/acorex-data-grid.umd.js.map +1 -1
- package/bundles/acorex-data-grid.umd.min.js +1 -1
- package/bundles/acorex-data-grid.umd.min.js.map +1 -1
- package/esm2015/lib/data-grid/datagrid.component.js +31 -14
- package/esm5/lib/data-grid/datagrid.component.js +31 -14
- package/fesm2015/acorex-data-grid.js +30 -13
- package/fesm2015/acorex-data-grid.js.map +1 -1
- package/fesm5/acorex-data-grid.js +30 -13
- package/fesm5/acorex-data-grid.js.map +1 -1
- package/lib/data-grid/datagrid.component.d.ts +6 -1
- package/package.json +1 -1
@@ -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/columns/row-number-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","AXGridSelectionColumn","condition","AXGridSelectionColumn_1","AXGridTextColumn","AXGridTextColumn_1","TextFilterRenderer","AXTextBoxComponent","AXGridRowNumberColumn","AXGridRowNumberColumn_1","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","paginationAutoPageSize","paginationPageSize","cacheBlockSize","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","checkGridSize","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","selected","internalGridSelectionChanged","args","oldNodes","nodes","getSelectedNodes","action","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","ele","searchBox","arg","markForCheck","getFooterButtons","text","style","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 @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; let i = index\"\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 [attr.tabindex]=\"i\"\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: { },\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 @Input()\r\n condition: (params) => boolean;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' = 'start';\r\n\r\n @Input()\r\n width: number = 40;\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 = true;\r\n col.sortable = false;\r\n col.minWidth = 5;\r\n col.width = this.width;\r\n col.floatingFilter = false;\r\n return col;\r\n }\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 { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\n@Component({\r\n selector: 'ax-row-number-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridRowNumberColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridRowNumberColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n @Input()\r\n condition: (params) => boolean;\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\r\n (col.headerName = this.caption ? this.caption : AXConfig.get('layout.rtl') ? 'ردیف' : 'Row'),\r\n (col.valueGetter = 'node.rowIndex + 1'),\r\n (col.pinned = this.pinned == null ? null : this.pinned === 'start' ? 'right' : 'left'),\r\n (col.filter = false);\r\n col.resizable = true;\r\n col.sortable = false;\r\n col.width = this.width;\r\n\r\n return col;\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 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 paginationAutoPageSize: boolean = true;\r\n paginationPageSize: number = 10;\r\n cacheBlockSize: number = 10;\r\n // @Input()\r\n // showRowNumber: boolean = true;\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.gridApi.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount ? this.takeCount : params.api.paginationGetPageSize());\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() * 2;\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.checkGridSize();\r\n this.takeCount = this.takeCount ? this.takeCount : gridOptions.api.paginationGetPageSize() * 2;\r\n // this.takeCount = this.takeCount < 20 ? 20 : this.takeCount;\r\n gridOptions.api.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount);\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.takeCount && this.takeCount > 0) {\r\n this.paginationPageSize = this.takeCount;\r\n this.paginationAutoPageSize = false;\r\n this.cacheBlockSize = this.takeCount;\r\n }\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\r\n // if (this.showRowNumber) {\r\n // this.columnDefs.push({\r\n // headerName: AXConfig.get('layout.rtl') ? 'ردیف' : 'Row',\r\n // valueGetter: 'node.rowIndex + 1',\r\n // pinned: AXConfig.get('layout.rtl') ? 'right' : 'left'\r\n // });\r\n // }\r\n\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.gridApi.forEachNode((node) => {\r\n // if (node.data[this.keyField] == e.node.data[this.keyField]) {\r\n // node.setSelected(e.node.selected);\r\n // }\r\n // });\r\n if (e.node.selected == true) {\r\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\r\n this.selectRow.push(e.data);\r\n } else {\r\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\r\n }\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\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\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 AXGridRowNumberColumn,\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 ],\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 AXGridRowNumberColumn,\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","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 {\r\n AXToolbarSearchComponent,\r\n AXBasePopupPageComponent,\r\n AXMenuItemClickEvent,\r\n AXDataSourceComponent,\r\n AXDataSourceReadParams\r\n} from '@acorex/components';\r\n\r\n@Component({\r\n templateUrl: './data-lov-popup.component.html'\r\n})\r\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\r\n @ViewChild('grid', { static: true })\r\n grid: AXDataGridComponent;\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 } 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 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 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 // 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 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 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","import {\r\n Component,\r\n Input,\r\n ContentChildren,\r\n QueryList,\r\n Output,\r\n EventEmitter,\r\n ContentChild,\r\n ViewChild,\r\n ViewEncapsulation,\r\n ElementRef,\r\n TemplateRef\r\n} 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@Component({\r\n selector: 'ax-lov',\r\n templateUrl: './data-lov.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n host: { style: 'width: 100%' },\r\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\r\n})\r\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\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 @ContentChild('itemTemplate', { static: true })\r\n rowTemplate: TemplateRef<any>;\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 focus(): void {\r\n this.selectBox.focus();\r\n }\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 handleSelectChange(e) {\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 public open(): Promise<any> {\r\n return new Promise((resolve) => {\r\n this.selectBox.dropdown.close();\r\n this.popup\r\n .open(AXDataLovPopupComponent, {\r\n size: this.popupSize,\r\n // closable: false,\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 title: this.caption\r\n // size: this.size,\r\n })\r\n .then((c) => {\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(this.selectedItems);\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/columns/row-number-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","AXGridSelectionColumn","condition","AXGridSelectionColumn_1","AXGridTextColumn","AXGridTextColumn_1","TextFilterRenderer","AXTextBoxComponent","AXGridRowNumberColumn","AXGridRowNumberColumn_1","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","paginationAutoPageSize","paginationPageSize","cacheBlockSize","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","getColumnDefs","gridApi","getCurrentPageNumber","current","paginationGetCurrentPage","total","paginationGetTotalPages","getServerSideGroupKey","internalGetRowClass","rowClass","localeText","AXTranslator","_searchText","v","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","paginationGoToPage","number","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","internalGridCellClicked","mapCellEvent","internalGridCellDoubleClicked","internalGridCellFocused","internalGridRowClicked","mapRowEvent","internalGridRowDoubleClicked","differenceOf2Arrays","array1","array2","temp","indexOf","a","rowSelectionChanged","selected","internalGridSelectionChanged","args","oldNodes","nodes","getSelectedNodes","action","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","ele","searchBox","arg","markForCheck","getFooterButtons","text","style","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 @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; let i = index\"\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 [attr.tabindex]=\"i\"\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: { },\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 @Input()\r\n condition: (params) => boolean;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' = 'start';\r\n\r\n @Input()\r\n width: number = 40;\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 = true;\r\n col.sortable = false;\r\n col.minWidth = 5;\r\n col.width = this.width;\r\n col.floatingFilter = false;\r\n return col;\r\n }\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 { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\n@Component({\r\n selector: 'ax-row-number-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridRowNumberColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridRowNumberColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n @Input()\r\n condition: (params) => boolean;\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\r\n (col.headerName = this.caption ? this.caption : AXConfig.get('layout.rtl') ? 'ردیف' : 'Row'),\r\n (col.valueGetter = 'node.rowIndex + 1'),\r\n (col.pinned = this.pinned == null ? null : this.pinned === 'start' ? 'right' : 'left'),\r\n (col.filter = false);\r\n col.resizable = true;\r\n col.sortable = false;\r\n col.width = this.width;\r\n\r\n return col;\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 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 paginationAutoPageSize: boolean = true;\r\n paginationPageSize: number = 10;\r\n cacheBlockSize: number = 10;\r\n // @Input()\r\n // showRowNumber: boolean = true;\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.gridApi.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount ? this.takeCount : params.api.paginationGetPageSize());\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() * 2;\r\n\r\n loadParams.take = params.request.endRow - params.request.startRow;\r\n\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 debugger;\r\n /// setTimeout(() => {\r\n that.dataSource.fetch(loadParams);\r\n // }, 5000);\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 getColumnDefs = () => {\r\n return this.gridApi.getColumnDefs();\r\n };\r\n\r\n getCurrentPageNumber = () => {\r\n return {\r\n current: this.gridApi.paginationGetCurrentPage() + 1,\r\n total: this.gridApi.paginationGetTotalPages()\r\n };\r\n };\r\n\r\n paginationGoToPage(number) {\r\n this.gridApi.paginationGoToPage(number - 1);\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.checkGridSize();\r\n //// this.takeCount = this.takeCount ? this.takeCount : gridOptions.api.paginationGetPageSize() * 2;\r\n // this.takeCount = this.takeCount < 20 ? 20 : this.takeCount;\r\n //// gridOptions.api.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount);\r\n\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.takeCount && this.takeCount > 0) {\r\n // this.paginationPageSize = this.takeCount;\r\n // this.paginationAutoPageSize = false;\r\n // this.cacheBlockSize = this.takeCount;\r\n // }\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 debugger;\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\r\n // if (this.showRowNumber) {\r\n // this.columnDefs.push({\r\n // headerName: AXConfig.get('layout.rtl') ? 'ردیف' : 'Row',\r\n // valueGetter: 'node.rowIndex + 1',\r\n // pinned: AXConfig.get('layout.rtl') ? 'right' : 'left'\r\n // });\r\n // }\r\n\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.gridApi.forEachNode((node) => {\r\n // if (node.data[this.keyField] == e.node.data[this.keyField]) {\r\n // node.setSelected(e.node.selected);\r\n // }\r\n // });\r\n if (e.node.selected == true) {\r\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\r\n this.selectRow.push(e.data);\r\n } else {\r\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\r\n }\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 // this.refresh();\r\n // this.gridApi.paginationGoToFirstPage();\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\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\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 AXGridRowNumberColumn,\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 ],\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 AXGridRowNumberColumn,\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","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 {\r\n AXToolbarSearchComponent,\r\n AXBasePopupPageComponent,\r\n AXMenuItemClickEvent,\r\n AXDataSourceComponent,\r\n AXDataSourceReadParams\r\n} from '@acorex/components';\r\n\r\n@Component({\r\n templateUrl: './data-lov-popup.component.html'\r\n})\r\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\r\n @ViewChild('grid', { static: true })\r\n grid: AXDataGridComponent;\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 } 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 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 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 // 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 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 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","import {\r\n Component,\r\n Input,\r\n ContentChildren,\r\n QueryList,\r\n Output,\r\n EventEmitter,\r\n ContentChild,\r\n ViewChild,\r\n ViewEncapsulation,\r\n ElementRef,\r\n TemplateRef\r\n} 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@Component({\r\n selector: 'ax-lov',\r\n templateUrl: './data-lov.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n host: { style: 'width: 100%' },\r\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\r\n})\r\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\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 @ContentChild('itemTemplate', { static: true })\r\n rowTemplate: TemplateRef<any>;\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 focus(): void {\r\n this.selectBox.focus();\r\n }\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 handleSelectChange(e) {\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 public open(): Promise<any> {\r\n return new Promise((resolve) => {\r\n this.selectBox.dropdown.close();\r\n this.popup\r\n .open(AXDataLovPopupComponent, {\r\n size: this.popupSize,\r\n // closable: false,\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 title: this.caption\r\n // size: this.size,\r\n })\r\n .then((c) => {\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(this.selectedItems);\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 { }"]}
|