Search in sources :

Example 11 with Window

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);
    }
}
Also used : CustomConditionCreator(com.haulmont.cuba.gui.components.filter.descriptor.CustomConditionCreator) WindowManager(com.haulmont.cuba.gui.WindowManager) Collection(java.util.Collection) CubaProperties(com.haulmont.cuba.CubaProperties) AddConditionWindow(com.haulmont.cuba.gui.components.filter.addcondition.AddConditionWindow) HashMap(java.util.HashMap) AbstractCondition(com.haulmont.cuba.gui.components.filter.condition.AbstractCondition) AppBeans(com.haulmont.cuba.core.global.AppBeans) CustomConditionEditor(com.haulmont.cuba.gui.components.filter.edit.CustomConditionEditor) Tree(io.jmix.core.common.datastruct.Tree) WindowConfig(io.jmix.ui.WindowConfig) ConditionDescriptorsTreeBuilderAPI(com.haulmont.cuba.gui.components.filter.addcondition.ConditionDescriptorsTreeBuilderAPI) AbstractConditionDescriptor(com.haulmont.cuba.gui.components.filter.descriptor.AbstractConditionDescriptor) DynamicAttributesConditionCreator(com.haulmont.cuba.gui.components.filter.descriptor.DynamicAttributesConditionCreator) WindowInfo(io.jmix.ui.WindowInfo) DynamicAttributesConditionEditor(com.haulmont.cuba.gui.components.filter.edit.DynamicAttributesConditionEditor) Map(java.util.Map) WindowManagerProvider(com.haulmont.cuba.gui.WindowManagerProvider) Filter(com.haulmont.cuba.gui.components.Filter) Window(io.jmix.ui.component.Window) OpenType(com.haulmont.cuba.gui.WindowManager.OpenType) CustomConditionEditor(com.haulmont.cuba.gui.components.filter.edit.CustomConditionEditor) CustomConditionCreator(com.haulmont.cuba.gui.components.filter.descriptor.CustomConditionCreator) HashMap(java.util.HashMap) WindowInfo(io.jmix.ui.WindowInfo) DynamicAttributesConditionEditor(com.haulmont.cuba.gui.components.filter.edit.DynamicAttributesConditionEditor) DynamicAttributesConditionCreator(com.haulmont.cuba.gui.components.filter.descriptor.DynamicAttributesConditionCreator) AbstractCondition(com.haulmont.cuba.gui.components.filter.condition.AbstractCondition) HashMap(java.util.HashMap) Map(java.util.Map)

Example 12 with Window

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();
}
Also used : Window(io.jmix.ui.component.Window)

Example 13 with Window

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);
}
Also used : Window(io.jmix.ui.component.Window) MetaClass(io.jmix.core.metamodel.model.MetaClass) ContainerDataUnit(io.jmix.ui.component.data.meta.ContainerDataUnit)

Example 14 with Window

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);
        }
    }
}
Also used : Window(io.jmix.ui.component.Window) InputDialog(io.jmix.ui.app.inputdialog.InputDialog) Component(io.jmix.ui.component.Component)

Example 15 with Window

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);
        }
    }
}
Also used : Window(io.jmix.ui.component.Window) FilterSelectWindow(com.haulmont.cuba.gui.components.filter.filterselect.FilterSelectWindow) FilterEntity(com.haulmont.cuba.security.entity.FilterEntity)

Aggregations

Window (io.jmix.ui.component.Window)29 FilterSelectWindow (com.haulmont.cuba.gui.components.filter.filterselect.FilterSelectWindow)5 LegacyFrame (com.haulmont.cuba.gui.screen.compatibility.LegacyFrame)4 FilterEntity (com.haulmont.cuba.security.entity.FilterEntity)4 MetaClass (io.jmix.core.metamodel.model.MetaClass)4 Filter (com.haulmont.cuba.gui.components.Filter)3 Action (io.jmix.ui.action.Action)3 Component (io.jmix.ui.component.Component)3 HashMap (java.util.HashMap)3 WindowManager (com.haulmont.cuba.gui.WindowManager)2 AbstractCondition (com.haulmont.cuba.gui.components.filter.condition.AbstractCondition)2 DsContext (com.haulmont.cuba.gui.data.DsContext)2 DsContextImplementation (com.haulmont.cuba.gui.data.impl.DsContextImplementation)2 Messages (io.jmix.core.Messages)2 UiScreenProperties (io.jmix.ui.UiScreenProperties)2 WindowInfo (io.jmix.ui.WindowInfo)2 BaseAction (io.jmix.ui.action.BaseAction)2 Frame (io.jmix.ui.component.Frame)2 Screen (io.jmix.ui.screen.Screen)2 CubaProperties (com.haulmont.cuba.CubaProperties)1