Class DynamicViewModelDetailView
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.Composite<ViewLayout>
io.jmix.flowui.view.View<ViewLayout>
io.jmix.flowui.view.StandardView
io.jmix.flowui.view.StandardDetailView<DynamicViewModel>
io.jmix.dynmodelflowui.view.dynamicview.DynamicViewModelDetailView
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasStyle,com.vaadin.flow.router.AfterNavigationObserver,com.vaadin.flow.router.BeforeEnterObserver,com.vaadin.flow.router.BeforeLeaveObserver,com.vaadin.flow.router.HasDynamicTitle,com.vaadin.flow.router.internal.AfterNavigationHandler,com.vaadin.flow.router.internal.BeforeEnterHandler,com.vaadin.flow.router.internal.BeforeLeaveHandler,FacetOwner,FragmentOwner,ChangeTracker,DetailView<DynamicViewModel>,HasEditedEntity<DynamicViewModel>,ReadOnlyAwareView,ReadOnlyTracker,SupportEntityLock<DynamicViewModel>,Serializable
@DialogMode(width="800px",
height="600px",
resizable=true)
@ViewController(id="dynmod_View.detail")
@ViewDescriptor(path="dynamic-view-model-detail-view.xml")
public class DynamicViewModelDetailView
extends StandardDetailView<DynamicViewModel>
Editor for
DynamicViewModel, an entity-owned view declaration. The set of editable fields
depends on whether the owning entity is dynamic or a static-entity extension (see the YAML schema
in doc/features/dynamic-model/yaml-configuration.md):
- Dynamic entity views expose every field.
- Static entity overrides expose only
viewIdand a source-onlydescriptor.
The dialog is split into three tabs: General (type, id, route, title, component ids, roles), Descriptor (template + template parameters, or XML source — gated by a mode radio), and Menu (an "enabled" toggle and the menu item form). Descriptor and menu fields are edited inline against nested data containers instead of opening separate detail dialogs.
Ownership is resolved best-effort from the parent entity name via metadata; see
resolveStaticExtension().
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.flowui.view.StandardDetailView
StandardDetailView.AfterSaveEvent, StandardDetailView.BeforeSaveEvent, StandardDetailView.InitEntityEvent<E>, StandardDetailView.ValidationEventNested classes/interfaces inherited from class io.jmix.flowui.view.View
View.AfterCloseEvent, View.BeforeCloseEvent, View.BeforeShowEvent, View.InitEvent, View.PostReadyEvent, View.QueryParametersChangeEvent, View.ReadyEvent, View.RestoreComponentsStateEventNested classes/interfaces inherited from interface io.jmix.flowui.view.ReadOnlyTracker
ReadOnlyTracker.ReadOnlyChangeEvent -
Field Summary
Fields inherited from class io.jmix.flowui.view.StandardDetailView
DEFAULT_ROUTE_PARAM, LOCKED_BEFORE_REFRESH_ATTR_NAME, MODE_PARAM, MODE_READONLY, NEW_ENTITY_ID, READ_ONLY_BEFORE_REFRESH_ATTR_NAME, reloadSaved -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidonBeforeShow(View.BeforeShowEvent event) voidonDescriptorModeFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixRadioButtonGroup<ViewDescriptorMode>, ViewDescriptorMode> event) voidonDynamicViewModelDcItemPropertyChange(InstanceContainer.ItemPropertyChangeEvent<DynamicViewModel> event) voidonGenerateDescriptorButtonClick(com.vaadin.flow.component.ClickEvent<JmixButton> event) voidonInit(View.InitEvent event) voidonMenuEnabledFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.checkbox.Checkbox, Boolean> event) voidonMenuItemDcItemPropertyChange(InstanceContainer.ItemPropertyChangeEvent<DynamicMenuItemModel> event) voidonMenuResourceRolesFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<String>, Set<String>> event) voidonReady(View.ReadyEvent event) voidonResourceRolesFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<String>, Set<String>> event) voidvoidonViewIdComboBoxValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixComboBox<String>, String> event) voidonViewIdFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedTextField<String>, String> event) voidsetParentEntity(@Nullable DynamicEntityModel entity) Configured by the host settings view throughviewConfigurer.Methods inherited from class io.jmix.flowui.view.StandardDetailView
addAfterSaveListener, addBeforeSaveListener, addInitEntityListener, addReadOnlyStateChangeListener, addValidationEventListener, beforeEnter, clearChanges, closeWithDiscard, closeWithSave, findEntityId, getEditedEntity, getEditedEntityContainer, getEditedEntityLoader, getEditedEntityOrNull, getLockStatus, getRouteParamName, getSaveNotificationText, hasUnsavedChanges, initExistingEntity, initNewEntity, isCrossFieldValidationEnabled, isReadOnly, isReloadEdited, isReloadSaved, isSaveActionPerformed, isShowSaveNotification, isShowValidationErrors, onDetachInternal, preventUnsavedChanges, processBeforeEnterInternal, resolveEntityClass, save, setCrossFieldValidationEnabled, setEntityToEdit, setReadOnly, setReloadEdited, setReloadSaved, setShowSaveNotification, setShowValidationErrors, setupEntityToEdit, setupEntityToEdit, setupEntityToEdit, validateViewMethods inherited from class io.jmix.flowui.view.View
addAfterCloseListener, addApplicationListeners, addBeforeCloseListener, addBeforeShowListener, addInitListener, addQueryParametersChangeListener, addReadyListener, addRestoreComponentsStateEventListener, afterNavigation, beforeLeave, close, close, closeWithDefaultAction, configureDialogWindowFooter, configureDialogWindowHeader, getApplicationContext, getEventBus, getId, getPageTitle, getReturnParameters, getViewActions, getViewAttributes, getViewData, getViewFacets, getViewSupport, isPreventBrowserTabClosing, onAttach, onAttachInternal, onDetach, removeApplicationListeners, removeViewAttributes, setAfterNavigationHandler, setApplicationContext, setId, setPageTitle, setPreventBrowserTabClosing, setViewActions, setViewData, setViewFacets, unregisterBackNavigationMethods inherited from class com.vaadin.flow.component.Composite
getChildren, getContent, getElement, initContentMethods inherited from class com.vaadin.flow.component.Component
addListener, bindVisible, findAncestor, fireEvent, from, get, getListeners, getLocale, getParent, getTestId, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setTestId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, bindClassName, bindClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
Constructor Details
-
DynamicViewModelDetailView
public DynamicViewModelDetailView()
-
-
Method Details
-
setParentEntity
Configured by the host settings view throughviewConfigurer. Used to decide whether this view belongs to a dynamic entity or a static-entity extension. -
onInit
-
onBeforeShow
-
onReady
-
onDynamicViewModelDcItemPropertyChange
@Subscribe(id="dynamicViewModelDc", target=DATA_CONTAINER) public void onDynamicViewModelDcItemPropertyChange(InstanceContainer.ItemPropertyChangeEvent<DynamicViewModel> event) -
onViewIdFieldValueChange
@Subscribe("viewIdField") public void onViewIdFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<TypedTextField<String>, String> event) -
onViewIdComboBoxValueChange
@Subscribe("viewIdComboBox") public void onViewIdComboBoxValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixComboBox<String>, String> event) -
onDescriptorModeFieldValueChange
@Subscribe("descriptorModeField") public void onDescriptorModeFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixRadioButtonGroup<ViewDescriptorMode>, ViewDescriptorMode> event) -
onGenerateDescriptorButtonClick
@Subscribe(id="generateDescriptorButton", subject="clickListener") public void onGenerateDescriptorButtonClick(com.vaadin.flow.component.ClickEvent<JmixButton> event) -
onMenuEnabledFieldValueChange
@Subscribe("menuEnabledField") public void onMenuEnabledFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.checkbox.Checkbox, Boolean> event) -
onMenuItemDcItemPropertyChange
@Subscribe(id="menuItemDc", target=DATA_CONTAINER) public void onMenuItemDcItemPropertyChange(InstanceContainer.ItemPropertyChangeEvent<DynamicMenuItemModel> event) -
onResourceRolesFieldValueChange
@Subscribe("resourceRolesField") public void onResourceRolesFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<String>, Set<String>> event) -
onMenuResourceRolesFieldValueChange
@Subscribe("menuResourceRolesField") public void onMenuResourceRolesFieldValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<String>, Set<String>> event) -
onValidation
-
onBeforeSave
-