@acorex/data-grid 3.0.14 → 3.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/acorex-data-grid.metadata.json +1 -1
- package/bundles/acorex-data-grid.umd.js +9 -8
- 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 +8 -2
- package/esm2015/lib/data-lov/data-lov-popup/data-lov-popup.component.js +7 -13
- package/esm5/lib/data-grid/datagrid.component.js +9 -2
- package/esm5/lib/data-lov/data-lov-popup/data-lov-popup.component.js +2 -8
- package/fesm2015/acorex-data-grid.js +13 -13
- package/fesm2015/acorex-data-grid.js.map +1 -1
- package/fesm5/acorex-data-grid.js +9 -8
- package/fesm5/acorex-data-grid.js.map +1 -1
- package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +1 -2
- 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","style","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","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","internalGridSelectionChanged","args","oldNodes","nodes","getSelectedNodes","action","selected","deselectAll","showLoadingOverlay","hideOverlay","internalGridSizeChanged","clientWidth","clientHeight","performSizeColumnsToFit","internalGridFirstDataRendered","ChangeDetectorRef","ContentChildren","QueryList","AXToolbarSearchComponent","AXToolbarComponent","AXDataSourceComponent","AXDataGridFilterComponent","AXDataGridModule","NgModule","declarations","imports","CommonModule","AXCoreModule","FormsModule","AXTextBoxModule","AXCheckBoxModule","AXSelectBoxModule","AXDataSourceModule","AXButtonModule","AXDatePickerModule","AgGridModule","withComponents","exports","entryComponents","AXDataLovPopupComponent","selectedItems","allowNull","selectedRows","onDoneClick","close","rowDoubleClicked","onCancelClick","onSelectionChanged","ele","searchBox","arg","markForCheck","getFooterButtons","text","icon","onFooterButtonClick","AXBasePopupPageComponent","AXLOVComponent","popup","textField","allowSearch","valueField","popupSize","readonly","disabled","chipsWidth","size","mode","onSelectionChange","_validation","_contentValidation","selectBox","handleButtonClick","open","clearValidationStyle","initValidation","validation","handleSelectChange","Promise","resolve","dropdown","title","then","AXPopupService","AXValidation","AXSelectBoxComponent","AXLOVComponent_1","AXValidatableComponent","AXLOVModule","AXToolbarModule","AXSearchBoxModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-cell-template',\r\n template: `<ng-content></ng-content>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridCellTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\r\n </ng-container>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\r\n rowData: any;\r\n templateRef: TemplateRef<any>;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.rowData = params.data;\r\n this.templateRef = (params as any).templateRef;\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.rowData = params.data;\r\n return true;\r\n }\r\n}","import { AXConfig } from '@acorex/core';\r\nimport { Input, ContentChild, TemplateRef } from '@angular/core';\r\nimport { AXGridCellParams } from '../datagrid.events';\r\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\r\nimport { AXDatePickerFilterComponent } from './date-column.component';\r\n\r\n\r\nexport abstract class AXGridDataColumn {\r\n\r\n\r\n @ContentChild(AXDataGridCellTemplateComponent)\r\n cellTemplate: AXDataGridCellTemplateComponent;\r\n\r\n @Input()\r\n width: number = 100;\r\n\r\n @Input()\r\n maxWidth: number;\r\n\r\n @Input()\r\n minWidth: number;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' | null = null;\r\n\r\n @Input()\r\n allowSorting: boolean = true;\r\n\r\n @Input()\r\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;;\r\n\r\n @Input()\r\n cellClass: (params: AXGridCellParams) => (string | string[]) | (string | string[]);\r\n\r\n @Input()\r\n sort: 'asc' | 'desc' | null = null;\r\n\r\n @Input()\r\n field: string = '';\r\n\r\n @Input()\r\n caption: string = '';\r\n\r\n @Input()\r\n cellRendererParams: any;\r\n\r\n @Input()\r\n checkbox: boolean = false;\r\n\r\n @Input()\r\n headerCheckbox: boolean = false;\r\n\r\n @Input()\r\n groupIndex: number = -1;\r\n\r\n @Input()\r\n treeIndex: number = -1;\r\n\r\n @Input()\r\n enableRowGroup: boolean = false;\r\n\r\n @Input()\r\n hide: boolean = false;\r\n\r\n @Input()\r\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\r\n\r\n @Input()\r\n disableMenu: boolean = false;\r\n\r\n @Input()\r\n resizable: boolean = true;\r\n\r\n @Input()\r\n menuColumnDisable: boolean = false;\r\n\r\n @Input()\r\n menuItemDisable: boolean = false;\r\n\r\n constructor() { }\r\n\r\n render(): any {\r\n const col: any = {\r\n field: this.field,\r\n width: this.width,\r\n };\r\n col.resizable = this.resizable;\r\n col.suppressMenu = this.disableMenu;\r\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab']\r\n col.floatingFilter = this.floatingFilter;\r\n\r\n if (!this.allowFiltering) {\r\n col.filter = false;\r\n col.menuTabs = col.menuTabs.filter(c => c != 'filterMenuTab');\r\n col.floatingFilter = false;\r\n }\r\n if (this.menuColumnDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');\r\n }\r\n if (this.menuItemDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'generalMenuTab');\r\n }\r\n if (this.caption) {\r\n col.headerName = this.caption;\r\n }\r\n if (this.minWidth) {\r\n col.minWidth = this.minWidth;\r\n }\r\n if (this.maxWidth) {\r\n col.maxWidth = this.maxWidth;\r\n }\r\n if (this.pinned) {\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n // TODO: Change based on layout\r\n }\r\n if (this.allowSorting) {\r\n col.sortable = this.allowSorting;\r\n }\r\n if (this.sort) {\r\n col.sort = this.sort;\r\n }\r\n\r\n if (this.groupIndex >= 0) {\r\n col.rowGroupIndex = this.groupIndex;\r\n col.rowGroup = true;\r\n this.enableRowGroup = true;\r\n }\r\n\r\n if (this.treeIndex >= 0) {\r\n col.rowGroupIndex = this.treeIndex;\r\n col.rowGroup = false;\r\n }\r\n if (this.hide) {\r\n col.hide = true;\r\n\r\n }\r\n if (this.enableRowGroup) {\r\n col.enableRowGroup = this.enableRowGroup;\r\n }\r\n\r\n if (this.cellClass) {\r\n const THAT = this;\r\n if (this.cellClass instanceof Function) {\r\n col.cellClass = (p) => {\r\n return THAT.cellClass({\r\n column: THAT,\r\n rowIndex: p.node.rowIndex,\r\n rowLevel: p.node.level,\r\n data: p.data,\r\n value: p.value\r\n });\r\n };\r\n }\r\n else {\r\n col.cellClass = this.cellClass;\r\n\r\n }\r\n }\r\n //\r\n if (this.cellTemplate != null) {\r\n col.cellRendererFramework = this.cellTemplate.renderer;\r\n col.cellRendererParams = this.cellTemplate.params;\r\n }\r\n\r\n if (this.checkbox) {\r\n col.checkboxSelection = (params) => {\r\n return true;\r\n };\r\n // col.headerCheckboxSelection = this.headerCheckbox;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\r\nimport {\r\n ICellRendererParams,\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-check-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXGridCheckColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = BooleanRenderer;\r\n }\r\n if (this.allowFiltering) {\r\n col.filterFramework = BooleanFilterRenderer;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-check-box [value]='value' readonly='true'></ax-check-box>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanRenderer implements ICellRendererAngularComp {\r\n value: boolean;\r\n constructor() { }\r\n agInit(params: ICellRendererParams): void {\r\n this.value = params.value;\r\n }\r\n refresh(params: ICellRendererParams): boolean {\r\n this.value = params.value;\r\n return true;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-select-box\r\n label='Select Box'\r\n [items]='selectItem'\r\n ></ax-select-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanFilterRenderer implements IFilterAngularComp {\r\n public value?: boolean = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\r\n\r\n selectItem = [\r\n { value: 0, label: 'True' },\r\n { value: 1, label: 'False' },\r\n ];\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n this.value = model ? model.value : null;\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.element.nativeElement.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output, ChangeDetectorRef } from '@angular/core';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { AXGridRowCommandEvent } from '../datagrid.events';\r\nimport { AXMenuItem } from '@acorex/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\r\n\r\n@Component({\r\n selector: 'ax-command-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXGridCommandColumn extends AXGridDataColumn {\r\n\r\n\r\n @Input()\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n\r\n @Output()\r\n onItemClick: EventEmitter<AXGridRowCommandEvent> = new EventEmitter<AXGridRowCommandEvent>();\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = CommandRenderer;\r\n }\r\n col.cellRendererParams = {\r\n items: this.items,\r\n onClick: (e) => {\r\n this.onItemClick.emit({\r\n command: e.name,\r\n data: e.data,\r\n rowIndex: e.rowIndex,\r\n rowLevel: e.rowLevel,\r\n htmlEvent:e.htmlEvent\r\n });\r\n }\r\n };\r\n col.sortable = false;\r\n col.filter = false;\r\n col.valueGetter = (params) => {\r\n return this.items;\r\n };\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-command-cell',\r\n template: `\r\n <button\r\n *ngFor=\"let item of items\"\r\n class=\"ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}\"\r\n [class.disabled]=\"item.disable\"\r\n type=\"button\"\r\n [title]=\"item.tooltip\"\r\n (click)=\"onClick(item,$event)\"\r\n >\r\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\r\n </button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CommandRenderer implements ICellRendererAngularComp {\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n node: any;\r\n private clickCallback: Function;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.mapParams(params);\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.mapParams(params);\r\n return true;\r\n }\r\n\r\n private mapParams(params: any) {\r\n this.node = params.node;\r\n this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];\r\n this.clickCallback = params.onClick;\r\n }\r\n\r\n onClick(item: AXMenuItem,e:MouseEvent) {\r\n if (this.clickCallback && !item.disable) {\r\n this.clickCallback({\r\n name: item.name,\r\n rowLevel: this.node.level,\r\n rowIndex: this.node.rowIndex,\r\n data: this.node.data,\r\n htmlEvent:e\r\n });\r\n }\r\n }\r\n}\r\n","\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\r\nimport { AXDatePickerComponent } from '@acorex/components';\r\n@Component({\r\n selector: 'ax-date-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridDateColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @Input()\r\n format: string;\r\n\r\n @Input()\r\n type: AXCalendarType = AXConfig.get('dateTime.type');\r\n\r\n render() {\r\n const col = super.render();\r\n col.cellRendererParams = {\r\n format: this.format,\r\n };\r\n\r\n col.comparator = (valueA: any, valueB: any) => {\r\n const date1 = AXDateTime.convert(valueA);\r\n const date2 = AXDateTime.convert(valueB);\r\n //\r\n if (date1 === null && date2 === null) {\r\n return 0;\r\n }\r\n if (date1 === null) {\r\n return -1;\r\n }\r\n if (date2 === null) {\r\n return 1;\r\n }\r\n return (date1.date.getTime() - date2.date.getTime());\r\n };\r\n\r\n col.valueFormatter = (params) => {\r\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\r\n if (date) {\r\n return date.format(this.format);\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n col.filter = 'agDateColumnFilter';\r\n // col.floatingFilter = true;\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-data-picker-filter',\r\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\r\n </ax-date-picker>`,\r\n host: { style: 'display: contents;' },\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDatePickerFilterComponent {\r\n @ViewChild(AXDatePickerComponent)\r\n datePicker: AXDatePickerComponent;\r\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\r\n selectableHoliday: boolean = false;\r\n type: string = 'jalali';\r\n date: Date;\r\n params: any;\r\n picker: any;\r\n\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n ngOnDestroy() {\r\n console.log(`Destroying DateComponent`);\r\n }\r\n\r\n onDateChanged(selectedDates) {\r\n //this.date = selectedDates[0] || null;\r\n this.params.onDateChanged();\r\n }\r\n\r\n getDate(): Date {\r\n return this.date;\r\n }\r\n\r\n setDate(date: Date): void {\r\n this.date = date || null;\r\n //this.picker.setDate(date);\r\n }\r\n\r\n setInputPlaceholder(placeholder: string): void {\r\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\r\n }\r\n onValueChanged(e) {\r\n\r\n this.setDate(e.value);\r\n this.onDateChanged(e.value);\r\n }\r\n\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-selection-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridSelectionColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n @Input()\r\n condition: (params) => boolean;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' = 'start';\r\n\r\n render() {\r\n const col = super.render();\r\n col.checkboxSelection = this.condition ? this.condition : true;\r\n // col.headerCheckboxSelection = true;\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n col.filter = false;\r\n col.resizable = false;\r\n col.sortable = false;\r\n col.width = 40;\r\n\r\n return col;\r\n }\r\n}","import { AXGridDataColumn } from './column.component';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\nimport { IFilterAngularComp } from 'ag-grid-angular';\r\nimport { AXTextBoxComponent } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n selector: 'ax-text-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridTextColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n // if (this.allowFiltering) {\r\n // col.filterFramework = TextFilterRenderer;\r\n // }\r\n col.filter = 'agTextColumnFilter';\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-text-box label='Filter' allowClear='true' (textChange)='onChange($event)'>\r\n </ax-text-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TextFilterRenderer implements IFilterAngularComp {\r\n public value?: string = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild(AXTextBoxComponent, { static: true })\r\n private input: AXTextBoxComponent;\r\n\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n ;\r\n this.onChange(model ? model.value : null);\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n if (this.value === '') {\r\n this.value = null;\r\n }\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { 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 ? (AXConfig.get('layout.rtl') ? 'right' : 'left') : 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\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.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.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 { AXToolbarSearchComponent, AXBasePopupPageComponent, AXMenuItemClickEvent, AXDataSourceComponent, AXDataSourceReadParams } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n templateUrl: './data-lov-popup.component.html'\r\n})\r\n\r\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\r\n\r\n\r\n @ViewChild('grid', { static: true })\r\n grid: AXDataGridComponent;\r\n\r\n\r\n @ViewChild('searchBox')\r\n searchBox: AXToolbarSearchComponent;\r\n\r\n columns: AXGridDataColumn[] = [];\r\n\r\n selectedItems: any[] = [];\r\n\r\n keyField: string = '';\r\n allowNull: boolean = true;\r\n\r\n hasChildField: string\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n selectedRows: any[] = [];\r\n\r\n constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n dataSource: AXDataSourceComponent;\r\n\r\n selectionMode: string;\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n }\r\n\r\n onDoneClick() {\r\n if (this.selectedItems) {\r\n this.close(this.selectedItems);\r\n }\r\n else {\r\n this.close();\r\n }\r\n }\r\n\r\n rowDoubleClicked(e) {\r\n console.log('s', e.data.data)\r\n if (this.selectionMode == 'single') {\r\n this.selectedItems = [];\r\n }\r\n\r\n\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.data[this.keyField]);\r\n this.selectedItems.push(e.data.data);\r\n\r\n this.onDoneClick();\r\n }\r\n\r\n onCancelClick() {\r\n this.close();\r\n }\r\n\r\n rowSelectionChange(e) {\r\n\r\n if (e.data.node.selected == true) {\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.node.data[this.keyField]);\r\n this.selectedItems.push(e.data.node.data);\r\n } else {\r\n if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {\r\n this.selectedItems = this.selectedItems.filter(c => c[this.keyField] != e.data.node.data[this.keyField]);\r\n\r\n }\r\n }\r\n // console.log('ee', e)\r\n // // console.log('e', e);\r\n // console.log('select', e.data.node.selected);\r\n // console.log('index', e.data.rowIndex);\r\n }\r\n\r\n onSelectionChanged(e: AXDataGridSelectionChangeEvent) {\r\n // if (e.data.items.length === 0 && this.allowNull == false) {\r\n // } else {\r\n // this.selectedItems = e.data.items;\r\n // }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.selectedItems.forEach(ele => {\r\n this.selectedRows.push(ele);\r\n });\r\n this.searchBox.focus();\r\n if (this.dataSource.onDataReceived) {\r\n this.dataSource.onDataReceived.subscribe(arg => {\r\n\r\n this.cdr.markForCheck();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n // onValueSearchChanged(e) {\r\n\r\n // const params: AXDataSourceReadParams = {}\r\n // params.searchText = e.value;\r\n // // params.take = 100;\r\n // // params.skip = 0\r\n // this.dataSource.fetch(params);\r\n // }\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n text: AXTranslator.get('common.confirm'),\r\n name: 'confirm',\r\n style: 'ax primary',\r\n icon: 'far fa-check-circle'\r\n },\r\n {\r\n text: AXTranslator.get('common.cancel'),\r\n name: 'cancel',\r\n style: 'ax light',\r\n icon: 'far fa-times-circle'\r\n }\r\n ]\r\n }\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'confirm') {\r\n this.onDoneClick();\r\n }\r\n if (e.name === 'cancel') {\r\n this.onCancelClick();\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, ContentChild, ViewChild, ViewEncapsulation, ElementRef, TemplateRef } from '@angular/core';\r\nimport { AXPopupService, AXBaseInputComponent, AXBaseSizableComponent, AXElementSize, AXValidation } from '@acorex/components';\r\nimport { AXDataSourceComponent, AXSelectBoxComponent, AXDataEvent, AXValidatableComponent } from '@acorex/components';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ax-lov',\r\n templateUrl: './data-lov.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n host: { style: 'display: contents;' },\r\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\r\n})\r\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\r\n\r\n @ContentChild(AXValidation, { static: true })\r\n private _contentValidation: AXValidation;\r\n private _validation: AXValidation;\r\n\r\n @Input()\r\n public get validation(): AXValidation {\r\n return this._validation ? this._validation : this._contentValidation;\r\n }\r\n public set validation(v: AXValidation) {\r\n this._validation = v;\r\n }\r\n\r\n constructor(private popup: AXPopupService, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n @ViewChild('selectBox', { static: true })\r\n selectBox: AXSelectBoxComponent;\r\n\r\n @ContentChild(AXDataSourceComponent, { static: true })\r\n dataSource: AXDataSourceComponent;\r\n\r\n @ContentChildren(AXGridDataColumn)\r\n private columns: QueryList<AXGridDataColumn>;\r\n\r\n\r\n @ContentChild('itemTemplate', { static: true })\r\n rowTemplate: TemplateRef<any>;\r\n\r\n\r\n @Input()\r\n textField: string = '';\r\n\r\n @Input()\r\n allowSearch: boolean = true;\r\n\r\n @Input()\r\n valueField: string = '';\r\n\r\n @Input()\r\n hasChildField: string = 'null';\r\n\r\n @Input()\r\n allowNull: boolean = true;\r\n\r\n @Input()\r\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\r\n\r\n @Input()\r\n selectedItems: any[] = [];\r\n\r\n // @Input()\r\n // selectedValues: any[] = [];\r\n\r\n @Input()\r\n readonly: boolean = false;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n chipsWidth: string = '';\r\n\r\n @Input()\r\n size: AXElementSize = 'md';\r\n\r\n @Input()\r\n caption: string;\r\n\r\n @Input()\r\n mode: 'single' | 'multiple' = 'single';\r\n\r\n @Input()\r\n placeholder: string;\r\n\r\n @Output()\r\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<AXDataEvent<any>>();\r\n\r\n @Input()\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n\r\n focus(): void { this.selectBox.focus(); }\r\n\r\n refresh() {\r\n this.selectBox.refresh();\r\n }\r\n\r\n handleButtonClick() {\r\n this.open();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n // this.selectVal = this.selectedValues;\r\n this.onSelectionChange.subscribe(c => {\r\n this.clearValidationStyle(this.ref.nativeElement);\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.initValidation(this.ref, 'selectedItems', this.validation);\r\n }\r\n\r\n\r\n handleSelectChange(e) {\r\n\r\n // console.log('se' + JSON.stringify(e));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n\r\n public open(): Promise<any> {\r\n return new Promise((resolve) => {\r\n this.selectBox.dropdown.close();\r\n this.popup.open(AXDataLovPopupComponent, {\r\n size: this.popupSize,\r\n data: {\r\n dataSource: this.dataSource,\r\n selectionMode: this.mode,\r\n columns: this.columns.toArray(),\r\n // selectedItems: this.selectedValues,\r\n selectedItems: this.selectedItems,\r\n keyField: this.valueField,\r\n allowNull: this.allowNull,\r\n hasChildField: this.hasChildField,\r\n rtl: this.rtl\r\n\r\n },\r\n title: this.caption,\r\n // size: this.size,\r\n }).then(c => {\r\n\r\n if (c.data) {\r\n // this.selectedValues = [];\r\n this.selectedItems = [];\r\n c.data.forEach(elm => {\r\n this.selectedItems.push(elm)\r\n });\r\n // this.selectedItems = c.data;\r\n // this.selectBox.refresh();\r\n // console.log('se' + JSON.stringify(this.selectedItems));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n if (resolve) {\r\n resolve(c.data);\r\n }\r\n } else {\r\n if (resolve) {\r\n resolve();\r\n }\r\n }\r\n\r\n this.selectBox.refresh();\r\n });\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXLOVComponent } from './data-lov.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\r\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\r\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\r\n exports: [AXLOVComponent, AXDataLovPopupComponent],\r\n providers: [],\r\n entryComponents: [AXDataLovPopupComponent]\r\n})\r\nexport class AXLOVModule { }"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/data-grid/lib/data-grid/templates/cell-template.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/check-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/command-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/date-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/selection-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/text-column.component.ts","ng://@acorex/data-grid/lib/data-grid/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","style","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","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","icon","onFooterButtonClick","AXBasePopupPageComponent","AXLOVComponent","popup","textField","allowSearch","valueField","popupSize","readonly","disabled","chipsWidth","size","mode","onSelectionChange","_validation","_contentValidation","selectBox","handleButtonClick","open","clearValidationStyle","initValidation","validation","handleSelectChange","Promise","resolve","dropdown","title","then","AXPopupService","AXValidation","AXSelectBoxComponent","AXLOVComponent_1","AXValidatableComponent","AXLOVModule","AXToolbarModule","AXSearchBoxModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-cell-template',\r\n template: `<ng-content></ng-content>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateComponent {\r\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\r\n renderer: any;\r\n params: any;\r\n constructor() {\r\n this.renderer = AXDataGridCellTemplateRenderer;\r\n }\r\n ngOnInit(): void {\r\n this.params = {\r\n templateRef: this.templateRef\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\r\n </ng-container>\r\n `\r\n})\r\n\r\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\r\n rowData: any;\r\n templateRef: TemplateRef<any>;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.rowData = params.data;\r\n this.templateRef = (params as any).templateRef;\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.rowData = params.data;\r\n return true;\r\n }\r\n}","import { AXConfig } from '@acorex/core';\r\nimport { Input, ContentChild, TemplateRef } from '@angular/core';\r\nimport { AXGridCellParams } from '../datagrid.events';\r\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\r\nimport { AXDatePickerFilterComponent } from './date-column.component';\r\n\r\n\r\nexport abstract class AXGridDataColumn {\r\n\r\n\r\n @ContentChild(AXDataGridCellTemplateComponent)\r\n cellTemplate: AXDataGridCellTemplateComponent;\r\n\r\n @Input()\r\n width: number = 100;\r\n\r\n @Input()\r\n maxWidth: number;\r\n\r\n @Input()\r\n minWidth: number;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' | null = null;\r\n\r\n @Input()\r\n allowSorting: boolean = true;\r\n\r\n @Input()\r\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;;\r\n\r\n @Input()\r\n cellClass: (params: AXGridCellParams) => (string | string[]) | (string | string[]);\r\n\r\n @Input()\r\n sort: 'asc' | 'desc' | null = null;\r\n\r\n @Input()\r\n field: string = '';\r\n\r\n @Input()\r\n caption: string = '';\r\n\r\n @Input()\r\n cellRendererParams: any;\r\n\r\n @Input()\r\n checkbox: boolean = false;\r\n\r\n @Input()\r\n headerCheckbox: boolean = false;\r\n\r\n @Input()\r\n groupIndex: number = -1;\r\n\r\n @Input()\r\n treeIndex: number = -1;\r\n\r\n @Input()\r\n enableRowGroup: boolean = false;\r\n\r\n @Input()\r\n hide: boolean = false;\r\n\r\n @Input()\r\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\r\n\r\n @Input()\r\n disableMenu: boolean = false;\r\n\r\n @Input()\r\n resizable: boolean = true;\r\n\r\n @Input()\r\n menuColumnDisable: boolean = false;\r\n\r\n @Input()\r\n menuItemDisable: boolean = false;\r\n\r\n constructor() { }\r\n\r\n render(): any {\r\n const col: any = {\r\n field: this.field,\r\n width: this.width,\r\n };\r\n col.resizable = this.resizable;\r\n col.suppressMenu = this.disableMenu;\r\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab']\r\n col.floatingFilter = this.floatingFilter;\r\n\r\n if (!this.allowFiltering) {\r\n col.filter = false;\r\n col.menuTabs = col.menuTabs.filter(c => c != 'filterMenuTab');\r\n col.floatingFilter = false;\r\n }\r\n if (this.menuColumnDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');\r\n }\r\n if (this.menuItemDisable == true) {\r\n col.menuTabs = col.menuTabs.filter(c => c != 'generalMenuTab');\r\n }\r\n if (this.caption) {\r\n col.headerName = this.caption;\r\n }\r\n if (this.minWidth) {\r\n col.minWidth = this.minWidth;\r\n }\r\n if (this.maxWidth) {\r\n col.maxWidth = this.maxWidth;\r\n }\r\n if (this.pinned) {\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n // TODO: Change based on layout\r\n }\r\n if (this.allowSorting) {\r\n col.sortable = this.allowSorting;\r\n }\r\n if (this.sort) {\r\n col.sort = this.sort;\r\n }\r\n\r\n if (this.groupIndex >= 0) {\r\n col.rowGroupIndex = this.groupIndex;\r\n col.rowGroup = true;\r\n this.enableRowGroup = true;\r\n }\r\n\r\n if (this.treeIndex >= 0) {\r\n col.rowGroupIndex = this.treeIndex;\r\n col.rowGroup = false;\r\n }\r\n if (this.hide) {\r\n col.hide = true;\r\n\r\n }\r\n if (this.enableRowGroup) {\r\n col.enableRowGroup = this.enableRowGroup;\r\n }\r\n\r\n if (this.cellClass) {\r\n const THAT = this;\r\n if (this.cellClass instanceof Function) {\r\n col.cellClass = (p) => {\r\n return THAT.cellClass({\r\n column: THAT,\r\n rowIndex: p.node.rowIndex,\r\n rowLevel: p.node.level,\r\n data: p.data,\r\n value: p.value\r\n });\r\n };\r\n }\r\n else {\r\n col.cellClass = this.cellClass;\r\n\r\n }\r\n }\r\n //\r\n if (this.cellTemplate != null) {\r\n col.cellRendererFramework = this.cellTemplate.renderer;\r\n col.cellRendererParams = this.cellTemplate.params;\r\n }\r\n\r\n if (this.checkbox) {\r\n col.checkboxSelection = (params) => {\r\n return true;\r\n };\r\n // col.headerCheckboxSelection = this.headerCheckbox;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\r\nimport {\r\n ICellRendererParams,\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\n\r\n@Component({\r\n selector: 'ax-check-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXGridCheckColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = BooleanRenderer;\r\n }\r\n if (this.allowFiltering) {\r\n col.filterFramework = BooleanFilterRenderer;\r\n }\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-check-box [value]='value' readonly='true'></ax-check-box>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanRenderer implements ICellRendererAngularComp {\r\n value: boolean;\r\n constructor() { }\r\n agInit(params: ICellRendererParams): void {\r\n this.value = params.value;\r\n }\r\n refresh(params: ICellRendererParams): boolean {\r\n this.value = params.value;\r\n return true;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-select-box\r\n label='Select Box'\r\n [items]='selectItem'\r\n ></ax-select-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BooleanFilterRenderer implements IFilterAngularComp {\r\n public value?: boolean = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\r\n\r\n selectItem = [\r\n { value: 0, label: 'True' },\r\n { value: 1, label: 'False' },\r\n ];\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n this.value = model ? model.value : null;\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.element.nativeElement.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output, ChangeDetectorRef } from '@angular/core';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { AXGridRowCommandEvent } from '../datagrid.events';\r\nimport { AXMenuItem } from '@acorex/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\r\n\r\n@Component({\r\n selector: 'ax-command-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXGridCommandColumn extends AXGridDataColumn {\r\n\r\n\r\n @Input()\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n\r\n @Output()\r\n onItemClick: EventEmitter<AXGridRowCommandEvent> = new EventEmitter<AXGridRowCommandEvent>();\r\n\r\n render() {\r\n const col = super.render();\r\n if (!col.cellRendererFramework) {\r\n col.cellRendererFramework = CommandRenderer;\r\n }\r\n col.cellRendererParams = {\r\n items: this.items,\r\n onClick: (e) => {\r\n this.onItemClick.emit({\r\n command: e.name,\r\n data: e.data,\r\n rowIndex: e.rowIndex,\r\n rowLevel: e.rowLevel,\r\n htmlEvent:e.htmlEvent\r\n });\r\n }\r\n };\r\n col.sortable = false;\r\n col.filter = false;\r\n col.valueGetter = (params) => {\r\n return this.items;\r\n };\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-command-cell',\r\n template: `\r\n <button\r\n *ngFor=\"let item of items\"\r\n class=\"ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}\"\r\n [class.disabled]=\"item.disable\"\r\n type=\"button\"\r\n [title]=\"item.tooltip\"\r\n (click)=\"onClick(item,$event)\"\r\n >\r\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\r\n </button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CommandRenderer implements ICellRendererAngularComp {\r\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\r\n node: any;\r\n private clickCallback: Function;\r\n\r\n constructor() { }\r\n\r\n agInit(params: ICellRendererParams): void {\r\n this.mapParams(params);\r\n }\r\n\r\n refresh(params: ICellRendererParams): boolean {\r\n this.mapParams(params);\r\n return true;\r\n }\r\n\r\n private mapParams(params: any) {\r\n this.node = params.node;\r\n this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];\r\n this.clickCallback = params.onClick;\r\n }\r\n\r\n onClick(item: AXMenuItem,e:MouseEvent) {\r\n if (this.clickCallback && !item.disable) {\r\n this.clickCallback({\r\n name: item.name,\r\n rowLevel: this.node.level,\r\n rowIndex: this.node.rowIndex,\r\n data: this.node.data,\r\n htmlEvent:e\r\n });\r\n }\r\n }\r\n}\r\n","\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\nimport { AXGridDataColumn } from './column.component';\r\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\r\nimport { AXDatePickerComponent } from '@acorex/components';\r\n@Component({\r\n selector: 'ax-date-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridDateColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @Input()\r\n format: string;\r\n\r\n @Input()\r\n type: AXCalendarType = AXConfig.get('dateTime.type');\r\n\r\n render() {\r\n const col = super.render();\r\n col.cellRendererParams = {\r\n format: this.format,\r\n };\r\n\r\n col.comparator = (valueA: any, valueB: any) => {\r\n const date1 = AXDateTime.convert(valueA);\r\n const date2 = AXDateTime.convert(valueB);\r\n //\r\n if (date1 === null && date2 === null) {\r\n return 0;\r\n }\r\n if (date1 === null) {\r\n return -1;\r\n }\r\n if (date2 === null) {\r\n return 1;\r\n }\r\n return (date1.date.getTime() - date2.date.getTime());\r\n };\r\n\r\n col.valueFormatter = (params) => {\r\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\r\n if (date) {\r\n return date.format(this.format);\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n col.filter = 'agDateColumnFilter';\r\n // col.floatingFilter = true;\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'ax-data-picker-filter',\r\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\r\n </ax-date-picker>`,\r\n host: { style: 'display: contents;' },\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AXDatePickerFilterComponent {\r\n @ViewChild(AXDatePickerComponent)\r\n datePicker: AXDatePickerComponent;\r\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\r\n selectableHoliday: boolean = false;\r\n type: string = 'jalali';\r\n date: Date;\r\n params: any;\r\n picker: any;\r\n\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n ngOnDestroy() {\r\n console.log(`Destroying DateComponent`);\r\n }\r\n\r\n onDateChanged(selectedDates) {\r\n //this.date = selectedDates[0] || null;\r\n this.params.onDateChanged();\r\n }\r\n\r\n getDate(): Date {\r\n return this.date;\r\n }\r\n\r\n setDate(date: Date): void {\r\n this.date = date || null;\r\n //this.picker.setDate(date);\r\n }\r\n\r\n setInputPlaceholder(placeholder: string): void {\r\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\r\n }\r\n onValueChanged(e) {\r\n\r\n this.setDate(e.value);\r\n this.onDateChanged(e.value);\r\n }\r\n\r\n}\r\n","import { AXGridDataColumn } from './column.component';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-selection-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridSelectionColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n @Input()\r\n condition: (params) => boolean;\r\n\r\n @Input()\r\n pinned: 'start' | 'end' = 'start';\r\n\r\n render() {\r\n const col = super.render();\r\n col.checkboxSelection = this.condition ? this.condition : true;\r\n // col.headerCheckboxSelection = true;\r\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\r\n col.filter = false;\r\n col.resizable = false;\r\n col.sortable = false;\r\n col.width = 40;\r\n\r\n return col;\r\n }\r\n}","import { AXGridDataColumn } from './column.component';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n IFilterParams,\r\n RowNode,\r\n IDoesFilterPassParams,\r\n IAfterGuiAttachedParams\r\n} from 'ag-grid-community';\r\nimport { IFilterAngularComp } from 'ag-grid-angular';\r\nimport { AXTextBoxComponent } from '@acorex/components';\r\n\r\n\r\n@Component({\r\n selector: 'ax-text-column',\r\n template: '',\r\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXGridTextColumn extends AXGridDataColumn {\r\n constructor() {\r\n super();\r\n }\r\n\r\n render() {\r\n const col = super.render();\r\n // if (this.allowFiltering) {\r\n // col.filterFramework = TextFilterRenderer;\r\n // }\r\n col.filter = 'agTextColumnFilter';\r\n return col;\r\n }\r\n}\r\n\r\n@Component({\r\n template: `\r\n <ax-data-grid-filter>\r\n <ax-text-box label='Filter' allowClear='true' (textChange)='onChange($event)'>\r\n </ax-text-box>\r\n </ax-data-grid-filter>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TextFilterRenderer implements IFilterAngularComp {\r\n public value?: string = null;\r\n private params: IFilterParams;\r\n private valueGetter: (rowNode: RowNode) => any;\r\n @ViewChild(AXTextBoxComponent, { static: true })\r\n private input: AXTextBoxComponent;\r\n\r\n agInit(params: IFilterParams): void {\r\n this.params = params;\r\n this.valueGetter = params.valueGetter;\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return this.value !== null && this.value !== undefined;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n return this.value === this.valueGetter(params.node);\r\n }\r\n\r\n getModel(): any {\r\n return { value: this.value };\r\n }\r\n\r\n setModel(model: any): void {\r\n ;\r\n this.onChange(model ? model.value : null);\r\n }\r\n\r\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\r\n window.setTimeout(() => {\r\n this.input.focus();\r\n });\r\n }\r\n\r\n onChange(newValue): void {\r\n if (this.value !== newValue) {\r\n this.value = newValue;\r\n if (this.value === '') {\r\n this.value = null;\r\n }\r\n this.params.filterChangedCallback();\r\n }\r\n }\r\n}\r\n","import { 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 ? (AXConfig.get('layout.rtl') ? 'right' : 'left') : 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\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 = false;\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.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 debugger;\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 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 { Component, Input, ContentChildren, QueryList, Output, EventEmitter, ContentChild, ViewChild, ViewEncapsulation, ElementRef, TemplateRef } from '@angular/core';\r\nimport { AXPopupService, AXBaseInputComponent, AXBaseSizableComponent, AXElementSize, AXValidation } from '@acorex/components';\r\nimport { AXDataSourceComponent, AXSelectBoxComponent, AXDataEvent, AXValidatableComponent } from '@acorex/components';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\r\nimport { AXConfig } from '@acorex/core';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ax-lov',\r\n templateUrl: './data-lov.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n host: { style: 'display: contents;' },\r\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\r\n})\r\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\r\n\r\n @ContentChild(AXValidation, { static: true })\r\n private _contentValidation: AXValidation;\r\n private _validation: AXValidation;\r\n\r\n @Input()\r\n public get validation(): AXValidation {\r\n return this._validation ? this._validation : this._contentValidation;\r\n }\r\n public set validation(v: AXValidation) {\r\n this._validation = v;\r\n }\r\n\r\n constructor(private popup: AXPopupService, private ref: ElementRef) {\r\n super();\r\n }\r\n\r\n @ViewChild('selectBox', { static: true })\r\n selectBox: AXSelectBoxComponent;\r\n\r\n @ContentChild(AXDataSourceComponent, { static: true })\r\n dataSource: AXDataSourceComponent;\r\n\r\n @ContentChildren(AXGridDataColumn)\r\n private columns: QueryList<AXGridDataColumn>;\r\n\r\n\r\n @ContentChild('itemTemplate', { static: true })\r\n rowTemplate: TemplateRef<any>;\r\n\r\n\r\n @Input()\r\n textField: string = '';\r\n\r\n @Input()\r\n allowSearch: boolean = true;\r\n\r\n @Input()\r\n valueField: string = '';\r\n\r\n @Input()\r\n hasChildField: string = 'null';\r\n\r\n @Input()\r\n allowNull: boolean = true;\r\n\r\n @Input()\r\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\r\n\r\n @Input()\r\n selectedItems: any[] = [];\r\n\r\n // @Input()\r\n // selectedValues: any[] = [];\r\n\r\n @Input()\r\n readonly: boolean = false;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n chipsWidth: string = '';\r\n\r\n @Input()\r\n size: AXElementSize = 'md';\r\n\r\n @Input()\r\n caption: string;\r\n\r\n @Input()\r\n mode: 'single' | 'multiple' = 'single';\r\n\r\n @Input()\r\n placeholder: string;\r\n\r\n @Output()\r\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<AXDataEvent<any>>();\r\n\r\n @Input()\r\n rtl: boolean = AXConfig.get('layout.rtl');\r\n\r\n\r\n focus(): void { this.selectBox.focus(); }\r\n\r\n refresh() {\r\n this.selectBox.refresh();\r\n }\r\n\r\n handleButtonClick() {\r\n this.open();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n // this.selectVal = this.selectedValues;\r\n this.onSelectionChange.subscribe(c => {\r\n this.clearValidationStyle(this.ref.nativeElement);\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.initValidation(this.ref, 'selectedItems', this.validation);\r\n }\r\n\r\n\r\n handleSelectChange(e) {\r\n\r\n // console.log('se' + JSON.stringify(e));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n }\r\n\r\n\r\n public open(): Promise<any> {\r\n return new Promise((resolve) => {\r\n this.selectBox.dropdown.close();\r\n this.popup.open(AXDataLovPopupComponent, {\r\n size: this.popupSize,\r\n data: {\r\n dataSource: this.dataSource,\r\n selectionMode: this.mode,\r\n columns: this.columns.toArray(),\r\n // selectedItems: this.selectedValues,\r\n selectedItems: this.selectedItems,\r\n keyField: this.valueField,\r\n allowNull: this.allowNull,\r\n hasChildField: this.hasChildField,\r\n rtl: this.rtl\r\n\r\n },\r\n title: this.caption,\r\n // size: this.size,\r\n }).then(c => {\r\n\r\n if (c.data) {\r\n // this.selectedValues = [];\r\n this.selectedItems = [];\r\n c.data.forEach(elm => {\r\n this.selectedItems.push(elm)\r\n });\r\n // this.selectedItems = c.data;\r\n // this.selectBox.refresh();\r\n // console.log('se' + JSON.stringify(this.selectedItems));\r\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\r\n if (resolve) {\r\n resolve(c.data);\r\n }\r\n } else {\r\n if (resolve) {\r\n resolve();\r\n }\r\n }\r\n\r\n this.selectBox.refresh();\r\n });\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXLOVComponent } from './data-lov.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\r\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\r\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\r\n\r\n\r\n@NgModule({\r\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\r\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\r\n exports: [AXLOVComponent, AXDataLovPopupComponent],\r\n providers: [],\r\n entryComponents: [AXDataLovPopupComponent]\r\n})\r\nexport class AXLOVModule { }"]}
|