Hola a todos tengo este código:
import { Injectable } from "@angular/core";
import { IControlEstadoMesService } from "./control-estado-mes.interface";
import { MOCK_CONTROLESTADOMES } from "./control-estado-mes.mock";
import { Observable } from "rxjs/Observable";
import { ControlEstadoMes } from "./control-estado-mes.model";
import { of } from "rxjs/observable/of";
import { ControlEstadoMesFormateado } from "./control-estado-mes-formateado.model";
import { MOCK_CONTROLESTADOMESES } from "./control-estados-meses.mock";
@Injectable()
export class ControlEstadoMesServiceMock implements IControlEstadoMesService {
getControlEstadoMes(value: number): Observable<ControlEstadoMesFormateado[]> {
let listaControlEstadoMesFormateado : ControlEstadoMesFormateado[] = [];
let anyos = MOCK_CONTROLESTADOMES.filter(element => element.anyo == value);
anyos.forEach(element => {
let controlEstadoMesFormateado: ControlEstadoMesFormateado = Object.assign(element);
let nombreMes = MOCK_CONTROLESTADOMESES.find(x => x.id == element.mes);
controlEstadoMesFormateado.mes = nombreMes.nombre;
listaControlEstadoMesFormateado.push(controlEstadoMesFormateado);
});
return of(listaControlEstadoMesFormateado);
}
}
Este es el que tiene todo asignado:
import { ControlEstadoMes } from "./control-estado-mes.model";
export const MOCK_CONTROLESTADOMES: ControlEstadoMes[] = [
{ id: 0, mes: 0, anyo: 2017, bloqueado: true },
{ id: 1, mes: 1, anyo: 2017, bloqueado: true },
{ id: 2, mes: 2, anyo: 2017, bloqueado: true },
{ id: 3, mes: 3, anyo: 2017, bloqueado: true },
{ id: 4, mes: 4, anyo: 2017, bloqueado: true },
{ id: 5, mes: 5, anyo: 2017, bloqueado: true },
{ id: 6, mes: 6, anyo: 2017, bloqueado: true },
{ id: 7, mes: 7, anyo: 2017, bloqueado: true },
{ id: 8, mes: 8, anyo: 2017, bloqueado: true },
{ id: 9, mes: 9, anyo: 2017, bloqueado: true },
{ id: 10, mes: 10, anyo: 2017, bloqueado: true },
{ id: 11, mes: 11, anyo: 2017, bloqueado: true },
{ id: 12, mes: 0, anyo: 2018, bloqueado: true },
{ id: 13, mes: 1, anyo: 2018, bloqueado: true },
{ id: 14, mes: 2, anyo: 2018, bloqueado: true },
{ id: 15, mes: 3, anyo: 2018, bloqueado: false },
{ id: 16, mes: 4, anyo: 2018, bloqueado: false },
{ id: 17, mes: 5, anyo: 2018, bloqueado: false },
{ id: 18, mes: 6, anyo: 2018, bloqueado: false },
{ id: 19, mes: 7, anyo: 2018, bloqueado: false },
{ id: 20, mes: 8, anyo: 2018, bloqueado: false },
{ id: 21, mes: 9, anyo: 2018, bloqueado: false },
{ id: 22, mes: 10, anyo: 2018, bloqueado: false },
{ id: 23, mes: 11, anyo: 2018, bloqueado: false }
]
Y este el HTML:
<div class="container-fluid">
<div class="row">
<div class="col">
<h1>Bloquear Mes</h1>
</div>
</div>
<div class="row">
<div class="col-md-2">
<div class="form-group">
<select class="form-control" id="anio" (change)="getControlEstadoMes($event.target.value)">
<option>Selecciona un año:</option>
<option >{{ anyoAnterior | date:'yyyy'}}</option>
<option >{{ anyoActual | date:'yyyy'}}</option>
</select>
</div>
</div>
</div>
<!-- Grid -->
<div class="row">
<div class="col-sm-6">
<kendo-grid [data]="gridData">
<kendo-grid-column field="mes" title="Mes" [width]="150">
</kendo-grid-column>
<kendo-grid-column field="anyo" title="Año" [width]="150">
</kendo-grid-column>
<kendo-grid-column field="bloqueado" title="Bloquear" [width]="150">
<ng-template kendoGridCellTemplate let-dataItem>
<button type="button" class="btn btn-outline-danger" [disabled]="dataItem.bloqueado">Bloquear</button>
</ng-template>
</kendo-grid-column>
</kendo-grid>
</div>
</div>
</div>
Lo que necesito es que al pulsar el botón de bloquear, me saque por un console.log el id de esa fila, es decir, si pulso el bloquear de enero de 2018, me tendrá que sacar el id 12, y sinceramente no entiendo como puedo hacerlo, gracias de antemano.