Skip to content

Commit 5681e8b

Browse files
committed
Fixes#12
1 parent 119aebc commit 5681e8b

File tree

6 files changed

+45
-7
lines changed

6 files changed

+45
-7
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,18 @@ and include css in src/styles.scss
3636
### Pagination
3737
* **pagination [boolean]:** Enable pagination for the table.
3838
* **pageSize [number]:** Enable pagination for the table.
39+
### Events
40+
> **dataChanged [function]**
41+
>> Get data change event with parameters.
42+
>> ```html
43+
>> <data-grid [pagination]="pagination" [theme]="theme"
44+
>> [columnDefs]="columnDefs" [rowData]="rowData" (dataChanged)="valueChanged($event)" ></data-grid>
45+
>> ```
46+
>> ```javascript
47+
>> valueChanged (valueChanged){
48+
console.log("Row: ",valueChanged.row,"Column: ",valueChanged.column, "Data: ",,valueChanged.data );
49+
}
50+
>> ```
3951
### Themes
4052
* **theme [string]:** Themebased table. The available themes are as follows
4153
1. Matrial Theme (metrial-theme)

projects/angular-open-datagrid/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,18 @@ and include css in src/styles.scss
3636
### Pagination
3737
* **pagination [boolean]:** Enable pagination for the table.
3838
* **pageSize [number]:** Enable pagination for the table.
39+
### Events
40+
> **dataChanged [function]**
41+
>> Get data change event with parameters.
42+
>> ```html
43+
>> <data-grid [pagination]="pagination" [theme]="theme"
44+
>> [columnDefs]="columnDefs" [rowData]="rowData" (dataChanged)="valueChanged($event)" ></data-grid>
45+
>> ```
46+
>> ```javascript
47+
>> valueChanged (valueChanged){
48+
console.log("Row: ",valueChanged.row,"Column: ",valueChanged.column, "Data: ",,valueChanged.data );
49+
}
50+
>> ```
3951
### Themes
4052
* **theme [string]:** Themebased table. The available themes are as follows
4153
1. Matrial Theme (metrial-theme)

projects/angular-open-datagrid/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-open-datagrid",
3-
"version": "1.2.4",
3+
"version": "1.2.7",
44
"license": "(MIT)",
55
"homepage": "https://github.com/sowvikr/angular-open-datagrid-lilb",
66
"bugs": {

projects/angular-open-datagrid/src/lib/data-table/data-table.component.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, OnInit, Input, ChangeDetectorRef} from '@angular/core';
1+
import {Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef} from '@angular/core';
22
import {trigger, style, animate, transition} from '@angular/animations';
33
import {moveItemInArray} from '@angular/cdk/drag-drop';
44
import {filter} from 'rxjs/internal/operators/filter';
@@ -55,6 +55,13 @@ interface ContextMenuData {
5555
data: any;
5656
}
5757

58+
interface DataChangeEventData{
59+
row: number,
60+
column: number,
61+
data: any
62+
}
63+
64+
5865
@Component({
5966
selector: 'data-grid',
6067
templateUrl: './data-table.component.html',
@@ -77,6 +84,8 @@ interface ContextMenuData {
7784
})
7885
export class DataTableComponent implements OnInit {
7986

87+
88+
@Output() dataChanged = new EventEmitter<DataChangeEventData>();
8089
@Input() pagination;
8190
private pageSize;
8291
public dragTheme;
@@ -121,7 +130,7 @@ export class DataTableComponent implements OnInit {
121130
public selectAllRows:boolean = false;
122131

123132
// Convert row data to a 2D array.
124-
createTableData1(filteredData?:Array<any>, currentPage?:number) {
133+
createTableData(filteredData?:Array<any>, currentPage?:number) {
125134
this.TableRows = new Array<any>();
126135
this.contextMenuData = [];
127136
if (!(this._rowData && this._rowData.length)) {
@@ -437,7 +446,7 @@ export class DataTableComponent implements OnInit {
437446
this.previousIndex = undefined;
438447
moveItemInArray(this.columnDefs, event.previousIndex, event.currentIndex);
439448
moveItemInArray(this.FilterData, event.previousIndex, event.currentIndex);
440-
this.createTableData1(this.FilterData, this.CurrentPage);
449+
this.createTableData(this.FilterData, this.CurrentPage);
441450

442451
}
443452

@@ -458,7 +467,7 @@ export class DataTableComponent implements OnInit {
458467
this.TableRows[changeValue.row].data[changeValue.column] = changeValue.value;
459468
this.pagedRows();
460469
this.setPagedRow(this.CurrentPage);
461-
470+
this.dataChanged.emit(changeValue);
462471
}
463472

464473
private selectedRowsCount():number {
@@ -797,7 +806,7 @@ export class DataTableComponent implements OnInit {
797806
this.FilterRowCount = this._rowData.length;
798807
this.TotalRows = this._rowData.length;
799808
this.FilterData = new Array<FilterOptions>(this.columnDefs.length);
800-
this.createTableData1();
809+
this.createTableData();
801810
this.TotalPages = Math.ceil(this._rowData.length / this.pageSize);
802811
this.ToRecord = this.pageSize;
803812

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

22
<div *ngFor="let dataTable of dataTables">
33
<data-grid [commonSearch]="commonSearch" [pagination]="dataTable.pagination" [theme]="dataTable.theme"
4-
[columnDefs]="dataTable.columnDefs" [rowData]="dataTable.rowData"></data-grid>
4+
[columnDefs]="dataTable.columnDefs" [rowData]="dataTable.rowData" (dataChanged)="valueChanged($event)"></data-grid>
55
</div>

src/app/pages/dark-theme/dark-theme.component.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ import { Component, OnInit } from '@angular/core';
66
styleUrls: ['./dark-theme.component.scss']
77
})
88
export class DarkThemeComponent implements OnInit {
9+
10+
valueChanged (valueChanged){
11+
console.log("Change Triggered",valueChanged);
12+
}
13+
914
dataTables: Array<any> = [
1015
{
1116
pagination: true, theme: 'dark-theme',

0 commit comments

Comments
 (0)