use of io.jmix.ui.component.Window in project jmix by jmix-framework.
the class AddConditionHelper method _addCondition.
protected void _addCondition(AbstractConditionDescriptor descriptor, ConditionsTree conditionsTree) {
final AbstractCondition condition = descriptor.createCondition();
if (descriptor instanceof CustomConditionCreator) {
WindowInfo windowInfo = windowConfig.getWindowInfo("customConditionEditor");
Map<String, Object> params = new HashMap<>();
params.put("condition", condition);
params.put("conditionsTree", conditionsTree);
params.put("filter", filter);
final CustomConditionEditor window = (CustomConditionEditor) windowManager.openWindow(windowInfo, OpenType.DIALOG, params);
window.addCloseListener(actionId -> {
if (Window.COMMIT_ACTION_ID.equals(actionId)) {
handler.handle(condition);
}
});
} else if (descriptor instanceof DynamicAttributesConditionCreator) {
WindowInfo windowInfo = windowConfig.getWindowInfo("dynamicAttributesConditionEditor");
Map<String, Object> params = new HashMap<>();
params.put("condition", condition);
params.put("filter", filter);
DynamicAttributesConditionEditor window = (DynamicAttributesConditionEditor) windowManager.openWindow(windowInfo, OpenType.DIALOG, params);
window.addCloseListener(actionId -> {
if (Window.COMMIT_ACTION_ID.equals(actionId)) {
handler.handle(condition);
}
});
} else {
handler.handle(condition);
}
}
use of io.jmix.ui.component.Window in project jmix by jmix-framework.
the class MenuBuilder method build.
protected void build(AppMenu appMenu, List<MenuItem> rootItems) {
this.appMenu = appMenu;
Window window = ComponentsHelper.getWindowImplementation(appMenu);
if (window == null) {
throw new IllegalStateException("AppMenu is not belong to Window");
}
for (MenuItem menuItem : rootItems) {
// AppMenu does not load top-level separators
if (isPermitted(menuItem) && !menuItem.isSeparator()) {
createMenuBarItem(window, menuItem);
}
}
removeExtraSeparators();
}
use of io.jmix.ui.component.Window in project jmix by jmix-framework.
the class ListPrintFormAction method printSelected.
protected void printSelected(Set selected) {
ContainerDataUnit unit = (ContainerDataUnit) target.getItems();
InstanceContainer container = unit.getContainer();
MetaClass metaClass = container.getEntityMetaClass();
Window window = ComponentsHelper.getWindowNN(target);
openRunReportScreen(window.getFrameOwner(), selected, metaClass);
}
use of io.jmix.ui.component.Window in project jmix by jmix-framework.
the class InputDialogAction method actionPerform.
@Override
public void actionPerform(Component component) {
if (eventHub != null) {
InputDialog inputDialog = null;
if (component instanceof Component.BelongToFrame) {
Window window = ComponentsHelper.getWindow((Component.BelongToFrame) component);
if (window != null) {
inputDialog = (InputDialog) window.getFrameOwner();
}
}
if (!validationRequired || (inputDialog != null && inputDialog.isValid())) {
InputDialogActionPerformed event = new InputDialogActionPerformed(this, component, inputDialog);
eventHub.publish(InputDialogActionPerformed.class, event);
}
}
}
use of io.jmix.ui.component.Window in project jmix by jmix-framework.
the class FilterDelegateImpl method loadFiltersAndApplyDefault.
/**
* Loads filter entities, finds default filter and applies it if found
*/
@Override
public void loadFiltersAndApplyDefault() {
initShortcutActions();
initAdHocFilter();
loadFilterEntities();
FilterEntity defaultFilter = getDefaultFilter(filterEntities);
initFilterSelectComponents();
if (defaultFilter == null) {
defaultFilter = adHocFilter;
}
try {
setFilterEntity(defaultFilter);
} catch (Exception e) {
log.error("Exception on loading default filter '{}'", defaultFilter.getName(), e);
getNotifications().create(Notifications.NotificationType.ERROR).withCaption(messages.formatMainMessage("filter.errorLoadingDefaultFilter", defaultFilter.getName())).withDescription(defaultFilter.getName()).show();
defaultFilter = adHocFilter;
setFilterEntity(adHocFilter);
}
if (defaultFilter != adHocFilter && (filterMode == FilterMode.GENERIC_MODE)) {
Window window = getWindow();
if (!WindowParams.DISABLE_AUTO_REFRESH.getBool(window.getContext())) {
if (getResultingManualApplyRequired()) {
if (BooleanUtils.isTrue(defaultFilter.getApplyDefault())) {
adapter.preventNextDataLoading();
apply(true);
}
} else {
adapter.preventNextDataLoading();
apply(true);
}
if (filterEntity != null && windowCaptionUpdateEnabled) {
window.setDescription(getFilterCaption(filterEntity));
} else
window.setDescription(null);
}
}
}
Aggregations