Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <body>
- <input type="text">
- <md-app-aggrid [columnDefs]="columnDefs1" [rowData]="rowData1"
- (editEvent)="getData($event);" [pagination]="false" [enableSorting]="false"
- [enableColResize]="false"></md-app-aggrid>
- </body>
- </html>
- <div *ngIf="gridId == 'aggrid1'">
- <div [ngStyle]="style">
- <ag-grid-angular style="width: 100%; height: 100%;" #agGrid class="ag-
- theme-blue" [rowData]="rowData" rowSelection="single"
- [columnDefs]="columnDefs" [pagination]="pagination"
- [enableSorting]="enableSorting" [enableColResize]="enableColResize"
- (input)="dataChange($event)" (gridReady)="onGridReady1($event)"
- (getSelectedRows)="getSelectedRows()"
- (cellClicked)="onCellClicked($event)">
- </ag-grid-angular>
- </div>
- </div>
- <div *ngIf="gridId == 'aggrid2'">
- <div [ngStyle]="style">
- <ag-grid-angular style="width: 100%; height: 100%;" #agGrid2 class="ag-
- theme-blue" [rowData]="rowData" rowSelection="single"
- [columnDefs]="columnDefs" [pagination]="pagination"
- [enableSorting]="enableSorting" [enableColResize]="enableColResize"
- (input)="dataChange($event)" (gridReady)="onGridReady2($event)"
- (getSelectedRows)="getSelectedRows()"
- (cellClicked)="onCellClicked($event)">
- </ag-grid-angular>
- </div>
- </div>
- <div *ngIf="gridId == 'aggrid3'">
- <div [ngStyle]="style">
- <ag-grid-angular style="width: 100%; height: 100%;" #agGrid3 class="ag-
- theme-blue" [rowData]="rowData" rowSelection="single"
- [columnDefs]="columnDefs" [pagination]="pagination"
- [enableSorting]="enableSorting" [enableColResize]="enableColResize"
- (input)="dataChange($event)" (gridReady)="onGridReady3($event)"
- (getSelectedRows)="getSelectedRows()"
- (cellClicked)="onCellClicked($event)">
- </ag-grid-angular>
- </div>
- </div>
- import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from
- '@angular/core';
- import { AgGridNg2 } from 'ag-grid-angular';
- @Component({
- selector: 'md-app-aggrid2',
- templateUrl: './app-aggrid2.component.html',
- styleUrls: ['./app-aggrid2.component.scss']
- })
- export class AppAggrid2Component implements OnInit {
- params2: any;
- params3: any;
- params1: any;
- style: { width: any; height: any; };
- public getRowNodeId: (data: any) => any;
- selectedDataString: any;
- public gridApi1;
- public gridApi2;
- public gridApi3;
- public gridColumnApi;
- // getting inputs from parent component
- @Input() columnDefs: any;
- // @Input() height: any;
- // @Input() width: any;
- @Input() pagination: any;
- @Input() enableSorting: any;
- @Input() enableColResize: any;
- @Input() rowData: any;
- @Input() gridLayout: any;
- @Input() gridId: any;
- // editing form using editevent in parent component
- @Output() editEvent = new EventEmitter();
- @Output() editEvent2 = new EventEmitter();
- @Output() editEvent3 = new EventEmitter();
- // removing data from array in parent component
- @Output() removeEvent = new EventEmitter();
- @ViewChild('agGrid') agGrid: AgGridNg2;
- @ViewChild('agGrid2') agGrid2: AgGridNg2;
- @ViewChild('agGrid3') agGrid3: AgGridNg2;
- constructor() { }
- ngOnInit() {
- if (this.gridLayout === 'manageOrders1.1') {
- this.setWidthAndHeight('100%', '250px');
- } else if (this.gridLayout === 'manageOrders1.2') {
- this.setWidthAndHeight('100%', '150px');
- } else {
- this.setWidthAndHeight('100%', '150px');
- }
- }
- setWidthAndHeight(width, height) {
- this.style = {
- width: width,
- height: height,
- };
- }
- // initilize the ag-grid
- onGridReady1(params) {
- this.params1 = params;
- console.log('onGridReady1', params);
- this.gridApi1 = params.api;
- this.gridColumnApi = params.columnApi;
- }
- onGridReady2(params) {
- this.params2 = params;
- console.log('onGridReady2', params);
- this.gridApi2 = params.api;
- this.gridColumnApi = params.columnApi;
- }
- onGridReady3(params) {
- this.params3 = params;
- console.log('onGridReady3', params);
- this.gridApi3 = params.api;
- this.gridColumnApi = params.columnApi;
- }
- // adding new row to the grid
- submit(obj, grid) {
- if (grid === 'aggrid2') {
- this.gridId = 'aggrid2';
- // this.onGridReady2(this.params2);
- this.editEvent2.emit('Ravi aggrid2');
- // const res1 = this.gridApi2.updateRowData({ add: [obj] });
- const res1 = this.agGrid2.api.updateRowData({ add: [obj] });
- } else if (grid === 'aggrid3') {
- this.gridId = 'aggrid3';
- this.editEvent3.emit('Ravi aggrid3');
- // const res1 = this.gridApi3.updateRowData({ add: [obj] });
- const res1 = this.agGrid3.api.updateRowData({ add: [obj] });
- } else {
- const res1 = this.gridApi1.updateRowData({ add: [obj] });
- }
- }
- // checking the action type from cellClicked event
- onCellClicked(e) {
- if (e.event.target !== undefined) {
- const actionType = e.event.target.getAttribute('data-action-type');
- switch (actionType) {
- case 'edit':
- // callback to edit method in ag-grid
- return this.onRowEdit(e);
- case 'remove':
- // callback to remove method in ag-grid
- return this.onRemoveSelected(e);
- case 'deleteAndSend':
- // callback to remove method in ag-grid
- return this.sendToTodaysGrid(e);
- default:
- // callback to remove method in ag-grid
- return this.getSelectedData(e);
- }
- }
- }
- // emits the data in editevent to callback parent component
- onRowEdit(e) {
- this.editEvent.emit(e.data);
- }
- // emits the removing data and remove the selected data in ag-grid
- onRemoveSelected(e) {
- this.removeEvent.emit(e.data);
- const selectedData = e.data;
- const res2 = this.gridApi1.updateRowData({ remove: [selectedData] });
- // alert('deleted successfully');
- }
- // update existing row in ag-grid by using index
- update(obj, index) {
- const rowNode = this.gridApi1.getRowNode(index);
- rowNode.setData(obj);
- }
- // emits the data in editevent to callback parent component
- getSelectedData(e) {
- console.log('2 getSelectedData successfully' + e.data);
- this.editEvent.emit(e.data);
- }
- sendToTodaysGrid(e) {
- //..
- }
- }
- <div class="panel panel-primary">
- <div class="panel-heading">
- <span style="font-size: 16px"> Manage orders </span>
- </div>
- <div class="panel-body">
- <div class="row">
- <div class="col-md-6 col-md-6 col-sm-6 col-xs-6">
- <div class="panel panel-primary" style=" border: 1px solid gray;">
- <div class="panel-body">
- <div class="row">
- <div class="col-lg-8 col-md-8 col-sm-8">
- <md-app-search jsonType="Snomed" itemName="snomed_fsn"
- (typeOfJson)="jsonType=$event;"
- (afterSearchData)="selectedData($event);"
- [dataShow]='false'></md-app-search>
- </div>
- <div class="col-lg-4 col-md-4 col-sm-4">
- <input type="radio" name="radio1" checked
- (click)="selectOption(r.value)" #r value="all">All
- <input type="radio" name="radio1"
- (click)="selectOption(r1.value)" #r1 value="pre">Previous Orders
- </div>
- </div>
- <div class="row" style="padding-top: 10px">
- <div class="col-lg-5 col-md-5 col-sm-5">
- <div class="input-group">
- By
- <select class="form-control input-sm">
- <option value="" disabled selected></option>
- </select>
- </div>
- </div>
- <div class="col-lg-3 col-md-3 col-sm-3">
- <select class="form-control input-sm">
- <option value="" disabled selected></option>
- </select>
- </div>
- <div class="col-lg-4 col-md-4 col-sm-4">
- <div class="input-group">
- Type
- <select class="form-control input-sm">
- <option value="" disabled selected></option>
- </select>
- </div>
- </div>
- </div>
- <div class="row" style="padding-top: 10px">
- <div class="col-lg-8 col-md-8 col-sm-8">
- <div class="input-group">
- Lab Company
- <select class="form-control input-sm">
- <option value="" disabled selected></option>
- </select>
- </div>
- </div>
- <div class="col-lg-4 col-md-4 col-sm-4">
- </div>
- </div>
- </div>
- </div>
- <md-app-aggrid2 gridId="aggrid1" [columnDefs]="columnDefs1"
- [rowData]="rowData1" gridLayout="manageOrders1.1"
- (editEvent)="getData($event);"
- [pagination]="false" [enableSorting]="false"
- [enableColResize]="false"></md-app-aggrid2>
- </div>
- <div class="col-md-6 col-md-6 col-sm-6 col-xs-6">
- <input type="radio" name="radio2" checked
- (click)="todaysOrders(t.value)" #t value="today">Today's Orders
- <md-app-aggrid2 gridId="aggrid2" [columnDefs]="columnDefs2"
- [rowData]="rowData2" gridLayout="manageOrders1.2"
- (editEvent2)="getData2($event);"
- [pagination]="false" [enableSorting]="false"
- [enableColResize]="false"></md-app-aggrid2>
- <br>
- <input type="radio" name="radio2" (click)="todaysOrders(f.value)" #f
- value="future">Future Orders
- <span style=" padding-left: 255px">Order Date : </span> {{date |
- date:'MM/dd/yyyy'}}
- <md-app-aggrid2 gridId="aggrid3" [columnDefs]="columnDefs3"
- [rowData]="rowData3" gridLayout="manageOrders1.2"
- (editEvent3)="getData3($event);"
- [pagination]="false" [enableSorting]="false"
- [enableColResize]="false"></md-app-aggrid2>
- </div>
- </div>
- </div>
- </div>
- <div [ngStyle]="style">
- <ag-grid-angular style="width: 100%; height: 100%;" #agGrid class="ag-theme-blue"
- [rowData]="rowData" rowSelection="single"
- [columnDefs]="columnDefs" [pagination]="pagination" [enableSorting]="enableSorting"
- [enableColResize]="enableColResize"
- (input)="dataChange($event)" (gridReady)="onGridReady($event)"
- (getSelectedRows)="getSelectedRows()" (cellClicked)="onCellClicked($event)">
- </ag-grid-angular>
- </div>
- <ag-grid-angular
- style="width: 100%; height: 45%"
- #topGrid
- class="ag-theme-balham"
- [rowData]="rowData"
- [gridOptions]="topOptions"
- [columnDefs]="columnDefs"
- (firstDataRendered)="onFirstDataRendered($event)">
- </ag-grid-angular>
- <ag-grid-angular
- style="width: 100%; height: 45%"
- #bottomGrid
- class="ag-theme-balham"
- [rowData]="rowData"
- [gridOptions]="bottomOptions"
- [columnDefs]="columnDefs"
- (firstDataRendered)="onFirstDataRendered($event)">
- </ag-grid-angular>
- export class AppComponent {
- columnDefs;
- rowData;
- topOptions = {alignedGrids: []};
- bottomOptions = {alignedGrids: []};
- @ViewChild('topGrid') topGrid;
- @ViewChild('bottomGrid') bottomGrid;
- constructor(private http: HttpClient) {
- this.columnDefs = [
- {headerName: 'Athlete', field: 'athlete', width: 200},
- {headerName: 'Age', field: 'age', width: 150},
- {headerName: 'Country', field: 'country', width: 150},
- {headerName: 'Year', field: 'year', width: 120},
- {headerName: 'Date', field: 'date', width: 150},
- {headerName: 'Sport', field: 'sport', width: 150},
- {
- headerName: 'Medals',
- children: [
- {
- headerName: "Total", columnGroupShow: 'closed', field: "total",
- valueGetter: "data.gold + data.silver + data.bronze", width: 200
- },
- {headerName: "Gold", columnGroupShow: 'open', field: "gold", width: 100},
- {headerName: "Silver", columnGroupShow: 'open', field: "silver", width: 100},
- {headerName: "Bronze", columnGroupShow: 'open', field: "bronze", width: 100}
- ]
- }
- ];
- this.topOptions.alignedGrids.push(this.bottomOptions);
- this.bottomOptions.alignedGrids.push(this.topOptions);
- }
- ngOnInit() {
- this.http.get('https://raw.githubusercontent.com/ag-grid/ag-grid/master/packages/ag-grid-docs/src/olympicWinnersSmall.json').subscribe(data => {
- this.rowData = data;
- });
- }
- }
Add Comment
Please, Sign In to add comment