Search in sources :

Example 6 with AppUI

use of io.jmix.ui.AppUI in project jmix by jmix-framework.

the class CompositeComponent method disableEventListeners.

@Internal
protected void disableEventListeners() {
    List<ApplicationListener> listeners = getUiEventListeners();
    if (CollectionUtils.isNotEmpty(listeners)) {
        AppUI ui = AppUI.getCurrent();
        UiEventsMulticaster multicaster = ui.getUiEventsMulticaster();
        for (ApplicationListener listener : uiEventListeners) {
            multicaster.removeApplicationListener(listener);
        }
    }
}
Also used : ApplicationListener(org.springframework.context.ApplicationListener) UiEventsMulticaster(io.jmix.ui.sys.event.UiEventsMulticaster) AppUI(io.jmix.ui.AppUI) Internal(io.jmix.core.annotation.Internal)

Example 7 with AppUI

use of io.jmix.ui.AppUI in project jmix by jmix-framework.

the class CompositeComponent method assignDebugId.

protected void assignDebugId() {
    AppUI ui = AppUI.getCurrent();
    if (ui == null) {
        return;
    }
    if (root == null || frame == null || StringUtils.isEmpty(frame.getId())) {
        return;
    }
    if (ui.isPerformanceTestMode() && getDebugId() == null) {
        String fullFrameId = ComponentsHelper.getFullFrameId(frame);
        TestIdManager testIdManager = ui.getTestIdManager();
        String alternativeId = id != null ? id : getClass().getSimpleName();
        String candidateId = fullFrameId + "." + alternativeId;
        setDebugId(testIdManager.getTestId(candidateId));
    }
}
Also used : TestIdManager(io.jmix.ui.sys.TestIdManager) AppUI(io.jmix.ui.AppUI)

Example 8 with AppUI

use of io.jmix.ui.AppUI in project jmix by jmix-framework.

the class SaveSetWindow method onInsertBtnClick.

@Subscribe("insertBtn")
protected void onInsertBtnClick(Button.ClickEvent event) {
    SearchFolder folder = folderSelect.getValue();
    AppUI appUI = AppUI.getCurrent();
    if (appUI != null && folder == null) {
        appUI.getNotifications().create(Notifications.NotificationType.TRAY).withCaption(getMessage("saveSetWindow.notSelected")).show();
        return;
    }
    String filterXml = folder.getFilterXml();
    folder.setFilterXml(UserSetHelper.addEntities(filterXml, ids));
    foldersPane.saveFolder(folder);
    foldersPane.refreshFolders();
    close(new StandardCloseAction(COMMIT_ACTION_ID, false));
}
Also used : StandardCloseAction(io.jmix.ui.screen.StandardCloseAction) SearchFolder(com.haulmont.cuba.security.entity.SearchFolder) AppUI(io.jmix.ui.AppUI) Subscribe(io.jmix.ui.screen.Subscribe)

Example 9 with AppUI

use of io.jmix.ui.AppUI in project jmix by jmix-framework.

the class SaveSetWindow method onCreateNewClick.

@Subscribe("createNew")
protected void onCreateNewClick(Button.ClickEvent event) {
    AppUI appUI = AppUI.getCurrent();
    if (appUI == null) {
        return;
    }
    QueryParser parser = queryTransformerFactory.parser(query);
    String entityAlias = parser.getEntityAlias(entityType);
    String filterXml = UserSetHelper.generateSetFilter(ids, entityClass, componentId, entityAlias);
    SearchFolder folder = metadata.create(SearchFolder.class);
    folder.setUsername(username);
    folder.setName("");
    folder.setFilterXml(filterXml);
    folder.setFilterComponentId(componentPath);
    folder.setEntityType(entityType);
    folder.setIsSet(true);
    Runnable commitHandler = () -> {
        foldersPane.saveFolder(folder);
        foldersPane.refreshFolders();
    };
    FolderEditWindow window = AppFolderEditWindow.create(false, false, folder, null, commitHandler);
    appUI.addWindow(window);
    window.addCloseListener(e -> close(COMMIT_ACTION_ID));
}
Also used : QueryParser(io.jmix.data.QueryParser) SearchFolder(com.haulmont.cuba.security.entity.SearchFolder) AppUI(io.jmix.ui.AppUI) Subscribe(io.jmix.ui.screen.Subscribe)

Example 10 with AppUI

use of io.jmix.ui.AppUI in project jmix by jmix-framework.

the class AppFolderEditWindow method commit.

@Override
protected void commit() {
    AppUI appUI = AppUI.getCurrent();
    if (appUI == null) {
        return;
    }
    Notifications notifications = appUI.getNotifications();
    AppFolder folder = (AppFolder) AppFolderEditWindow.this.folder;
    if (StringUtils.trimToNull(nameField.getValue()) == null) {
        String msg = messages.getMessage(messagesPack, "folders.folderEditWindow.emptyName");
        notifications.create(Notifications.NotificationType.TRAY).withCaption(msg).show();
        return;
    }
    folder.setName(nameField.getValue());
    folder.setTabName(tabNameField.getValue());
    if (sortOrderField.getValue() == null || "".equals(sortOrderField.getValue())) {
        folder.setSortOrder(null);
    } else {
        String value = sortOrderField.getValue();
        int sortOrder;
        try {
            sortOrder = Integer.parseInt(value);
        } catch (NumberFormatException e) {
            String msg = messages.getMessage(messagesPack, "folders.folderEditWindow.invalidSortOrder");
            notifications.create(Notifications.NotificationType.TRAY).withCaption(msg).show();
            return;
        }
        folder.setSortOrder(sortOrder);
    }
    Object parent = parentSelect.getValue();
    if (parent instanceof Folder) {
        folder.setParent((Folder) parent);
    } else {
        folder.setParent(null);
    }
    if (visibilityScriptField != null) {
        String scriptText = visibilityScriptField.getValue();
        folder.setVisibilityScript(scriptText);
    }
    if (quantityScriptField != null) {
        String scriptText = quantityScriptField.getValue();
        folder.setQuantityScript(scriptText);
    }
    folder.setApplyDefault(Boolean.valueOf(applyDefaultCb.getValue().toString()));
    AppFolderEditWindow.this.commitHandler.run();
    forceClose();
}
Also used : AppFolder(com.haulmont.cuba.core.entity.AppFolder) AppFolder(com.haulmont.cuba.core.entity.AppFolder) Folder(com.haulmont.cuba.core.entity.Folder) AppUI(io.jmix.ui.AppUI) Notifications(io.jmix.ui.Notifications)

Aggregations

AppUI (io.jmix.ui.AppUI)56 TestIdManager (io.jmix.ui.sys.TestIdManager)8 Component (com.vaadin.ui.Component)5 UiEventsMulticaster (io.jmix.ui.sys.event.UiEventsMulticaster)4 ApplicationListener (org.springframework.context.ApplicationListener)4 SearchFolder (com.haulmont.cuba.security.entity.SearchFolder)3 Notifications (io.jmix.ui.Notifications)3 Folder (com.haulmont.cuba.core.entity.Folder)2 Internal (io.jmix.core.annotation.Internal)2 Screen (io.jmix.ui.screen.Screen)2 StandardCloseAction (io.jmix.ui.screen.StandardCloseAction)2 Subscribe (io.jmix.ui.screen.Subscribe)2 JmixButton (io.jmix.ui.widget.JmixButton)2 Nullable (javax.annotation.Nullable)2 Strings (com.google.common.base.Strings)1 AbstractSearchFolder (com.haulmont.cuba.core.entity.AbstractSearchFolder)1 AppFolder (com.haulmont.cuba.core.entity.AppFolder)1 AppFolderEditWindow (com.haulmont.cuba.web.app.folders.AppFolderEditWindow)1 FolderEditWindow (com.haulmont.cuba.web.app.folders.FolderEditWindow)1 KeyCode (com.vaadin.event.ShortcutAction.KeyCode)1