Skip to content

Commit

Permalink
[Port to v2] Report editor should support loading fetchPlans for cust…
Browse files Browse the repository at this point in the history
…om list property in entity parameter jmix-framework#2547 (jmix-framework#2548)
  • Loading branch information
breakingfox authored and novitskiiai committed Dec 26, 2023
1 parent a9206a8 commit 4ea4371
Showing 1 changed file with 65 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,27 @@
import com.vaadin.flow.data.provider.ListDataProvider;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.shared.Registration;
import io.jmix.core.*;
import io.jmix.core.CoreProperties;
import io.jmix.core.DataManager;
import io.jmix.core.EntityStates;
import io.jmix.core.FetchPlan;
import io.jmix.core.FetchPlanProperty;
import io.jmix.core.FetchPlanRepository;
import io.jmix.core.FetchPlans;
import io.jmix.core.Metadata;
import io.jmix.core.MetadataTools;
import io.jmix.core.SaveContext;
import io.jmix.core.Sort;
import io.jmix.core.Stores;
import io.jmix.core.UuidProvider;
import io.jmix.core.entity.EntityValues;
import io.jmix.core.metamodel.model.MetaClass;
import io.jmix.core.metamodel.model.MetaProperty;
import io.jmix.flowui.*;
import io.jmix.flowui.DialogWindows;
import io.jmix.flowui.Dialogs;
import io.jmix.flowui.Notifications;
import io.jmix.flowui.UiComponents;
import io.jmix.flowui.UiProperties;
import io.jmix.flowui.component.UiComponentUtils;
import io.jmix.flowui.component.checkbox.JmixCheckbox;
import io.jmix.flowui.component.codeeditor.CodeEditor;
Expand All @@ -59,14 +75,46 @@
import io.jmix.flowui.kit.component.ComponentUtils;
import io.jmix.flowui.kit.component.button.JmixButton;
import io.jmix.flowui.kit.component.codeeditor.CodeEditorMode;
import io.jmix.flowui.model.*;
import io.jmix.flowui.model.CollectionChangeType;
import io.jmix.flowui.model.CollectionContainer;
import io.jmix.flowui.model.CollectionPropertyContainer;
import io.jmix.flowui.model.DataContext;
import io.jmix.flowui.model.InstanceContainer;
import io.jmix.flowui.util.RemoveOperation;
import io.jmix.flowui.view.*;
import io.jmix.flowui.view.DefaultMainViewParent;
import io.jmix.flowui.view.DialogWindow;
import io.jmix.flowui.view.EditedEntityContainer;
import io.jmix.flowui.view.Install;
import io.jmix.flowui.view.MessageBundle;
import io.jmix.flowui.view.StandardDetailView;
import io.jmix.flowui.view.StandardOutcome;
import io.jmix.flowui.view.Subscribe;
import io.jmix.flowui.view.Target;
import io.jmix.flowui.view.View;
import io.jmix.flowui.view.ViewComponent;
import io.jmix.flowui.view.ViewController;
import io.jmix.flowui.view.ViewDescriptor;
import io.jmix.flowui.view.ViewInfo;
import io.jmix.flowui.view.ViewRegistry;
import io.jmix.flowui.view.ViewValidation;
import io.jmix.reports.ReportPrintHelper;
import io.jmix.reports.ReportsPersistence;
import io.jmix.reports.ReportsSerialization;
import io.jmix.reports.app.EntityTree;
import io.jmix.reports.entity.*;
import io.jmix.reports.entity.BandDefinition;
import io.jmix.reports.entity.DataSet;
import io.jmix.reports.entity.DataSetType;
import io.jmix.reports.entity.JsonSourceType;
import io.jmix.reports.entity.Orientation;
import io.jmix.reports.entity.ParameterType;
import io.jmix.reports.entity.Report;
import io.jmix.reports.entity.ReportInputParameter;
import io.jmix.reports.entity.ReportOutputType;
import io.jmix.reports.entity.ReportRole;
import io.jmix.reports.entity.ReportScreen;
import io.jmix.reports.entity.ReportTemplate;
import io.jmix.reports.entity.ReportType;
import io.jmix.reports.entity.ReportValueFormat;
import io.jmix.reports.entity.wizard.ReportData;
import io.jmix.reports.entity.wizard.ReportRegion;
import io.jmix.reports.util.DataSetFactory;
Expand All @@ -90,7 +138,16 @@
import org.springframework.beans.factory.annotation.Autowired;

import javax.annotation.Nullable;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;

@Route(value = "reports/:id", layout = DefaultMainViewParent.class)
Expand Down Expand Up @@ -559,7 +616,8 @@ protected void onDataSetsDcItemChange(InstanceContainer.ItemChangeEvent<DataSet>
updateFetchPlanNameFieldItems(findParameterByAlias(dataSet.getEntityParamName()));
fetchPlanNameField.setValue(Strings.nullToEmpty(fetchPlanName));
} else if (dataSet.getType() == DataSetType.MULTI) {
updateFetchPlanNameFieldItems(findParameterByAlias(dataSet.getListEntitiesParamName()));
String alias = StringUtils.substringBefore(dataSet.getListEntitiesParamName(), "#");
updateFetchPlanNameFieldItems(findParameterByAlias(alias));
fetchPlanNameField.setValue(Strings.nullToEmpty(fetchPlanName));
}
}
Expand Down

0 comments on commit 4ea4371

Please sign in to comment.