fr.ird.observe.client.form.simple.SimpleDataFormUIModel Maven / Gradle / Ivy
package fr.ird.observe.client.form.simple;
/*-
* #%L
* ObServe Toolkit :: Common Client
* %%
* Copyright (C) 2008 - 2017 IRD, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* .
* #L%
*/
import fr.ird.observe.client.form.FormUIModel;
import fr.ird.observe.client.form.WithBeanTypeFormModel;
import fr.ird.observe.client.spi.context.DataDtoUIContext;
import fr.ird.observe.dto.IdHelper;
import fr.ird.observe.dto.data.DataDto;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.services.service.referential.ReferentialDtoCacheManager;
/**
* Created by tchemit on 02/10/17.
*
* @author Tony Chemit - [email protected]
*/
public class SimpleDataFormUIModel extends FormUIModel implements WithBeanTypeFormModel {
private final DataDtoUIContext, D> dtoContext;
private final String selectedParentId;
private final String selectedId;
protected D bean;
protected Form form;
public SimpleDataFormUIModel(DataDtoUIContext, D> dtoContext) {
this.dtoContext = dtoContext;
this.selectedId = dtoContext.getSelectedId();
this.selectedParentId = dtoContext.getParent().getSelectedId();
}
public String getSelectedParentId() {
return selectedParentId;
}
public String getSelectedId() {
return selectedId;
}
public D getBean() {
return bean;
}
public void setBean(D bean) {
this.bean = bean;
}
public DataDtoUIContext, D> getDtoContext() {
return dtoContext;
}
@Override
public Class getBeanType() {
return dtoContext.getType();
}
//FIXME!!!
// void loadOrPreCreateForm(ReferentialDtoCacheManager dataSource, String parentId, String id) {
//
// if (id == null) {
// PreCreateFormRequestDto preCreateFormRequest = PreCreateFormRequestDto.of(parentId);
// preCreateForm(dataSource, preCreateFormRequest);
// return;
// }
//
// LoadFormRequestDto loadFormRequest;
// if (parentId == null) {
// loadFormRequest = LoadFormRequestDto.of(id);
// } else {
// loadFormRequest = LoadFormRequestDto.of(parentId, id);
// }
// loadForm(dataSource, loadFormRequest);
// }
// protected void loadForm(ReferentialDtoCacheManager dataSource, LoadFormRequestDto loadFormRequest) {
// form = getLoadDtoFormServiceAction().loadForm(loadFormRequest);
// formUIContext.loadFormDependencies(dataSource, dtoContext.formContext().toFormDefinition(), true);
// formUIContext.updateUi(this);
// form.copyTo(getBean());
// }
//
// protected Form loadForm(ReferentialDtoCacheManager dataSource, String id) {
// form = getLoadDtoFormServiceAction().loadForm(LoadFormRequestDto.of(id));
// formUIContext.loadFormDependencies(dataSource, dtoContext.formContext().toFormDefinition(), true);
// formUIContext.updateUi(this);
// form.copyTo(getBean());
// return form;
// }
//
// void preCreateForm(ReferentialDtoCacheManager dataSource, PreCreateFormRequestDto preCreateFormRequest) {
// form = getPreCreateFormServiceAction().preCreate(preCreateFormRequest);
// formUIContext.loadFormDependencies(dataSource, dtoContext.formContext().toFormDefinition(), true);
// formUIContext.updateUi(this);
// form.copyTo(getBean());
// }
//
// public SaveResultDto save(D bean) {
// return getSaveDtoServiceAction().save(SaveRequestDto.of(bean));
// }
//
// public SaveResultDto save(String parentId, D bean) {
// return getSaveDtoServiceAction().save(SaveRequestDto.of(parentId, bean));
// }
// public DeleteResultDto delete(String id) {
// return formUIContext.getDeleteServiceAction().delete(DeleteRequestDto.of(id));
// }
//
// public DeleteResultDto delete(String parentId, String id) {
// return formUIContext.getDeleteServiceAction().delete(DeleteRequestDto.of(parentId, id));
// }
public void loadFormDependencies(ReferentialDtoCacheManager cacheManager, boolean clear) {
formUIContext.loadFormDependencies(cacheManager, dtoContext.formContext().toFormDefinition(), clear);
}
public void updateUi() {
formUIContext.updateUi(this);
}
@Override
protected String computePrefix() {
return "[" + IdHelper.getDtoSimplifiedName(getBeanType()) + "UI] ";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy