diff --git a/cms-templates/src/main/java/com/condation/cms/templates/CMSTemplateEngine.java b/cms-templates/src/main/java/com/condation/cms/templates/CMSTemplateEngine.java
index e6d549986..84790e17b 100644
--- a/cms-templates/src/main/java/com/condation/cms/templates/CMSTemplateEngine.java
+++ b/cms-templates/src/main/java/com/condation/cms/templates/CMSTemplateEngine.java
@@ -30,6 +30,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.jexl3.JexlBuilder;
import org.apache.commons.jexl3.JexlEngine;
+import org.apache.commons.jexl3.JexlFeatures;
@Slf4j
public class CMSTemplateEngine {
@@ -54,9 +55,14 @@ public CMSTemplateEngine(TemplateConfiguration configuration) {
}
private JexlEngine createJexlEngine() {
+ JexlFeatures features = new JexlFeatures()
+ .sideEffect(true)
+ .sideEffectGlobal(true);
+
JexlBuilder builder = new JexlBuilder();
builder
+ .features(features)
.cache(configuration.getExpressionCacheSize())
.safe(configuration.isJexlSafeMode())
.strict(configuration.isJexlStrict())
diff --git a/cms-templates/src/main/java/com/condation/cms/templates/expression/CMSPermissions.java b/cms-templates/src/main/java/com/condation/cms/templates/expression/CMSPermissions.java
index 02f49e951..031b4700d 100644
--- a/cms-templates/src/main/java/com/condation/cms/templates/expression/CMSPermissions.java
+++ b/cms-templates/src/main/java/com/condation/cms/templates/expression/CMSPermissions.java
@@ -29,6 +29,7 @@ public class CMSPermissions {
public static JexlPermissions PERMISSIONS = JexlPermissions.parse(
"# Restricted Uberspect Permissions",
"com.condation.cms.*",
+ "com.google.gson.*",
"java.nio.*",
"java.io.*",
"java.lang.*",
diff --git a/modules/ui-module/src/main/java/com/condation/cms/modules/ui/extensionpoints/remotemethods/RemoteTaxonomyEnpoints.java b/modules/ui-module/src/main/java/com/condation/cms/modules/ui/extensionpoints/remotemethods/RemoteTaxonomyEnpoints.java
new file mode 100644
index 000000000..00f2f2868
--- /dev/null
+++ b/modules/ui-module/src/main/java/com/condation/cms/modules/ui/extensionpoints/remotemethods/RemoteTaxonomyEnpoints.java
@@ -0,0 +1,75 @@
+package com.condation.cms.modules.ui.extensionpoints.remotemethods;
+
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+import com.condation.cms.api.auth.Permissions;
+import com.condation.cms.api.db.DB;
+import com.condation.cms.api.feature.features.DBFeature;
+import com.condation.cms.api.ui.extensions.UIRemoteMethodExtensionPoint;
+import com.condation.modules.api.annotation.Extension;
+import java.util.HashMap;
+import java.util.Map;
+import lombok.extern.slf4j.Slf4j;
+import com.condation.cms.api.ui.annotations.RemoteMethod;
+import com.condation.cms.api.ui.rpc.RPCException;
+
+/**
+ *
+ * @author thorstenmarx
+ */
+@Slf4j
+@Extension(UIRemoteMethodExtensionPoint.class)
+public class RemoteTaxonomyEnpoints extends AbstractRemoteMethodeExtension {
+
+ @RemoteMethod(name = "taxonomy.get", permissions = {Permissions.CONTENT_EDIT})
+ public Object get(Map parameters) throws RPCException {
+ final DB db = getDB(parameters);
+ Map result = new HashMap<>();
+
+ db.getTaxonomies().all().forEach(tax -> {
+ result.put(tax.getSlug(), tax.getTitle());
+ });
+
+ return result;
+ }
+
+ @RemoteMethod(name = "taxonomy.values", permissions = {Permissions.CONTENT_EDIT})
+ public Object remove(Map parameters) {
+ final DB db = getContext().get(DBFeature.class).db();
+
+ Map result = new HashMap<>();
+
+ var slug = (String) parameters.get("slug");
+
+ var taxonomy = db.getTaxonomies().forSlug(slug);
+
+ taxonomy.ifPresent(tax -> {
+ tax.getValues().forEach((key, val) -> {
+ Map entry = new HashMap<>();
+ entry.put("id", val.getId());
+ entry.put("title", val.getTitle());
+ result.put(key, entry);
+ });
+ });
+
+ return result;
+ }
+}
diff --git a/modules/ui-module/src/main/resources/manager/actions/media/edit-focal-point.d.ts b/modules/ui-module/src/main/resources/manager/actions/media/edit-focal-point.d.ts
index 85620d3ab..6dc2ed246 100644
--- a/modules/ui-module/src/main/resources/manager/actions/media/edit-focal-point.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/media/edit-focal-point.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/media/edit-media-form.d.ts b/modules/ui-module/src/main/resources/manager/actions/media/edit-media-form.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/media/edit-media-form.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/media/edit-media-form.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/media/select-content-media.d.ts b/modules/ui-module/src/main/resources/manager/actions/media/select-content-media.d.ts
index 85620d3ab..6dc2ed246 100644
--- a/modules/ui-module/src/main/resources/manager/actions/media/select-content-media.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/media/select-content-media.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/media/select-media.d.ts b/modules/ui-module/src/main/resources/manager/actions/media/select-media.d.ts
index 85620d3ab..6dc2ed246 100644
--- a/modules/ui-module/src/main/resources/manager/actions/media/select-media.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/media/select-media.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/add-section.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/add-section.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/add-section.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/add-section.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/create-node.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/create-node.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/create-node.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/create-node.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/create-page.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/create-page.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/create-page.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/create-page.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/delete-section.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/delete-section.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/delete-section.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/delete-section.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/edit-content.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/edit-content.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/edit-content.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/edit-content.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-form.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-form.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-form.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-form.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-list.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-list.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-list.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute-list.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/edit-metaattribute.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/edit-page-settings.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/edit-page-settings.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/edit-page-settings.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/edit-page-settings.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/edit-sections.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/edit-sections.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/edit-sections.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/edit-sections.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/list-unpublished-pages.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/list-unpublished-pages.d.ts
index 8052ef2c6..44d1f6c2a 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/list-unpublished-pages.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/list-unpublished-pages.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
interface ListUnpublishedPagesOptions {
page?: number;
}
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/manage-assets.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/manage-assets.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/manage-assets.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/manage-assets.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/section-set-published.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/section-set-published.d.ts
index 85620d3ab..6dc2ed246 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/section-set-published.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/section-set-published.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/page/translations.d.ts b/modules/ui-module/src/main/resources/manager/actions/page/translations.d.ts
index 85620d3ab..6dc2ed246 100644
--- a/modules/ui-module/src/main/resources/manager/actions/page/translations.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/page/translations.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/reload-preview.d.ts b/modules/ui-module/src/main/resources/manager/actions/reload-preview.d.ts
index 85620d3ab..6dc2ed246 100644
--- a/modules/ui-module/src/main/resources/manager/actions/reload-preview.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/reload-preview.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/site-change.d.ts b/modules/ui-module/src/main/resources/manager/actions/site-change.d.ts
index ba8a4fff2..672d1f3de 100644
--- a/modules/ui-module/src/main/resources/manager/actions/site-change.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/site-change.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(parameters: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/actions/test-command.d.ts b/modules/ui-module/src/main/resources/manager/actions/test-command.d.ts
index 6abc321a1..1dc39e464 100644
--- a/modules/ui-module/src/main/resources/manager/actions/test-command.d.ts
+++ b/modules/ui-module/src/main/resources/manager/actions/test-command.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function runAction(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/index.html b/modules/ui-module/src/main/resources/manager/index.html
index 6f17f32ea..e39b2d1ad 100644
--- a/modules/ui-module/src/main/resources/manager/index.html
+++ b/modules/ui-module/src/main/resources/manager/index.html
@@ -68,6 +68,12 @@
+
+
+
diff --git a/modules/ui-module/src/main/resources/manager/js/manager-globals.d.ts b/modules/ui-module/src/main/resources/manager/js/manager-globals.d.ts
index 255f59f32..7818ef73c 100644
--- a/modules/ui-module/src/main/resources/manager/js/manager-globals.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/manager-globals.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function executeScriptAction(action: any): Promise;
export function executeHookAction(action: any): Promise;
/**
diff --git a/modules/ui-module/src/main/resources/manager/js/manager-inject-init.d.ts b/modules/ui-module/src/main/resources/manager/js/manager-inject-init.d.ts
index de2be067b..5f66dedac 100644
--- a/modules/ui-module/src/main/resources/manager/js/manager-inject-init.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/manager-inject-init.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function initIframe(): void;
export function isSectionPublishedExpired(section: any): boolean;
diff --git a/modules/ui-module/src/main/resources/manager/js/manager-inject.d.ts b/modules/ui-module/src/main/resources/manager/js/manager-inject.d.ts
index e69de29bb..802d6a315 100644
--- a/modules/ui-module/src/main/resources/manager/js/manager-inject.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/manager-inject.d.ts
@@ -0,0 +1,20 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
diff --git a/modules/ui-module/src/main/resources/manager/js/manager.d.ts b/modules/ui-module/src/main/resources/manager/js/manager.d.ts
index cb0ff5c3b..4562057ed 100644
--- a/modules/ui-module/src/main/resources/manager/js/manager.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/manager.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export {};
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/alerts.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/alerts.d.ts
index 629a61d8f..c25caa88d 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/alerts.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/alerts.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function alertSelect(options: any): Promise;
export function alertError(options: any): void;
export function alertConfirm(options: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/event-bus.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/event-bus.d.ts
index d44295919..462f38dae 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/event-bus.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/event-bus.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export namespace EventBus {
function on(event: any, handler: any): void;
function emit(event: any, payload: any): void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.actions.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.actions.d.ts
index 7dc80374c..f8d509a6b 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.actions.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.actions.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function renameFileAction({ state, getTargetFolder, filename }: {
state: any;
getTargetFolder: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.create.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.create.d.ts
index fb627bf7e..db898301c 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.create.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.create.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openCreateContentBrowser(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.d.ts
index 34d9f9cb9..0c529bf7f 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openFileBrowser(optionsParam: any): Promise;
export namespace state {
let options: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.template.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.template.d.ts
index 72c47da10..e21fdb20e 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.template.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/filebrowser/filebrowser.template.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export { template as filebrowserTemplate };
declare const template: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.d.ts
index d2a0c9280..a930d60c6 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface CheckboxOptions extends FieldOptions {
key?: string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.js b/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.js
index 3efa4721d..6bbe7a57b 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.js
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.checkbox.js
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { createID } from "@cms/modules/form/utils.js";
const createCheckboxField = (options, value = []) => {
const id = createID();
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.code.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.code.d.ts
index ada1f20f1..4118facce 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.code.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.code.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export namespace CodeField {
export { createCodeField as markup };
export { init };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.color.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.color.d.ts
index cab0d2e87..0225e9768 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.color.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.color.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface ColorFieldOptions extends FieldOptions {
}
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.date.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.date.d.ts
index f07e3cc6e..e45cc358c 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.date.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.date.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface DateFieldOptions extends FieldOptions {
placeholder?: string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.datetime.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.datetime.d.ts
index 272202696..13130d6a8 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.datetime.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.datetime.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface DateTimeFieldOptions extends FieldOptions {
placeholder?: string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.divider.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.divider.d.ts
index f57944c90..d52208432 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.divider.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.divider.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface DividerOptions extends FieldOptions {
}
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.easymde.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.easymde.d.ts
index 9ac807575..8b94a8e15 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.easymde.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.easymde.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface EasyMDEFieldOptions extends FieldOptions {
}
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.list.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.list.d.ts
index 7bfcc69a9..eac48f3db 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.list.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.list.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface ListFieldOptions extends FieldOptions {
options: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.mail.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.mail.d.ts
index 36f178178..df6a6ab49 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.mail.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.mail.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface MailFieldOptions extends FieldOptions {
placeholder?: string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.markdown.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.markdown.d.ts
index 32fc0b8bf..21c39aafe 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.markdown.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.markdown.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
declare global {
interface HTMLInputElement {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.media.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.media.d.ts
index b359b73f0..1350f89f2 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.media.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.media.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface MediaFieldOptions extends FieldOptions {
}
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.number.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.number.d.ts
index c034ebbc7..50b700cb0 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.number.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.number.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface NumberFieldOptions extends FieldOptions {
options: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.radio.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.radio.d.ts
index a238a4826..344bb4fda 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.radio.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.radio.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface RadioFieldOptions extends FieldOptions {
options?: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.range.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.range.d.ts
index 47e6c847c..e57f403cf 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.range.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.range.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface RangeFieldOptions extends FieldOptions {
options?: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.reference.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.reference.d.ts
index 7f1b0b8c4..fc0de6ab4 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.reference.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.reference.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface ReferenceFieldOptions extends FieldOptions {
options?: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.select.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.select.d.ts
index c781deccb..5ae22bd43 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.select.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.select.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface SelectFieldOptions extends FieldOptions {
options?: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.tags.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.tags.d.ts
new file mode 100644
index 000000000..634fb842a
--- /dev/null
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.tags.d.ts
@@ -0,0 +1,27 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
+export interface TagsFieldOptions extends FieldOptions {
+ options?: {
+ taxonomy: string;
+ };
+}
+export declare const TagsField: FormField;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.tags.js b/modules/ui-module/src/main/resources/manager/js/modules/form/field.tags.js
new file mode 100644
index 000000000..ca61fd5a7
--- /dev/null
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.tags.js
@@ -0,0 +1,94 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+import { createID } from "@cms/modules/form/utils.js";
+import { i18n } from "@cms/modules/localization.js";
+import { getTaxonomyValues } from "@cms/modules/rpc/rpc-taxonomy.js";
+const createTagsField = (options, value = []) => {
+ const id = createID();
+ const key = "field." + options.name;
+ const title = i18n.t(key, options.title);
+ const slug = options.options?.taxonomy || '';
+ const valueArray = Array.isArray(value) ? value : (value ? [value] : []);
+ const selectedJson = JSON.stringify(valueArray);
+ return `
+
+
+
+
+ `;
+};
+const init = (context) => {
+ if (!context.formElement) {
+ return;
+ }
+ context.formElement.querySelectorAll("[data-cms-form-field-type='tags']").forEach(async (wrapper) => {
+ const slug = wrapper.dataset.taxonomySlug || '';
+ const selectedRaw = wrapper.dataset.selectedValues || '[]';
+ const selected = JSON.parse(selectedRaw);
+ const select = wrapper.querySelector('select');
+ if (!select || !slug) {
+ return;
+ }
+ try {
+ const values = await getTaxonomyValues(slug);
+ values.forEach(val => {
+ const option = document.createElement('option');
+ option.value = val.id;
+ option.text = val.title;
+ option.selected = selected.includes(val.id);
+ select.appendChild(option);
+ });
+ if (typeof Tags !== 'undefined') {
+ Tags.init(`#${select.id}`);
+ }
+ else {
+ console.error('bootstrap5-tags not loaded — falling back to native multi-select');
+ }
+ }
+ catch (e) {
+ console.error('Failed to load taxonomy values for slug:', slug, e);
+ const errorMsg = document.createElement('div');
+ errorMsg.className = 'text-danger small mt-1';
+ errorMsg.textContent = 'Could not load taxonomy values.';
+ wrapper.appendChild(errorMsg);
+ }
+ });
+};
+const getData = (context) => {
+ const data = {};
+ if (!context.formElement) {
+ return data;
+ }
+ context.formElement.querySelectorAll("[data-cms-form-field-type='tags'] select").forEach((el) => {
+ const select = el;
+ const values = Array.from(select.selectedOptions).map(opt => opt.value);
+ data[select.name] = {
+ type: 'tags',
+ value: values
+ };
+ });
+ return data;
+};
+export const TagsField = {
+ markup: createTagsField,
+ init: init,
+ data: getData
+};
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.text.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.text.d.ts
index b406c7cf8..7a72faae8 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.text.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.text.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface TextFieldOptions extends FieldOptions {
placeholder?: string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/field.textarea.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/field.textarea.d.ts
index f83d21361..4b4659e7b 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/field.textarea.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/field.textarea.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { FieldOptions, FormField } from "@cms/modules/form/forms.js";
export interface TextAreaFieldOptions extends FieldOptions {
rows?: number;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/forms.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/forms.d.ts
index a20eefd41..a162fe5d9 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/forms.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/forms.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const createForm: (options: any) => Form;
export { createForm };
export interface FormContext {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/forms.js b/modules/ui-module/src/main/resources/manager/js/modules/form/forms.js
index ea091c80c..b2e449408 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/forms.js
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/forms.js
@@ -37,6 +37,7 @@ import { MediaField } from "@cms/modules/form/field.media.js";
import { ListField } from "@cms/modules/form/field.list.js";
import { TextAreaField } from "@cms/modules/form/field.textarea.js";
import { ReferenceField } from "@cms/modules/form/field.reference.js";
+import { TagsField } from "@cms/modules/form/field.tags.js";
const createForm = (options) => {
const fields = options.fields || [];
const values = options.values || {};
@@ -84,6 +85,8 @@ const createForm = (options) => {
return TextAreaField.markup(field, val);
case 'reference':
return ReferenceField.markup(field, val);
+ case 'tags':
+ return TagsField.markup(field, val);
default:
return '';
}
@@ -123,6 +126,7 @@ const createForm = (options) => {
MediaField.init(context);
ListField.init(context);
ReferenceField.init(context);
+ TagsField.init(context);
};
const getData = () => {
if (!context.formElement) {
@@ -146,7 +150,8 @@ const createForm = (options) => {
...MediaField.data(context),
...ListField.data(context),
...TextAreaField.data(context),
- ...ReferenceField.data(context)
+ ...ReferenceField.data(context),
+ ...TagsField.data(context)
};
return data;
};
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/form/utils.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/form/utils.d.ts
index 79c944de7..7d3d89dcb 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/form/utils.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/form/utils.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const createID: () => string;
declare const utcToLocalDateTimeInputValue: (utcString: string) => string;
declare function getUTCDateTimeFromInput(inputElement: HTMLInputElement): string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/frameMessenger.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/frameMessenger.d.ts
index 1d74a5193..b50f99006 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/frameMessenger.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/frameMessenger.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare namespace _default {
export { send };
export { on };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/locale-utils.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/locale-utils.d.ts
index 98374290b..aca04a87b 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/locale-utils.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/locale-utils.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function getLocale(): any;
export function setLocale(locale: any): void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/localization-actions.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/localization-actions.d.ts
index 43acad38a..6db9e8af0 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/localization-actions.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/localization-actions.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export namespace ACTION_LOCALIZATIONS {
let en: {};
let de: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/localization-loader.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/localization-loader.d.ts
index ea5b0a075..5cca57e0f 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/localization-loader.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/localization-loader.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function loadLocalizationsWithDefaults(): Promise<{
en: {
"ui.filebrowser.filename": string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/localization-modules.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/localization-modules.d.ts
index 4a0c49e47..1061b15e9 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/localization-modules.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/localization-modules.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export namespace MODULE_LOCALIZATIONS {
let en: {};
let de: {
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/localization.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/localization.d.ts
index 0b22efabb..b1e393873 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/localization.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/localization.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function localizeUi(): Promise;
export namespace i18n {
let _locale: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/manager-ui.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/manager-ui.d.ts
index d25e9cb32..247c12e7c 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/manager-ui.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/manager-ui.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function updateStateButton(): void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/manager/manager.message.handlers.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/manager/manager.message.handlers.d.ts
index dd88b9fe0..5b7c71b35 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/manager/manager.message.handlers.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/manager/manager.message.handlers.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const initMessageHandlers: () => void;
export { initMessageHandlers };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/manager/media.inject.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/manager/media.inject.d.ts
index ebd61d27b..067619660 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/manager/media.inject.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/manager/media.inject.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare const initMediaUploadOverlay: (img: HTMLImageElement) => void;
export declare const initContentMediaToolbar: (img: HTMLImageElement) => void;
export declare const initMediaToolbar: (img: HTMLImageElement) => void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar-icons.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar-icons.d.ts
index 570269ca5..3ae76b89a 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar-icons.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar-icons.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare const EDIT_PAGE_ICON = "\n";
export declare const EDIT_ATTRIBUTES_ICON = "\n\n";
export declare const SECTION_SORT_ICON = "\n\n";
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar.inject.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar.inject.d.ts
index 6e3a61bf4..8a082a5df 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar.inject.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/manager/toolbar.inject.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare const initToolbar: (container: HTMLElement) => void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.actions.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.actions.d.ts
index 8d9d29343..688d73a00 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.actions.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.actions.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function renameMediaAction({ state, getTargetFolder, filename }: {
state: any;
getTargetFolder: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.create.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.create.d.ts
index fb627bf7e..db898301c 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.create.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.create.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openCreateContentBrowser(params: any): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.d.ts
index 9d2fc70aa..f75edbb59 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openMediaBrowser(optionsParam: any): Promise;
export namespace state {
let options: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.template.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.template.d.ts
index 2c8ff55fe..2caff5efc 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.template.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.template.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export { template as mediabrowserTemplate };
declare const template: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.upload.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.upload.d.ts
index 5b1bd46d8..954f1b3fc 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.upload.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/media/mediabrowser.upload.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function initDragAndDropUpload(): void;
export function handleFileUpload(): Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/modal.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/modal.d.ts
index a6bc8574c..4f6c59a03 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/modal.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/modal.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openModal(optionsParam: any): any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/node.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/node.d.ts
index ade17f827..81527fd56 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/node.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/node.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
/**
* Retrieves a nested value from an object using a dot-notated path like "meta.title"
* @param {object} sourceObj - The object to retrieve the value from
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/preview.history.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/preview.history.d.ts
index 02a1aa102..520ce2957 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/preview.history.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/preview.history.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export namespace PreviewHistory {
export { init };
export { navigatePreview };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/preview.utils.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/preview.utils.d.ts
index f2f167f34..e7c2a28ba 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/preview.utils.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/preview.utils.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function activatePreviewOverlay(): void;
export function deActivatePreviewOverlay(): void;
export function getPreviewUrl(): any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-content.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-content.d.ts
index 500f28b21..0df37da31 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-content.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-content.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
import { RPCResponse } from '@cms/modules/rpc/rpc.js';
declare const getContentNode: (options: any) => Promise;
declare const getContent: (options: any) => Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-files.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-files.d.ts
index 19350eb0f..4b1d33075 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-files.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-files.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const listFiles: (options: any) => Promise;
declare const deleteFile: (options: any) => Promise;
declare const deleteFolder: (options: any) => Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-i18n.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-i18n.d.ts
index 97184c7b3..e28dcc439 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-i18n.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-i18n.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const loadLocalizations: (options: any) => Promise;
export { loadLocalizations };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-manager.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-manager.d.ts
index 09de5e435..e473c39fc 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-manager.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-manager.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const getSectionEntryTemplates: (options: any) => Promise;
declare const getPageTemplates: (options: any) => Promise;
declare const getListItemTypes: (options: any) => Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-media.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-media.d.ts
index e333405cb..cdd474bef 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-media.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-media.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const getMediaMetaData: (options: any) => Promise;
declare const setMediaMetaData: (options: any) => Promise;
declare const renameMedia: (options: any) => Promise;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-page.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-page.d.ts
index 5e9c6f05a..617c1efe9 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-page.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-page.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export interface CreatePageOptions {
uri: string;
name: string;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-taxonomy.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-taxonomy.d.ts
new file mode 100644
index 000000000..646050132
--- /dev/null
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-taxonomy.d.ts
@@ -0,0 +1,27 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+export interface TaxonomyValue {
+ id: string;
+ title: string;
+}
+declare const getTaxonomies: () => Promise>;
+declare const getTaxonomyValues: (slug: string) => Promise;
+export { getTaxonomies, getTaxonomyValues };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-taxonomy.js b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-taxonomy.js
new file mode 100644
index 000000000..eb74f0622
--- /dev/null
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-taxonomy.js
@@ -0,0 +1,36 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+import { executeRemoteCall } from '@cms/modules/rpc/rpc.js';
+const getTaxonomies = async () => {
+ const response = await executeRemoteCall({
+ method: 'taxonomy.get',
+ parameters: {}
+ });
+ return response.result || {};
+};
+const getTaxonomyValues = async (slug) => {
+ const response = await executeRemoteCall({
+ method: 'taxonomy.values',
+ parameters: { slug }
+ });
+ return Object.values(response.result || {});
+};
+export { getTaxonomies, getTaxonomyValues };
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-translation.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-translation.d.ts
index 0f2b8e64a..dd3eb8c8e 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-translation.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc-translation.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export interface GetTranslationsOptions {
uri: string;
}
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc.d.ts
index 121bc30e4..753fc6d82 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/rpc/rpc.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
interface Options {
method: string;
parameters?: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/sidebar.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/sidebar.d.ts
index 268aae235..cdfd08d7f 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/sidebar.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/sidebar.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openSidebar(options: any): void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/state.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/state.d.ts
index 7d224a238..80f03d1b9 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/state.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/state.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare class State {
constructor(initialState?: {});
state: {};
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/toast.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/toast.d.ts
index 0fcd8a129..f5a574c37 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/toast.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/toast.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function showToast(options: any): void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/ui-state.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/ui-state.d.ts
index cf3faa9ae..65018962d 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/ui-state.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/ui-state.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export namespace UIStateManager {
function setTabState(key: any, value: any): void;
function getTabState(key: any, defaultValue?: any): any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/upload.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/upload.d.ts
index 760c8f380..757755054 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/upload.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/upload.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function uploadFileWithProgress({ uploadEndpoint, file, uri, onProgress, onSuccess, onError }: {
uploadEndpoint: any;
file: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/utils.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/utils.d.ts
index 73eff8a4d..366bf425d 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/utils.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/utils.d.ts
@@ -1,2 +1,22 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export declare function getCSRFToken(): string | null;
export declare function setCSRFToken(token: string): void;
diff --git a/modules/ui-module/src/main/resources/manager/js/modules/wizard.d.ts b/modules/ui-module/src/main/resources/manager/js/modules/wizard.d.ts
index 13b63e736..bb3a3b4b0 100644
--- a/modules/ui-module/src/main/resources/manager/js/modules/wizard.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/modules/wizard.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export function openWizard(optionsParam: any): {
wizardId: string;
modalInstance: any;
diff --git a/modules/ui-module/src/main/resources/manager/js/ui-actions.d.ts b/modules/ui-module/src/main/resources/manager/js/ui-actions.d.ts
index cb0ff5c3b..4562057ed 100644
--- a/modules/ui-module/src/main/resources/manager/js/ui-actions.d.ts
+++ b/modules/ui-module/src/main/resources/manager/js/ui-actions.d.ts
@@ -1 +1,21 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
export {};
diff --git a/modules/ui-module/src/main/resources/manager/public/manager-login.d.ts b/modules/ui-module/src/main/resources/manager/public/manager-login.d.ts
index 5b5817d8a..ce810c5cb 100644
--- a/modules/ui-module/src/main/resources/manager/public/manager-login.d.ts
+++ b/modules/ui-module/src/main/resources/manager/public/manager-login.d.ts
@@ -1,3 +1,23 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
declare const ui: {
state: string;
};
diff --git a/modules/ui-module/src/main/ts/src/js/modules/form/field.tags.ts b/modules/ui-module/src/main/ts/src/js/modules/form/field.tags.ts
new file mode 100644
index 000000000..d5a51584c
--- /dev/null
+++ b/modules/ui-module/src/main/ts/src/js/modules/form/field.tags.ts
@@ -0,0 +1,113 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+import { createID } from "@cms/modules/form/utils.js";
+import { i18n } from "@cms/modules/localization.js";
+import { FieldOptions, FormContext, FormField } from "@cms/modules/form/forms.js";
+import { getTaxonomyValues } from "@cms/modules/rpc/rpc-taxonomy.js";
+
+declare const Tags: any;
+
+export interface TagsFieldOptions extends FieldOptions {
+ options?: {
+ taxonomy: string;
+ };
+}
+
+const createTagsField = (options: TagsFieldOptions, value: string | string[] = []): string => {
+ const id = createID();
+ const key = "field." + options.name;
+ const title = i18n.t(key, options.title);
+ const slug = options.options?.taxonomy || '';
+ const valueArray: string[] = Array.isArray(value) ? value : (value ? [value] : []);
+ const selectedJson = JSON.stringify(valueArray);
+
+ return `
+
+
+
+
+ `;
+};
+
+const init = (context: FormContext): void => {
+ if (!context.formElement) {
+ return;
+ }
+
+ context.formElement.querySelectorAll("[data-cms-form-field-type='tags']").forEach(async (wrapper: Element) => {
+ const slug = (wrapper as HTMLElement).dataset.taxonomySlug || '';
+ const selectedRaw = (wrapper as HTMLElement).dataset.selectedValues || '[]';
+ const selected: string[] = JSON.parse(selectedRaw);
+ const select = wrapper.querySelector('select') as HTMLSelectElement;
+
+ if (!select || !slug) {
+ return;
+ }
+
+ try {
+ const values = await getTaxonomyValues(slug);
+ values.forEach(val => {
+ const option = document.createElement('option');
+ option.value = val.id;
+ option.text = val.title;
+ option.selected = selected.includes(val.id);
+ select.appendChild(option);
+ });
+
+ if (typeof Tags !== 'undefined') {
+ Tags.init(`#${select.id}`);
+ } else {
+ console.error('bootstrap5-tags not loaded — falling back to native multi-select');
+ }
+ } catch (e) {
+ console.error('Failed to load taxonomy values for slug:', slug, e);
+ const errorMsg = document.createElement('div');
+ errorMsg.className = 'text-danger small mt-1';
+ errorMsg.textContent = 'Could not load taxonomy values.';
+ wrapper.appendChild(errorMsg);
+ }
+ });
+};
+
+const getData = (context: FormContext): Record => {
+ const data: Record = {};
+
+ if (!context.formElement) {
+ return data;
+ }
+
+ context.formElement.querySelectorAll("[data-cms-form-field-type='tags'] select").forEach((el: Element) => {
+ const select = el as HTMLSelectElement;
+ const values = Array.from(select.selectedOptions).map(opt => opt.value);
+ data[select.name] = {
+ type: 'tags',
+ value: values
+ };
+ });
+
+ return data;
+};
+
+export const TagsField = {
+ markup: createTagsField,
+ init: init,
+ data: getData
+} as FormField;
diff --git a/modules/ui-module/src/main/ts/src/js/modules/form/forms.ts b/modules/ui-module/src/main/ts/src/js/modules/form/forms.ts
index 7f1bbe532..c4709a4cf 100644
--- a/modules/ui-module/src/main/ts/src/js/modules/form/forms.ts
+++ b/modules/ui-module/src/main/ts/src/js/modules/form/forms.ts
@@ -37,6 +37,7 @@ import { MediaField } from "@cms/modules/form/field.media.js";
import { ListField } from "@cms/modules/form/field.list.js";
import { TextAreaField } from "@cms/modules/form/field.textarea.js";
import { ReferenceField } from "@cms/modules/form/field.reference.js";
+import { TagsField } from "@cms/modules/form/field.tags.js";
const createForm = (options : any) : Form => {
@@ -88,6 +89,8 @@ const createForm = (options : any) : Form => {
return TextAreaField.markup(field, val)
case 'reference':
return ReferenceField.markup(field, val)
+ case 'tags':
+ return TagsField.markup(field, val)
default:
return '';
}
@@ -132,6 +135,7 @@ const createForm = (options : any) : Form => {
MediaField.init(context)
ListField.init(context)
ReferenceField.init(context)
+ TagsField.init(context)
};
const getData = () => {
@@ -156,7 +160,8 @@ const createForm = (options : any) : Form => {
...MediaField.data(context),
...ListField.data(context),
...TextAreaField.data(context),
- ...ReferenceField.data(context)
+ ...ReferenceField.data(context),
+ ...TagsField.data(context)
};
return data
};
diff --git a/modules/ui-module/src/main/ts/src/js/modules/rpc/rpc-taxonomy.ts b/modules/ui-module/src/main/ts/src/js/modules/rpc/rpc-taxonomy.ts
new file mode 100644
index 000000000..2d765a76a
--- /dev/null
+++ b/modules/ui-module/src/main/ts/src/js/modules/rpc/rpc-taxonomy.ts
@@ -0,0 +1,44 @@
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+import { executeRemoteCall } from '@cms/modules/rpc/rpc.js';
+
+export interface TaxonomyValue {
+ id: string;
+ title: string;
+}
+
+const getTaxonomies = async (): Promise> => {
+ const response = await executeRemoteCall({
+ method: 'taxonomy.get',
+ parameters: {}
+ });
+ return response.result || {};
+};
+
+const getTaxonomyValues = async (slug: string): Promise => {
+ const response = await executeRemoteCall({
+ method: 'taxonomy.values',
+ parameters: { slug }
+ });
+ return Object.values(response.result || {}) as TaxonomyValue[];
+};
+
+export { getTaxonomies, getTaxonomyValues };
diff --git a/modules/ui-module/src/test/java/com/condation/cms/modules/ui/extensionpoints/remotemethods/RemoteTaxonomyEnpointsTest.java b/modules/ui-module/src/test/java/com/condation/cms/modules/ui/extensionpoints/remotemethods/RemoteTaxonomyEnpointsTest.java
new file mode 100644
index 000000000..fbf4310cb
--- /dev/null
+++ b/modules/ui-module/src/test/java/com/condation/cms/modules/ui/extensionpoints/remotemethods/RemoteTaxonomyEnpointsTest.java
@@ -0,0 +1,126 @@
+package com.condation.cms.modules.ui.extensionpoints.remotemethods;
+
+/*-
+ * #%L
+ * UI Module
+ * %%
+ * Copyright (C) 2023 - 2026 CondationCMS
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * #L%
+ */
+
+import com.condation.cms.api.db.DB;
+import com.condation.cms.api.db.taxonomy.Taxonomies;
+import com.condation.cms.api.db.taxonomy.Taxonomy;
+import com.condation.cms.api.db.taxonomy.Value;
+import com.condation.cms.api.feature.features.DBFeature;
+import com.condation.cms.api.module.SiteModuleContext;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.when;
+
+@ExtendWith(MockitoExtension.class)
+public class RemoteTaxonomyEnpointsTest {
+
+ @Mock
+ private SiteModuleContext moduleContext;
+
+ @Mock
+ private DB db;
+
+ @Mock
+ private Taxonomies taxonomies;
+
+ private RemoteTaxonomyEnpoints endpoints;
+
+ @BeforeEach
+ public void setUp() {
+ endpoints = new RemoteTaxonomyEnpoints();
+ endpoints.setContext(moduleContext);
+ when(moduleContext.get(DBFeature.class)).thenReturn(new DBFeature(db));
+ when(db.getTaxonomies()).thenReturn(taxonomies);
+ }
+
+ @Test
+ public void testGet_returnsTaxonomySlugToTitleMap() throws Exception {
+ Taxonomy t1 = new Taxonomy("Categories", "categories", "category");
+ Taxonomy t2 = new Taxonomy("Tags", "tags", "tag");
+ when(taxonomies.all()).thenReturn(List.of(t1, t2));
+
+ Map params = new HashMap<>();
+ @SuppressWarnings("unchecked")
+ Map result = (Map) endpoints.get(params);
+
+ assertThat(result).containsEntry("categories", "Categories");
+ assertThat(result).containsEntry("tags", "Tags");
+ }
+
+ @Test
+ public void testGet_emptyWhenNoTaxonomies() throws Exception {
+ when(taxonomies.all()).thenReturn(List.of());
+
+ Map params = new HashMap<>();
+ @SuppressWarnings("unchecked")
+ Map result = (Map) endpoints.get(params);
+
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void testValues_returnsIdAndTitleForEachValue() {
+ Map values = new HashMap<>();
+ values.put("cat1", new Value("cat1", "Category One"));
+ values.put("cat2", new Value("cat2", "Category Two"));
+
+ Taxonomy taxonomy = new Taxonomy("Categories", "categories", "category");
+ taxonomy.setValues(values);
+
+ when(taxonomies.forSlug("categories")).thenReturn(Optional.of(taxonomy));
+
+ Map params = new HashMap<>();
+ params.put("slug", "categories");
+
+ @SuppressWarnings("unchecked")
+ Map result = (Map) endpoints.remove(params);
+
+ assertThat(result).containsKey("cat1");
+ @SuppressWarnings("unchecked")
+ Map entry = (Map) result.get("cat1");
+ assertThat(entry).containsEntry("id", "cat1");
+ assertThat(entry).containsEntry("title", "Category One");
+ }
+
+ @Test
+ public void testValues_emptyWhenSlugNotFound() {
+ when(taxonomies.forSlug("unknown")).thenReturn(Optional.empty());
+
+ Map params = new HashMap<>();
+ params.put("slug", "unknown");
+
+ @SuppressWarnings("unchecked")
+ Map result = (Map) endpoints.remove(params);
+
+ assertThat(result).isEmpty();
+ }
+}
diff --git a/pom.xml b/pom.xml
index c36dd9214..091c7cc89 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,7 +150,7 @@
org.apache.commonscommons-jexl3
- 3.6.4
+ 3.7.0
@@ -261,17 +261,17 @@
org.apache.logging.log4jlog4j-api
- 2.26.0
+ 2.26.1org.apache.logging.log4jlog4j-core
- 2.26.0
+ 2.26.1org.apache.logging.log4jlog4j-slf4j2-impl
- 2.26.0
+ 2.26.1
diff --git a/test-server/hosts/demo/config/taxonomy.tags.yaml b/test-server/hosts/demo/config/taxonomy.tags.yaml
new file mode 100644
index 000000000..49e5dca95
--- /dev/null
+++ b/test-server/hosts/demo/config/taxonomy.tags.yaml
@@ -0,0 +1,11 @@
+## YAML Template.
+---
+values:
+ - id: schuhe
+ title: Schuhe
+ - id: kinderkleidung
+ title: Kinderkleidung
+ - id: kleidung
+ title: Kleidung
+ - id: hoodies_sweatshirts
+ title: Hoodies & Sweatshirts
\ No newline at end of file
diff --git a/test-server/hosts/demo/config/taxonomy.yaml b/test-server/hosts/demo/config/taxonomy.yaml
index d16038d18..96ca68210 100644
--- a/test-server/hosts/demo/config/taxonomy.yaml
+++ b/test-server/hosts/demo/config/taxonomy.yaml
@@ -8,4 +8,8 @@ taxonomies:
- title: Produkte
slug: produkte
field: taxonomy.products
+ array: true
+ - title: Tags
+ slug: tags
+ field: taxonomy.tags
array: true
\ No newline at end of file
diff --git a/test-server/hosts/demo/content/index.md b/test-server/hosts/demo/content/index.md
index 3aa94b4e4..6624da296 100644
--- a/test-server/hosts/demo/content/index.md
+++ b/test-server/hosts/demo/content/index.md
@@ -30,6 +30,11 @@ seo:
linked_page: about
translations:
de: /
+taxonomy:
+ tags:
+ - kleidung
+ - hoodies_sweatshirts
+ - kinderkleidung
---
# Demo Project
@@ -66,4 +71,4 @@ System.out.println("Hello world!");
### example from module
-[[ext:example /]]
\ No newline at end of file
+[[ext:example /]]
diff --git a/test-server/themes/demo/extensions/theme.manager.js b/test-server/themes/demo/extensions/theme.manager.js
index 5dcc0cda6..b97e9c482 100644
--- a/test-server/themes/demo/extensions/theme.manager.js
+++ b/test-server/themes/demo/extensions/theme.manager.js
@@ -105,6 +105,14 @@ $hooks.registerFilter("manager/contentTypes/register", (contentTypes) => {
name: "object.values",
title: "Objekt-Liste",
type: "list"
+ },
+ {
+ name: "taxonomy.tags",
+ title: "Tags",
+ type: "tags",
+ options: {
+ taxonomy: "tags"
+ }
}
]
},