J'ai un id a passer depuis l'écran de liste vers l'écran de détail !
J'aimerais l'envoyer au back dans les param de l'appel API ( data: {idVersion: **} )
// dans l'écran de liste je passe l'id dans les globalParams de l'url
export class ParamTourneeModeleListComponent extends StandardViewTableProxy<ParamTourneeModeleList> {
public onRowClick(a_event: MsTableEvent): void {
a_event.event.preventDefault();
this.coreServicesProvider.urlService.goToUpdate(
{
id_ParamTourModelR: a_event.row.id_ParamTourModelR,
idVersion_ParamTourModelR:a_event.row.idVersion_ParamTourModelR
},undefined, a_event.event);
}
// Dans l'écran de detail dans doBeforeLoadData AVANT que l'appel API se fasse
export class ParamTourneeModeleDetailComponent extends BaseViewWithStdActionsComponent<ParamTourneeModeleEvtModal, any> {
public doBeforeLoadData(): void {
if (this.viewParams && (this.viewParams.dataParams) && (this.viewParams.dataParams.dataType === ViewDataType.UPDATE)) {
if (ClassUtils.isDefined(<ParamTourneeModeleAdminService>this.service)) {
// je passe la valeur recupérée dans les globalParams a la propriété du service
(<ParamTourneeModeleAdminService>this.service).idVersion = this.coreServicesProvider.routerGlobals.params.idVersion_ParamTourModelR;
}
}
}
// dans le service on defini getter setter pour stocker notre idVersion
private _idVersion: number;
public get idVersion(): number {
return this._idVersion;
}
public set idVersion(value: number) {
this._idVersion = value;
}
/**
* Récupération d'un bean pour modification
* @param a_id identifiant du bean
* @param a_httpParams paramètres supplémentaires
*/
// On surcharge le getUpdate !
public getUpdate(a_id: number, a_postMetas?: PostMeta, a_httpParams: MsHttpParams = { noTimeOut: false, forcePost: false, doToastSuccess: false }): Observable<HttpPostResult<any>> {
// on ajoute notre idVersion dans les APIParams
let l_apiParams: ApiParams = new ApiParams();
if (this.idVersion) {
l_apiParams.addNumberParam('idVersion', this.idVersion);
} else {
l_apiParams = null;
}
let l_object: any = (l_apiParams !== null) ? l_apiParams.params : null;
let ldata: HttpPostBody<any> = { data: l_object, meta: a_postMetas, httpParams: this.getDefaultHttpParams(a_httpParams, MsTypeApi.GETUPDATE) };
return this.doPost<HttpPostResult<any>>(this.getConstants().getServer() + this.getServiceConfig().baseApi + BaseHttpService.GET_UPDATE_API + a_id, ldata);
}
}