From c5e6cb88643ae7159b665b07f6a872dc1d249500 Mon Sep 17 00:00:00 2001 From: Dmitry Kremnev Date: Tue, 31 Oct 2023 09:34:23 +0400 Subject: [PATCH 1/2] Update to the latest Vaadin 24.2 jmix-framework/jmix_2411 --- jmix-bom/bom.gradle | 4 +- .../impl/AttributeOptionsLoaderImpl.java | 2 - .../installer/DefaultFileDownloader.java | 179 ++++------ .../devserver/vaadin-core-versions.json | 316 ------------------ .../kit/component/menubar/JmixMenuBar.java | 2 +- .../component/menubar/JmixMenuBarItem.java | 2 +- .../menubar/JmixMenuBarRootItem.java | 2 +- .../component/menubar/JmixMenuBarSubMenu.java | 2 +- .../kit/component/menubar/JmixMenuItem.java | 2 +- .../kit/component/menubar/JmixSubMenu.java | 2 +- .../src/code-editor/jmix-code-editor.js | 3 +- .../combo-box-picker/jmix-combo-box-picker.js | 5 +- .../src/login-form/jmix-login-form.js | 7 +- .../jmix-multi-select-combo-box-internal.js | 72 ++-- .../jmix-multi-select-combo-box-picker.js | 5 +- .../frontend/src/tabsheet/jmix-tabsheet.js | 10 +- .../src/upload-button/jmix-upload-button.js | 3 +- .../src/uploadfield/jmix-upload-field.js | 13 +- .../jmix-value-picker-button.js | 5 +- .../src/value-picker/jmix-value-picker.js | 3 +- .../lumo/tabsheet/jmix-tabsheet-styles.js | 2 +- .../theme/lumo/tabsheet/jmix-tabsheet.js | 2 +- .../material/tabsheet/jmix-tabsheet-styles.js | 2 +- .../theme/material/tabsheet/jmix-tabsheet.js | 2 +- .../component/tabsheet/JmixTabSheet.java | 2 +- .../navigation/ViewNavigationSupport.java | 2 +- jmix-gradle-plugin/build.gradle | 4 +- 27 files changed, 144 insertions(+), 511 deletions(-) delete mode 100644 jmix-flowui/flowui-devserver/src/main/resources/io/jmix/flowui/devserver/vaadin-core-versions.json diff --git a/jmix-bom/bom.gradle b/jmix-bom/bom.gradle index a36e1910a3..6d793849d6 100644 --- a/jmix-bom/bom.gradle +++ b/jmix-bom/bom.gradle @@ -60,14 +60,14 @@ publishing { group = 'io.jmix.bom' -def vaadinFlowVersion = '24.1.10' +def vaadinFlowVersion = '24.2.1' javaPlatform { allowDependencies() } dependencies { - api platform("org.springframework.boot:spring-boot-dependencies:3.1.4") + api platform("org.springframework.boot:spring-boot-dependencies:3.1.5") api platform('software.amazon.awssdk:bom:2.16.69') def freeVersion = version diff --git a/jmix-dynattr/dynattr-flowui/src/main/java/io/jmix/dynattrflowui/impl/AttributeOptionsLoaderImpl.java b/jmix-dynattr/dynattr-flowui/src/main/java/io/jmix/dynattrflowui/impl/AttributeOptionsLoaderImpl.java index 404c739696..4851208330 100644 --- a/jmix-dynattr/dynattr-flowui/src/main/java/io/jmix/dynattrflowui/impl/AttributeOptionsLoaderImpl.java +++ b/jmix-dynattr/dynattr-flowui/src/main/java/io/jmix/dynattrflowui/impl/AttributeOptionsLoaderImpl.java @@ -27,8 +27,6 @@ import jakarta.annotation.PostConstruct; import jakarta.persistence.EntityManager; import jakarta.persistence.Query; -import jakarta.validation.constraints.NotNull; -import org.apache.http.util.Asserts; import org.springframework.scripting.ScriptEvaluator; import org.springframework.scripting.support.StaticScriptSource; import org.springframework.stereotype.Component; diff --git a/jmix-flowui/flowui-devserver/src/main/java/io/jmix/flowui/devserver/frontend/installer/DefaultFileDownloader.java b/jmix-flowui/flowui-devserver/src/main/java/io/jmix/flowui/devserver/frontend/installer/DefaultFileDownloader.java index c07e67cd96..0eb9fa61be 100644 --- a/jmix-flowui/flowui-devserver/src/main/java/io/jmix/flowui/devserver/frontend/installer/DefaultFileDownloader.java +++ b/jmix-flowui/flowui-devserver/src/main/java/io/jmix/flowui/devserver/frontend/installer/DefaultFileDownloader.java @@ -15,34 +15,20 @@ */ package io.jmix.flowui.devserver.frontend.installer; -import io.jmix.flowui.devserver.frontend.FrontendUtils; import org.apache.commons.io.FileUtils; -import org.apache.commons.io.FilenameUtils; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.client.AuthCache; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.protocol.HttpClientContext; -import org.apache.http.impl.auth.BasicScheme; -import org.apache.http.impl.client.BasicAuthCache; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.net.URI; -import java.net.URL; -import java.nio.channels.Channels; -import java.nio.channels.ReadableByteChannel; +import java.net.*; +import java.net.http.HttpClient; +import java.net.http.HttpClient.Redirect; +import java.net.http.HttpClient.Version; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.net.http.HttpResponse.BodyHandlers; +import java.nio.file.Path; /** * Default file downloader implementation. @@ -54,6 +40,7 @@ * @since */ public final class DefaultFileDownloader implements FileDownloader { + public static final String HTTPS_PROTOCOLS = "https.protocols"; private final ProxyConfig proxyConfig; @@ -64,8 +51,7 @@ public final class DefaultFileDownloader implements FileDownloader { /** * Construct file downloader with given proxy configuration. * - * @param proxyConfig - * proxy configuration to use for file download + * @param proxyConfig proxy configuration to use for file download */ public DefaultFileDownloader(ProxyConfig proxyConfig) { this.proxyConfig = proxyConfig; @@ -73,7 +59,7 @@ public DefaultFileDownloader(ProxyConfig proxyConfig) { @Override public void download(URI downloadURI, File destination, String userName, - String password) throws DownloadException { + String password) throws DownloadException { this.userName = userName; this.password = password; @@ -100,114 +86,69 @@ public void download(URI downloadURI, File destination, String userName, private void downloadFile(File destination, URI downloadUri) throws IOException, DownloadException { - CloseableHttpResponse response = execute(downloadUri); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode != 200) { - throw new DownloadException( - "Got error code " + statusCode + " from the server."); - } - new File( - FilenameUtils.getFullPathNoEndSeparator(destination.toString())) - .mkdirs(); - - HttpEntity responseEntity = response.getEntity(); - long expected = responseEntity.getContentLength(); - try (ReadableByteChannel rbc = Channels - .newChannel(responseEntity.getContent()); - FileOutputStream fos = new FileOutputStream(destination)) { - long transferred = fos.getChannel().transferFrom(rbc, 0, - Long.MAX_VALUE); - if (expected > 0 && transferred != expected) { - // Download failed and channel.transferFrom does not rethrow the - // exception - throw new DownloadException( - "Error downloading from " + downloadUri + ". Expected " - + expected + " bytes but got " + transferred); - } - } - } + HttpClient.Builder clientBuilder = HttpClient.newBuilder() + .version(Version.HTTP_1_1).followRedirects(Redirect.NORMAL); - private CloseableHttpResponse execute(URI requestUri) throws IOException { - CloseableHttpResponse response; ProxyConfig.Proxy proxy = proxyConfig - .getProxyForUrl(requestUri.toString()); + .getProxyForUrl(downloadUri.toString()); + if (proxy != null) { - String message = String.format("Downloading via proxy %s", proxy); - getLogger().info(message); - FrontendUtils.logInFile(message); - return executeViaProxy(proxy, requestUri); + getLogger().debug("Downloading via proxy {}", proxy.toString()); + clientBuilder = clientBuilder.proxy(ProxySelector + .of(new InetSocketAddress(proxy.host, proxy.port))); + clientBuilder = clientBuilder.authenticator(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + if (getRequestorType() == RequestorType.PROXY) { + return new PasswordAuthentication(proxy.username, + proxy.password.toCharArray()); + } + return new PasswordAuthentication(userName, + password.toCharArray()); + } + }); } else { - String message = "No proxy was configured, downloading directly"; - getLogger().info(message); - FrontendUtils.logInFile(message); + getLogger().debug("No proxy was configured, downloading directly"); if (userName != null && !userName.isEmpty() && password != null && !password.isEmpty()) { getLogger().info("Using credentials ({})", userName); - // Auth target host - URL aURL = requestUri.toURL(); - HttpClientContext localContext = makeLocalContext(aURL); - CredentialsProvider credentialsProvider = makeCredentialsProvider( - aURL.getHost(), aURL.getPort(), userName, password); - response = buildHttpClient(credentialsProvider) - .execute(new HttpGet(requestUri), localContext); - } else { - response = buildHttpClient(null) - .execute(new HttpGet(requestUri)); - } - } - return response; - } + clientBuilder = clientBuilder + .authenticator(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(userName, + password.toCharArray()); + } + }); - private CloseableHttpResponse executeViaProxy(ProxyConfig.Proxy proxy, - URI requestUri) throws IOException { - final CloseableHttpClient proxyClient; - if (proxy.useAuthentication()) { - proxyClient = buildHttpClient(makeCredentialsProvider(proxy.host, - proxy.port, proxy.username, proxy.password)); - } else { - proxyClient = buildHttpClient(null); + } } - final HttpHost proxyHttpHost = new HttpHost(proxy.host, proxy.port); - - final RequestConfig requestConfig = RequestConfig.custom() - .setProxy(proxyHttpHost).build(); - - final HttpGet request = new HttpGet(requestUri); - request.setConfig(requestConfig); + HttpClient client = clientBuilder.build(); + HttpRequest request = HttpRequest.newBuilder().uri(downloadUri).GET() + .build(); - return proxyClient.execute(request); - } - - private CloseableHttpClient buildHttpClient( - CredentialsProvider credentialsProvider) { - return HttpClients.custom().disableContentCompression() - .useSystemProperties() - .setDefaultCredentialsProvider(credentialsProvider).build(); - } + try { + HttpResponse response = client.send(request, + BodyHandlers.ofFile(destination.toPath())); + if (response.statusCode() != 200) { + throw new DownloadException("Got error code " + + response.statusCode() + " from the server."); + } + long expected = response.headers() + .firstValueAsLong("Content-Length").getAsLong(); + if (destination.length() != expected) { + throw new DownloadException("Error downloading from " + + downloadUri + ". Expected " + expected + + " bytes but got " + destination.length()); + } - private CredentialsProvider makeCredentialsProvider(String host, int port, - String username, String password) { - CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); - credentialsProvider.setCredentials(new AuthScope(host, port), - new UsernamePasswordCredentials(username, password)); - return credentialsProvider; - } + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + throw new RuntimeException(ex); + } - private HttpClientContext makeLocalContext(URL requestUrl) { - // Auth target host - HttpHost target = new HttpHost(requestUrl.getHost(), - requestUrl.getPort(), requestUrl.getProtocol()); - // Create AuthCache instance - AuthCache authCache = new BasicAuthCache(); - // Generate BASIC scheme object and add it to the local auth cache - BasicScheme basicAuth = new BasicScheme(); - authCache.put(target, basicAuth); - // Add AuthCache to the execution context - HttpClientContext localContext = HttpClientContext.create(); - localContext.setAuthCache(authCache); - return localContext; } private Logger getLogger() { diff --git a/jmix-flowui/flowui-devserver/src/main/resources/io/jmix/flowui/devserver/vaadin-core-versions.json b/jmix-flowui/flowui-devserver/src/main/resources/io/jmix/flowui/devserver/vaadin-core-versions.json deleted file mode 100644 index 4d8519ca6b..0000000000 --- a/jmix-flowui/flowui-devserver/src/main/resources/io/jmix/flowui/devserver/vaadin-core-versions.json +++ /dev/null @@ -1,316 +0,0 @@ -{ - "bundles": { - "vaadin": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/bundles" - } - }, - "core": { - "a11y-base": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/a11y-base" - }, - "accordion": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/accordion" - }, - "app-layout": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/app-layout" - }, - "avatar": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/avatar" - }, - "avatar-group": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/avatar-group" - }, - "button": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/button" - }, - "checkbox": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/checkbox" - }, - "checkbox-group": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/checkbox-group" - }, - "combo-box": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/combo-box" - }, - "component-base": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/component-base" - }, - "confirm-dialog": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/confirm-dialog" - }, - "context-menu": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/context-menu" - }, - "custom-field": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/custom-field" - }, - "date-picker": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/date-picker" - }, - "date-time-picker": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/date-time-picker" - }, - "details": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/details" - }, - "dialog": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/dialog" - }, - "email-field": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/email-field" - }, - "field-base": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/field-base" - }, - "field-highlighter": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/field-highlighter" - }, - "flow": { - "javaVersion": "24.1.1" - }, - "flow-cdi": { - "javaVersion": "15.0.0" - }, - "form-layout": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/form-layout" - }, - "grid": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/grid" - }, - "horizontal-layout": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/horizontal-layout" - }, - "icon": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/icon" - }, - "icons": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/icons" - }, - "input-container": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/input-container" - }, - "integer-field": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/integer-field" - }, - "item": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/item" - }, - "list-box": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/list-box" - }, - "lit-renderer": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/lit-renderer" - }, - "login": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/login" - }, - "menu-bar": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/menu-bar" - }, - "message-input": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/message-input" - }, - "message-list": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/message-list" - }, - "mpr-v7": { - "javaVersion": "7.0.4" - }, - "mpr-v8": { - "javaVersion": "7.0.4" - }, - "multi-select-combo-box": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/multi-select-combo-box" - }, - "notification": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/notification" - }, - "number-field": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/number-field" - }, - "overlay": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/overlay" - }, - "password-field": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/password-field" - }, - "polymer-legacy-adapter": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/polymer-legacy-adapter" - }, - "progress-bar": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/progress-bar" - }, - "radio-group": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/radio-group" - }, - "scroller": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/scroller" - }, - "select": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/select" - }, - "side-nav": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/side-nav" - }, - "split-layout": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/split-layout" - }, - "tabs": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/tabs" - }, - "tabsheet": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/tabsheet" - }, - "text-area": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/text-area" - }, - "text-field": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/text-field" - }, - "time-picker": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/time-picker" - }, - "tooltip": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/tooltip" - }, - "upload": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/upload" - }, - "vaadin-development-mode-detector": { - "jsVersion": "2.0.6", - "npmName": "@vaadin/vaadin-development-mode-detector" - }, - "vaadin-lumo-styles": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/vaadin-lumo-styles", - "releasenotes": true - }, - "vaadin-lumo-theme": { - "javaVersion": "24.1.1" - }, - "vaadin-material-styles": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/vaadin-material-styles", - "releasenotes": true - }, - "vaadin-material-theme": { - "javaVersion": "24.1.1" - }, - "vaadin-messages": { - "javaVersion": "24.1.1" - }, - "vaadin-ordered-layout": { - "javaVersion": "24.1.1" - }, - "vaadin-quarkus": { - "javaVersion": "2.0.1" - }, - "vaadin-renderer": { - "javaVersion": "24.1.1" - }, - "vaadin-router": { - "jsVersion": "1.7.5", - "npmName": "@vaadin/router", - "releasenotes": true - }, - "vaadin-usage-statistics": { - "jsVersion": "2.1.2", - "npmName": "@vaadin/vaadin-usage-statistics" - }, - "vertical-layout": { - "jsVersion": "24.1.1", - "npmName": "@vaadin/vertical-layout" - }, - "virtual-list": { - "javaVersion": "24.1.1", - "jsVersion": "24.1.1", - "npmName": "@vaadin/virtual-list" - } - }, - "platform": "24.1.1" -} \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBar.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBar.java index 75f1c5f3f5..96cc99b287 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBar.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBar.java @@ -29,7 +29,7 @@ import java.util.List; import java.util.stream.Stream; -// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBar [last update Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBar [last update Vaadin 24.2.1] public class JmixMenuBar extends MenuBar implements HasMenuItemsEnhanced, Focusable, HasTooltip { diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarItem.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarItem.java index 3d0517cbbe..26aa6f0f99 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarItem.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarItem.java @@ -20,7 +20,7 @@ import com.vaadin.flow.component.contextmenu.ContextMenu; import com.vaadin.flow.function.SerializableRunnable; -// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBarItem [last update Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBarItem [last update Vaadin 24.2.1] @Tag("vaadin-menu-bar-item") public class JmixMenuBarItem extends JmixMenuItem { diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarRootItem.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarRootItem.java index f14131561b..ee16aefca2 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarRootItem.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarRootItem.java @@ -19,7 +19,7 @@ import com.vaadin.flow.component.menubar.MenuBar; import com.vaadin.flow.function.SerializableRunnable; -// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBarRootItem [last update Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBarRootItem [last update Vaadin 24.2.1] public class JmixMenuBarRootItem extends JmixMenuBarItem { protected JmixMenuBar menuBar; diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarSubMenu.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarSubMenu.java index 49bf5cf441..84456dee01 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarSubMenu.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuBarSubMenu.java @@ -23,7 +23,7 @@ import com.vaadin.flow.function.SerializableRunnable; import io.jmix.flowui.kit.component.contextmenu.JmixMenuManager; -// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBarSubMenu [last update Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.menubar.MenuBarSubMenu [last update Vaadin 24.2.1] public class JmixMenuBarSubMenu extends JmixSubMenu { public JmixMenuBarSubMenu(JmixMenuItem parentMenuItem, SerializableRunnable contentReset) { diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuItem.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuItem.java index 05344bf459..3f260d884c 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuItem.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixMenuItem.java @@ -20,7 +20,7 @@ import com.vaadin.flow.component.contextmenu.MenuItem; import com.vaadin.flow.function.SerializableRunnable; -// CAUTION: copied from com.vaadin.flow.component.contextmenu.MenuItem [last update Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.contextmenu.MenuItem [last update Vaadin 24.2.1] public class JmixMenuItem extends MenuItem { protected final SerializableRunnable contentReset; diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixSubMenu.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixSubMenu.java index eabbaf9d39..f59aad6d42 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixSubMenu.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/component/menubar/JmixSubMenu.java @@ -26,7 +26,7 @@ import com.vaadin.flow.function.SerializableRunnable; import io.jmix.flowui.kit.component.contextmenu.JmixMenuManager; -// CAUTION: copied from com.vaadin.flow.component.contextmenu.SubMenu [last update Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.contextmenu.SubMenu [last update Vaadin 24.2.1] public class JmixSubMenu extends SubMenu implements HasMenuItemsEnhanced { protected final SerializableRunnable contentReset; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/code-editor/jmix-code-editor.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/code-editor/jmix-code-editor.js index ddf01eb131..9de4a837f8 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/code-editor/jmix-code-editor.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/code-editor/jmix-code-editor.js @@ -17,6 +17,7 @@ import 'ace-builds/src-noconflict/ace.js'; import 'ace-builds/esm-resolver.js'; import {ElementMixin} from '@vaadin/component-base/src/element-mixin.js'; +import {defineCustomElement} from '@vaadin/component-base/src/define.js'; import {ResizeMixin} from '@vaadin/component-base/src/resize-mixin.js'; import {InputFieldMixin} from '@vaadin/field-base/src/input-field-mixin.js'; import {TooltipController} from '@vaadin/component-base/src/tooltip-controller.js'; @@ -346,6 +347,6 @@ class JmixCodeEditor extends ResizeMixin(InputFieldMixin(ThemableMixin(ElementMi } } -customElements.define(JmixCodeEditor.is, JmixCodeEditor); +defineCustomElement(JmixCodeEditor); export {JmixCodeEditor}; \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/combo-box-picker/jmix-combo-box-picker.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/combo-box-picker/jmix-combo-box-picker.js index a33680a1c0..aa474dfbfb 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/combo-box-picker/jmix-combo-box-picker.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/combo-box-picker/jmix-combo-box-picker.js @@ -16,6 +16,7 @@ import '@vaadin/input-container/src/vaadin-input-container.js'; import { html } from '@polymer/polymer'; +import { defineCustomElement } from '@vaadin/component-base/src/define.js'; import { ComboBox } from '@vaadin/combo-box/src/vaadin-combo-box.js'; import { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js'; @@ -23,7 +24,7 @@ registerStyles('jmix-combo-box-picker', [],{ moduleId: 'jmix-combo-box-picker-styles' }); -// CAUTION: copied from @vaadin/combo-box [last update Vaadin 24.1.10] +// CAUTION: copied from @vaadin/combo-box [last update Vaadin 24.2.1] export class JmixComboBoxPicker extends ComboBox { static get is() { @@ -102,4 +103,4 @@ export class JmixComboBoxPicker extends ComboBox { } } -customElements.define(JmixComboBoxPicker.is, JmixComboBoxPicker); \ No newline at end of file +defineCustomElement(JmixComboBoxPicker); \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/login-form/jmix-login-form.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/login-form/jmix-login-form.js index 9bf159b972..d9b812c9d7 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/login-form/jmix-login-form.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/login-form/jmix-login-form.js @@ -21,6 +21,7 @@ import '@vaadin/select/src/vaadin-select.js'; import '@vaadin/login/src/vaadin-login-form-wrapper.js'; import {html} from '@polymer/polymer/polymer-element.js'; +import {defineCustomElement} from '@vaadin/component-base/src/define.js'; import {LoginForm} from '@vaadin/login/src/vaadin-login-form.js'; /** @@ -46,7 +47,7 @@ import {LoginForm} from '@vaadin/login/src/vaadin-login-form.js'; * @fires {CustomEvent} remember-me-changed - Fired when "rememberMeCheckbox" is checked or unchecked. * @fires {CustomEvent} locale-selection-changed - Fired when selection in "localesSelect" is changed */ -// CAUTION: copied from @vaadin/login [last update Vaadin 24.1.10] +// CAUTION: copied from @vaadin/login [last update Vaadin 24.2.1] class JmixLoginForm extends LoginForm { static get template() { return html` @@ -55,7 +56,7 @@ class JmixLoginForm extends LoginForm { width: 100%; } - +
slotted to the tabs slot. @@ -46,6 +47,7 @@ class TabsSlotController extends SlotController { tabs.addEventListener('selected-changed', this.__tabsSelectedChangedListener); this.host.__tabs = tabs; this.host.stateTarget = tabs; + this.__tabsItemsChangedListener(); } teardownNode(tabs) { @@ -222,7 +224,7 @@ class JmixTabSheet extends ControllerMixin(DelegateStateMixin(ElementMixin(Thema // Observe the panels slot for nodes. Set the assigned element nodes as the __panels array. const panelSlot = this.shadowRoot.querySelector('#panel-slot'); - this.__panelsObserver = new FlattenedNodesObserver(panelSlot, () => { + this.__panelsObserver = new SlotObserver(panelSlot, () => { this.__panels = Array.from(panelSlot.assignedNodes({flatten: true})).filter( (node) => node.nodeType === Node.ELEMENT_NODE, ); @@ -288,6 +290,6 @@ class JmixTabSheet extends ControllerMixin(DelegateStateMixin(ElementMixin(Thema } } -customElements.define(JmixTabSheet.is, JmixTabSheet); +defineCustomElement(JmixTabSheet); export {JmixTabSheet}; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/upload-button/jmix-upload-button.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/upload-button/jmix-upload-button.js index 979236db19..f28942e1e8 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/upload-button/jmix-upload-button.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/upload-button/jmix-upload-button.js @@ -16,6 +16,7 @@ import '@vaadin/button/src/vaadin-button.js'; import '@vaadin/dialog/src/vaadin-dialog.js'; import {html, render} from 'lit'; +import {defineCustomElement} from '@vaadin/component-base/src/define.js'; import {Upload} from '@vaadin/upload/src/vaadin-upload.js'; @@ -270,6 +271,6 @@ class JmixUploadButton extends Upload { } } -customElements.define(JmixUploadButton.is, JmixUploadButton); +defineCustomElement(JmixUploadButton); export {JmixUploadButton}; \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/uploadfield/jmix-upload-field.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/uploadfield/jmix-upload-field.js index d21d1ae69d..572e0f3004 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/uploadfield/jmix-upload-field.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/uploadfield/jmix-upload-field.js @@ -16,12 +16,13 @@ import '@vaadin/input-container/src/vaadin-input-container.js'; import {html, PolymerElement} from '@polymer/polymer'; +import {defineCustomElement} from '@vaadin/component-base/src/define.js'; import {ElementMixin} from '@vaadin/component-base/src/element-mixin.js'; -import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js'; -import { DelegateFocusMixin } from '@vaadin/a11y-base/src/delegate-focus-mixin.js'; -import { FieldMixin } from '@vaadin/field-base/src/field-mixin.js'; -import { InputConstraintsMixin } from '@vaadin/field-base/src/input-constraints-mixin.js'; -import { SlotStylesMixin } from '@vaadin/field-base/src/slot-styles-mixin.js'; +import {TooltipController} from '@vaadin/component-base/src/tooltip-controller.js'; +import {DelegateFocusMixin} from '@vaadin/a11y-base/src/delegate-focus-mixin.js'; +import {FieldMixin} from '@vaadin/field-base/src/field-mixin.js'; +import {InputConstraintsMixin} from '@vaadin/field-base/src/input-constraints-mixin.js'; +import {SlotStylesMixin} from '@vaadin/component-base/src/slot-styles-mixin.js'; import {inputFieldShared} from '@vaadin/field-base/src/styles/input-field-shared-styles.js'; import {css, registerStyles, ThemableMixin} from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js'; @@ -119,4 +120,4 @@ export class JmixUploadField extends SlotStylesMixin(DelegateFocusMixin(InputCon } } -customElements.define(JmixUploadField.is, JmixUploadField); \ No newline at end of file +defineCustomElement(JmixUploadField); \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker-button/jmix-value-picker-button.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker-button/jmix-value-picker-button.js index 601f91007b..e78d53b04e 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker-button/jmix-value-picker-button.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker-button/jmix-value-picker-button.js @@ -15,12 +15,13 @@ */ import {html, PolymerElement} from "@polymer/polymer"; +import {defineCustomElement} from '@vaadin/component-base/src/define.js'; import {TabindexMixin} from "@vaadin/a11y-base/src/tabindex-mixin.js"; import {FocusMixin} from "@vaadin/a11y-base/src/focus-mixin.js"; import {ElementMixin} from "@vaadin/component-base/src/element-mixin"; import {ThemableMixin} from "@vaadin/vaadin-themable-mixin"; import {ActiveMixin} from "@vaadin/a11y-base/src/active-mixin.js"; -import { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js'; +import {registerStyles} from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js'; registerStyles('jmix-value-picker-button', [],{ moduleId: 'jmix-value-picker-button-styles' @@ -150,4 +151,4 @@ export class JmixValuePickerButton extends ActiveMixin(TabindexMixin(FocusMixin( } } -customElements.define(JmixValuePickerButton.is, JmixValuePickerButton); \ No newline at end of file +defineCustomElement(JmixValuePickerButton); \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker/jmix-value-picker.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker/jmix-value-picker.js index 6f378aa298..8ba1989324 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker/jmix-value-picker.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/src/value-picker/jmix-value-picker.js @@ -16,6 +16,7 @@ import '@vaadin/input-container/src/vaadin-input-container.js'; import { html, PolymerElement } from '@polymer/polymer'; +import { defineCustomElement } from '@vaadin/component-base/src/define.js'; import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js'; import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js'; import { InputController } from '@vaadin/field-base/src/input-controller.js'; @@ -142,4 +143,4 @@ export class JmixValuePicker extends InputFieldMixin(ThemableMixin(ElementMixin( } } -customElements.define(JmixValuePicker.is, JmixValuePicker); \ No newline at end of file +defineCustomElement(JmixValuePicker); \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js index f37837aaa0..1ba8f9bba0 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet-styles.js [since Vaadin 24.1.10] +// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet-styles.js [since Vaadin 24.2.1] import '@vaadin/vaadin-lumo-styles/color.js'; import '@vaadin/vaadin-lumo-styles/spacing.js'; import '@vaadin/vaadin-lumo-styles/typography.js'; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js index 28f5789747..04efd7faab 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet.js [since Vaadin 24.1.10] +// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet.js [since Vaadin 24.2.1] import '@vaadin/tabs/theme/lumo/vaadin-tabs.js'; import '@vaadin/scroller/theme/lumo/vaadin-scroller.js'; import './jmix-tabsheet-styles.js'; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js index 6f64c8f0bb..233de34923 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet-style.js [since Vaadin 24.1.10] +// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet-style.js [since Vaadin 24.2.1] import '@vaadin/vaadin-material-styles/color.js'; import '@vaadin/vaadin-material-styles/typography.js'; import { loader } from '@vaadin/vaadin-material-styles/mixins/loader.js'; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js index ec04217e9f..a061ffd9d5 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet.js [since Vaadin 24.1.10] +// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet.js [since Vaadin 24.2.1] import '@vaadin/tabs/theme/material/vaadin-tabs.js'; import '@vaadin/scroller/theme/material/vaadin-scroller.js'; import './jmix-tabsheet-styles.js'; diff --git a/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java b/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java index 59b74ec60e..90294aaa03 100644 --- a/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java +++ b/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java @@ -42,7 +42,7 @@ import static io.jmix.flowui.component.UiComponentUtils.sameId; -// CAUTION: copied from com.vaadin.flow.component.tabs.TabSheet [since Vaadin 24.1.10] +// CAUTION: copied from com.vaadin.flow.component.tabs.TabSheet [since Vaadin 24.2.1] @Tag("jmix-tabsheet") @JsModule("./src/tabsheet/jmix-tabsheet.js") public class JmixTabSheet extends Component diff --git a/jmix-flowui/flowui/src/main/java/io/jmix/flowui/view/navigation/ViewNavigationSupport.java b/jmix-flowui/flowui/src/main/java/io/jmix/flowui/view/navigation/ViewNavigationSupport.java index f4a4552067..ade280173f 100644 --- a/jmix-flowui/flowui/src/main/java/io/jmix/flowui/view/navigation/ViewNavigationSupport.java +++ b/jmix-flowui/flowui/src/main/java/io/jmix/flowui/view/navigation/ViewNavigationSupport.java @@ -59,7 +59,7 @@ public Optional navigate(Class navigationT @SuppressWarnings("unchecked") protected Optional findCurrentNavigationTarget(Class navigationTarget) { - // CAUTION: copied from com.vaadin.flow.component.UI.findCurrentNavigationTarget [last update Vaadin 24.1.10] + // CAUTION: copied from com.vaadin.flow.component.UI.findCurrentNavigationTarget [last update Vaadin 24.2.1] List activeRouterTargetsChain = UI.getCurrent().getInternals() .getActiveRouterTargetsChain(); for (HasElement element : activeRouterTargetsChain) { diff --git a/jmix-gradle-plugin/build.gradle b/jmix-gradle-plugin/build.gradle index 7b3e8bd036..cc3a0fd54d 100644 --- a/jmix-gradle-plugin/build.gradle +++ b/jmix-gradle-plugin/build.gradle @@ -29,8 +29,8 @@ repositories { dependencies { implementation localGroovy() - implementation 'org.springframework.boot:spring-boot-gradle-plugin:3.1.0' - implementation 'com.vaadin:vaadin-gradle-plugin:24.1.10' + implementation 'org.springframework.boot:spring-boot-gradle-plugin:3.1.5' + implementation 'com.vaadin:vaadin-gradle-plugin:24.2.1' implementation('org.dom4j:dom4j:2.1.3') { exclude group: 'xpp3', module: 'xpp3' From f4363d8ca4a4a49c70e0099234bcbd6c5ceb9d0a Mon Sep 17 00:00:00 2001 From: Dmitry Kremnev Date: Tue, 31 Oct 2023 12:50:16 +0400 Subject: [PATCH 2/2] Update to the latest Vaadin 24.2 jmix-framework/jmix_2411 --- .../frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js | 2 +- .../META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js | 2 +- .../frontend/theme/material/tabsheet/jmix-tabsheet-styles.js | 2 +- .../META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js | 2 +- .../java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js index 1ba8f9bba0..0442c4eb9f 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet-styles.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet-styles.js [since Vaadin 24.2.1] +// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet-styles.js [last update Vaadin 24.2.1] import '@vaadin/vaadin-lumo-styles/color.js'; import '@vaadin/vaadin-lumo-styles/spacing.js'; import '@vaadin/vaadin-lumo-styles/typography.js'; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js index 04efd7faab..28bedcff0a 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/lumo/tabsheet/jmix-tabsheet.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet.js [since Vaadin 24.2.1] +// CAUTION: copied from @vaadin/tabsheet/theme/lumo/vaadin-tabsheet.js [last update Vaadin 24.2.1] import '@vaadin/tabs/theme/lumo/vaadin-tabs.js'; import '@vaadin/scroller/theme/lumo/vaadin-scroller.js'; import './jmix-tabsheet-styles.js'; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js index 233de34923..e42f3a1b74 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet-styles.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet-style.js [since Vaadin 24.2.1] +// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet-style.js [last update Vaadin 24.2.1] import '@vaadin/vaadin-material-styles/color.js'; import '@vaadin/vaadin-material-styles/typography.js'; import { loader } from '@vaadin/vaadin-material-styles/mixins/loader.js'; diff --git a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js index a061ffd9d5..8fc51def34 100644 --- a/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js +++ b/jmix-flowui/flowui-kit/src/main/resources/META-INF/frontend/theme/material/tabsheet/jmix-tabsheet.js @@ -1,4 +1,4 @@ -// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet.js [since Vaadin 24.2.1] +// CAUTION: copied from @vaadin/tabsheet/theme/material/vaadin-tabsheet.js [last update Vaadin 24.2.1] import '@vaadin/tabs/theme/material/vaadin-tabs.js'; import '@vaadin/scroller/theme/material/vaadin-scroller.js'; import './jmix-tabsheet-styles.js'; diff --git a/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java b/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java index 90294aaa03..31afb2ea67 100644 --- a/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java +++ b/jmix-flowui/flowui/src/main/java/io/jmix/flowui/component/tabsheet/JmixTabSheet.java @@ -42,7 +42,7 @@ import static io.jmix.flowui.component.UiComponentUtils.sameId; -// CAUTION: copied from com.vaadin.flow.component.tabs.TabSheet [since Vaadin 24.2.1] +// CAUTION: copied from com.vaadin.flow.component.tabs.TabSheet [last update Vaadin 24.2.1] @Tag("jmix-tabsheet") @JsModule("./src/tabsheet/jmix-tabsheet.js") public class JmixTabSheet extends Component