public class BulkEditorWindow extends AbstractWindow
Modifier and Type | Class and Description |
---|---|
protected static class |
BulkEditorWindow.ManagedField |
Screen.AfterCloseEvent, Screen.AfterDetachEvent, Screen.AfterInitEvent, Screen.AfterShowEvent, Screen.BeforeCloseEvent, Screen.BeforeShowEvent, Screen.InitEvent
Window.BeforeCloseEvent, Window.BeforeCloseWithCloseButtonEvent, Window.BeforeCloseWithShortcutEvent, Window.CloseListener, Window.CloseOrigin, Window.CloseWithCommitListener, Window.Committable, Window.ContentSwitchMode, Window.Editor<T extends Entity>, Window.HasFoldersPane, Window.HasUserIndicator, Window.HasWorkArea, Window.Lookup<T extends Entity>, Window.TopLevelWindow, Window.Wrapper
Frame.MessageMode, Frame.MessageType, Frame.NotificationType
ExpandingLayout.ExpandDirection
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.OptionsStyleProvider
Modifier and Type | Field and Description |
---|---|
protected Button |
applyButton |
protected BulkEditorDataService |
bulkEditorDataService |
protected java.util.Map<java.lang.String,Field> |
dataFields |
protected Datasource<Entity> |
datasource |
protected java.util.Map<java.lang.String,Datasource<Entity>> |
datasources |
protected DataSupplier |
dataSupplier |
protected DsContextImpl |
dsContext |
protected DynamicAttributes |
dynamicAttributes |
protected java.lang.String |
exclude |
protected java.util.regex.Pattern |
excludeRegex |
protected ScrollBoxLayout |
fieldsScrollBox |
protected java.util.Map<java.lang.String,java.util.function.Consumer> |
fieldValidators |
protected java.util.List<java.lang.String> |
includeProperties |
protected Label<java.lang.String> |
infoLabel |
protected java.util.List<Entity> |
items |
protected boolean |
loadDynamicAttributes |
protected java.util.List<java.lang.String> |
managedEmbeddedProperties |
protected java.util.Map<java.lang.String,BulkEditorWindow.ManagedField> |
managedFields |
protected MessageTools |
messageTools |
protected MetaClass |
metaClass |
protected Metadata |
metadata |
protected MetadataTools |
metadataTools |
protected java.util.List<java.util.function.Consumer> |
modelValidators |
protected Security |
security |
protected java.util.Set<Entity> |
selected |
protected ThemeConstants |
themeConstants |
protected UiComponents |
uiComponents |
protected boolean |
useConfirmDialog |
protected ViewRepository |
viewRepository |
frame, messages, UNKNOWN_CLOSE_ACTION_ID
BROWSE_WINDOW_SUFFIX, CLOSE_ACTION_ID, COMMIT_ACTION_ID, CREATE_WINDOW_SUFFIX, EDITOR_WINDOW_SUFFIX, LOOKUP_WINDOW_SUFFIX, NAME, SELECT_ACTION_ID
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE, UNITS_PERCENTAGE, UNITS_PIXELS
NO_OPTIONS, WINDOW_CLOSE_ACTION, WINDOW_COMMIT_AND_CLOSE_ACTION, WINDOW_DISCARD_AND_CLOSE_ACTION
Constructor and Description |
---|
BulkEditorWindow() |
Modifier and Type | Method and Description |
---|---|
void |
applyChanges() |
void |
cancelChanges() |
protected void |
commitBulkChanges() |
protected void |
createDataComponents() |
protected void |
createEmbeddedFields(MetaClass metaClass,
Entity item,
java.lang.String fqnPrefix)
Recursively instantiates the embedded properties.
|
protected View |
createEmbeddedView(MetaClass meta,
java.lang.String fqnPrefix) |
protected void |
createNestedEmbeddedDatasources(Datasource masterDs,
MetaClass metaClass,
java.lang.String fqnPrefix) |
protected View |
createView(MetaClass meta)
Creates a view, loading only necessary properties.
|
protected void |
ensureEmbeddedPropertyCreated(Entity item,
java.lang.String propertyPath) |
protected BulkEditorFieldFactory |
getFieldFactory() |
protected java.util.List<BulkEditorWindow.ManagedField> |
getManagedFields(MetaClass metaClass) |
protected java.util.List<BulkEditorWindow.ManagedField> |
getManagedFields(MetaProperty embeddedProperty,
java.lang.String fqnPrefix,
java.lang.String localePrefix) |
protected boolean |
hasChanges() |
void |
init(java.util.Map<java.lang.String,java.lang.Object> params)
Called by the framework after creation of all components and before showing the screen.
|
protected boolean |
isByteArray(MetaProperty metaProperty) |
protected boolean |
isFieldChanged(Field field) |
protected boolean |
isManagedAttribute(MetaClass metaClass,
MetaProperty metaProperty) |
protected boolean |
isManagedDynamicAttribute(MetaClass metaClass,
MetaProperty metaProperty) |
protected boolean |
isPermitted(MetaClass metaClass,
MetaProperty metaProperty) |
protected boolean |
isRangeClassPermitted(MetaProperty metaProperty) |
protected boolean |
isUuid(MetaProperty metaProperty) |
protected java.util.List<Entity> |
loadItems(View view) |
protected boolean |
preClose(java.lang.String actionId)
Hook to be implemented in subclasses.
|
protected void |
showConfirmDialogOrCommit(java.util.List<java.lang.String> fields) |
add, add, addAction, addAction, addBeforeWindowCloseListener, addFacet, addStyleName, addTimer, afterShow, applySettings, beforeClose, closeWithDiscard, deleteSettings, expand, expand, formatMessage, getAction, getActions, getActionsPermissions, getAlignment, getCaption, getCompanion, getComponent, getComponent, getComponent, getComponents, getComposition, getContentSwitchMode, getContext, getDescription, getDialogOptions, getDsContext, getExpandDirection, getExpandRatio, getFacet, getFacets, getFocusComponent, getFrame, getFrameOwner, getHeight, getHeightSizeUnit, getIcon, getMargin, getMaxHeight, getMaxWidth, getMessage, getMessagesPack, getMinHeight, getMinWidth, getOwnComponent, getOwnComponents, getOwnComponentsStream, getParent, getScreenHashCode, getSettings, getSpacing, getStyleName, getTimer, getWidth, getWidthSizeUnit, getWindowManager, getWrappedFrame, getWrappedWindow, getXmlDescriptor, handleValidationErrors, hasUnsavedChanges, indexOf, init, isAttributeAccessControlEnabled, isCloseable, isEnabled, isEnabledRecursive, isExpanded, isResponsive, isSameScreen, isValid, isVisible, isVisibleRecursive, postValidate, ready, remove, removeAction, removeAction, removeAll, removeAllActions, removeBeforeWindowCloseListener, removeFacet, removeStyleName, resetExpanded, saveSettings, setAlignment, setCaption, setCloseable, setCompanion, setContentSwitchMode, setDescription, setDsContext, setEnabled, setExpandRatio, setFocusComponent, setFrame, setHeight, setIcon, setIconFromSet, setId, setMargin, setMaxHeight, setMaxWidth, setMessagesPack, setMinHeight, setMinWidth, setParent, setResponsive, setSpacing, setStyleName, setVisible, setWidth, setWindow, setXmlDescriptor, showValidationErrors, unwrap, unwrapComposition, validate, validate, validateAdditionalRules, validateAll
addAfterCloseListener, addAfterDetachListener, addAfterInitListener, addAfterShowListener, addBeforeCloseListener, addBeforeShowListener, addInitListener, addUrlParamsChangeListener, applyDataLoadingSettings, close, closeWithDefaultAction, fireEvent, getBeanLocator, getEventHub, getExtensions, getId, getScreenData, getUiEventListeners, getWindow, isMultipleOpen, isSaveScreenHistoryOnClose, isSaveSettingsOnClose, setBeanLocator, setExtensions, setScreenData, setUiEventListeners, show
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addBeforeCloseWithCloseButtonListener, addBeforeCloseWithShortcutListener, addCloseListener, addCloseWithCommitListener, addListener, close, close, closeAndRun, removeBeforeCloseWithCloseButtonListener, removeBeforeCloseWithShortcutListener, removeCloseListener, removeCloseWithCommitListener, removeListener
getFacetNN
getComponentNN
add, focusFirstComponent, getComponentNN, remove
getHeightUnits, getId, getWidthUnits, isEnabledItself, isVisibleItself, requestFocus, setHeightAuto, setHeightFull, setSizeAuto, setSizeFull, setWidthAuto, setWidthFull
getActionNN, getSubPart
openEditor, openEditor, openEditor, openEditor, openEditor, openEditor, openEditor, openFrame, openFrame, openLookup, openLookup, openLookup, openLookup, openWindow, openWindow, showMessageDialog, showNotification, showNotification, showNotification, showOptionDialog, showOptionDialog, showWebPage
@Inject protected ViewRepository viewRepository
@Inject protected MetadataTools metadataTools
@Inject protected MessageTools messageTools
@Inject protected Metadata metadata
@Inject protected DataSupplier dataSupplier
@Inject protected UiComponents uiComponents
@Inject protected Security security
@Inject protected BulkEditorDataService bulkEditorDataService
@Inject protected DynamicAttributes dynamicAttributes
@Inject protected ScrollBoxLayout fieldsScrollBox
@Inject protected Label<java.lang.String> infoLabel
@Inject protected Button applyButton
@Inject protected ThemeConstants themeConstants
protected MetaClass metaClass
protected java.util.Set<Entity> selected
protected java.lang.String exclude
protected java.util.List<java.lang.String> includeProperties
protected boolean loadDynamicAttributes
protected boolean useConfirmDialog
protected java.util.Map<java.lang.String,java.util.function.Consumer> fieldValidators
protected java.util.List<java.util.function.Consumer> modelValidators
protected java.util.regex.Pattern excludeRegex
protected DsContextImpl dsContext
protected Datasource<Entity> datasource
protected java.util.Map<java.lang.String,Datasource<Entity>> datasources
protected java.util.Map<java.lang.String,BulkEditorWindow.ManagedField> managedFields
protected java.util.Map<java.lang.String,Field> dataFields
protected java.util.List<Entity> items
protected java.util.List<java.lang.String> managedEmbeddedProperties
public void init(java.util.Map<java.lang.String,java.lang.Object> params)
AbstractWindow
init
in class AbstractWindow
params
- parameters passed from caller's code, usually from
HasWindowManager.openWindow(String, WindowManager.OpenType)
and similar methods, or set in
screens.xml
for this registered screenprotected void createDataComponents()
protected BulkEditorFieldFactory getFieldFactory()
protected boolean isByteArray(MetaProperty metaProperty)
protected boolean isUuid(MetaProperty metaProperty)
protected void createEmbeddedFields(MetaClass metaClass, Entity item, java.lang.String fqnPrefix)
metaClass
- meta class of the entityitem
- entity instanceprotected void createNestedEmbeddedDatasources(Datasource masterDs, MetaClass metaClass, java.lang.String fqnPrefix)
protected View createView(MetaClass meta)
meta
- meta classprotected boolean isPermitted(MetaClass metaClass, MetaProperty metaProperty)
protected boolean isRangeClassPermitted(MetaProperty metaProperty)
protected boolean isManagedDynamicAttribute(MetaClass metaClass, MetaProperty metaProperty)
protected boolean isManagedAttribute(MetaClass metaClass, MetaProperty metaProperty)
protected java.util.List<BulkEditorWindow.ManagedField> getManagedFields(MetaClass metaClass)
protected java.util.List<BulkEditorWindow.ManagedField> getManagedFields(MetaProperty embeddedProperty, java.lang.String fqnPrefix, java.lang.String localePrefix)
protected boolean preClose(java.lang.String actionId)
AbstractWindow
preClose
in class AbstractWindow
actionId
- a string that is passed to one of Screen.close(com.haulmont.cuba.gui.screen.CloseAction)
methods by calling code to identify itself.
Can be an Action
ID, or a constant like Window.COMMIT_ACTION_ID
or
Window.CLOSE_ACTION_ID
.public void cancelChanges()
protected boolean hasChanges()
protected boolean isFieldChanged(Field field)
public void applyChanges()
protected void showConfirmDialogOrCommit(java.util.List<java.lang.String> fields)
protected void commitBulkChanges()
protected void ensureEmbeddedPropertyCreated(Entity item, java.lang.String propertyPath)