+
#{CmsDefaultStepsMessageBundle['relatedinfo.attachmentlist.details.name.label']}:
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-create-link.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-create-link.xhtml
new file mode 100644
index 000000000..ab6cb8560
--- /dev/null
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-create-link.xhtml
@@ -0,0 +1,93 @@
+]>
+
+
+
+
+
+
+
+
+ #{message.value}
+
+
+
+
+
+
+
+
+
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-internallink-details.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-internallink-details.xhtml
deleted file mode 100644
index 840310c47..000000000
--- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-internallink-details.xhtml
+++ /dev/null
@@ -1,39 +0,0 @@
-]>
-
-
-
-
-
-
-
-
-
- #{CmsDefaultStepsMessageBundle['contentsection.documents.relatedinfo.internallink.details.title']}
-
-
-
-
-
- #{CmsDefaultStepsMessageBundle.getMessage('relatedinfo.internallink.details.title', [CmsInternalLinkDetailsModel.label])}
-
-
-
-
-
-
-
-
-
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-link-details.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-link-details.xhtml
new file mode 100644
index 000000000..e3e68f166
--- /dev/null
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo-link-details.xhtml
@@ -0,0 +1,94 @@
+]>
+
+
+
+
+
+
+
+
+ #{CmsDefaultStepsMessageBundle['relatedinfo.link.details.title']}
+
+
+
+
+
+
+ #{CmsDefaultStepsMessageBundle['relatedinfo.link.details.title.target']}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo.xhtml
index cc0f4a3f2..e376caa8c 100644
--- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo.xhtml
+++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/documents/relatedinfo.xhtml
@@ -427,13 +427,12 @@
#{CmsDefaultStepsMessageBundle['relatedinfo.attachmentlists.attachment.add.label']}
-
+
-
+
diff --git a/ccm-cms/src/main/typescript/content-sections/cms-admin.ts b/ccm-cms/src/main/typescript/content-sections/cms-admin.ts
index 9fee390e5..af87fb0ee 100644
--- a/ccm-cms/src/main/typescript/content-sections/cms-admin.ts
+++ b/ccm-cms/src/main/typescript/content-sections/cms-admin.ts
@@ -2,4 +2,6 @@ import "bootstrap";
import "./cms-assetpicker";
-import "./cms-attachment-lists";
\ No newline at end of file
+import "./cms-attachment-lists";
+
+import "./cms-related-link";
\ No newline at end of file
diff --git a/ccm-cms/src/main/typescript/content-sections/cms-related-link.ts b/ccm-cms/src/main/typescript/content-sections/cms-related-link.ts
new file mode 100644
index 000000000..cb2d114dd
--- /dev/null
+++ b/ccm-cms/src/main/typescript/content-sections/cms-related-link.ts
@@ -0,0 +1,22 @@
+document.addEventListener("DOMContentLoaded", function(event) {
+ const linkTypes = document.querySelectorAll(".link-type-select");
+
+ for(let i = 0; i < linkTypes.length; i++) {
+ linkTypes[i].addEventListener("selected", function(event) {
+ const target = event.currentTarget as HTMLElement;
+ const value = target.getAttribute("value");
+
+ const selectedTypeElem = document.querySelector(
+ `#relatedlink-target-${value}`
+ );
+ if (selectedTypeElem) {
+ const types = document.querySelectorAll(".relatedlink-target");
+ for(let j = 0; j < types.length; j++) {
+ types[j].classList.add("d-none");
+ }
+ selectedTypeElem.classList.remove("d-none");
+ }
+
+ });
+ }
+});
\ No newline at end of file