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);
}
}
}
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));
}
}
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));
}
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));
}
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();
}
Aggregations