From bc3881707ee4acfe28c9f00a52176bf5266b1804 Mon Sep 17 00:00:00 2001 From: jonat123 <54025331+jonat123@users.noreply.github.com> Date: Mon, 27 Jan 2025 10:49:02 +0100 Subject: [PATCH] updated the link picker modal and the property editors using it. (#18059) * updated the link picker modal and the property editors using it. * updated the last language * some minor updates to the code so that it uses the correct actions * Minor change in the language key that is being used. * use camel case * use "add" and "update" without "link" --------- Co-authored-by: Mads Rasmussen --- src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts | 2 ++ src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts | 2 ++ src/Umbraco.Web.UI.Client/src/assets/lang/en.ts | 2 ++ .../components/input-multi-url/input-multi-url.element.ts | 1 + .../link-picker-modal/link-picker-modal.element.ts | 7 +++++-- .../link-picker-modal/link-picker-modal.token.ts | 1 + .../url-picker-monaco-markdown-editor-action.ts | 1 + .../tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.ts | 1 + .../tiptap/extensions/toolbar/link.tiptap-toolbar-api.ts | 2 +- 9 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts index 2cc21659f7..c6d6f63dbd 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts @@ -542,6 +542,8 @@ export default { selectIcon: 'Vælg ikon', selectItem: 'Vælg item', selectLink: 'Vælg link', + addLink: 'Tilføj Link', + updateLink: 'Opdater Link', selectMacro: 'Vælg makro', selectContent: 'Vælg indhold', selectContentType: 'Vælg indholdstype', diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts index f85bb76de3..d23dd536f1 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts @@ -573,6 +573,8 @@ export default { selectIcon: 'Select icon', selectItem: 'Select item', selectLink: 'Configure link', + addLink: 'Add Link', + updateLink: 'Update Link', selectMacro: 'Select macro', selectContent: 'Select content', selectContentType: 'Select content type', diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index 65af8c034a..7dab234374 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -565,6 +565,8 @@ export default { selectIcon: 'Select icon', selectItem: 'Select item', selectLink: 'Configure link', + addLink: 'Add Link', + updateLink: 'Update Link', selectMacro: 'Select macro', selectContent: 'Select content', selectContentType: 'Select content type', diff --git a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts index 9804afba68..69171ad191 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts @@ -200,6 +200,7 @@ export class UmbInputMultiUrlElement extends UUIFormControlMixin(UmbLitElement, }, data: { index: index, + isNew: index === null, config: { hideAnchor: this.hideAnchor, }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.ts index 4fac996f53..7a22b344f0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.ts @@ -200,7 +200,10 @@ export class UmbLinkPickerModalElement extends UmbModalBaseElement + ${this.#renderLinkType()} ${this.#renderLinkAnchorInput()} ${this.#renderLinkTitleInput()} ${this.#renderLinkTargetInput()} @@ -210,7 +213,7 @@ export class UmbLinkPickerModalElement extends UmbModalBaseElement diff --git a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.token.ts index 498b1ec6b8..23eded6b27 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/link-picker-modal/link-picker-modal.token.ts @@ -5,6 +5,7 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbLinkPickerModalData { config: UmbLinkPickerConfig; index: number | null; + isNew: boolean; } export type UmbLinkPickerModalValue = { link: UmbLinkPickerLink }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/monaco-markdown-editor-action/url-picker-monaco-markdown-editor-action.ts b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/monaco-markdown-editor-action/url-picker-monaco-markdown-editor-action.ts index 0db383a10b..cc735e8962 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/monaco-markdown-editor-action/url-picker-monaco-markdown-editor-action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/monaco-markdown-editor-action/url-picker-monaco-markdown-editor-action.ts @@ -40,6 +40,7 @@ export class UmbUrlPickerMonacoMarkdownEditorAction extends UmbControllerBase { modal: { size: overlaySize }, data: { index: null, + isNew: selectedValue === '', config: {}, }, value: { diff --git a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.ts b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.ts index 6bdc8e54ff..436df2067c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.ts @@ -81,6 +81,7 @@ export default class UmbTinyMceMultiUrlPickerPlugin extends UmbTinyMcePluginBase data: { config: {}, index: null, + isNew: currentTarget?.url === undefined, }, value: { link: currentTarget ?? {}, diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/toolbar/link.tiptap-toolbar-api.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/toolbar/link.tiptap-toolbar-api.ts index 0af54ff9bc..0761ee50af 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/toolbar/link.tiptap-toolbar-api.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/toolbar/link.tiptap-toolbar-api.ts @@ -10,7 +10,7 @@ export default class UmbTiptapToolbarLinkExtensionApi extends UmbTiptapToolbarEl override async execute(editor?: Editor) { const attrs = editor?.getAttributes(UmbLink.name) ?? {}; const link = this.#getLinkData(attrs); - const data = { config: {}, index: null }; + const data = { config: {}, index: null, isNew: link?.url === undefined }; const value = { link }; const overlaySize = this.configuration?.getValueByAlias('overlaySize') ?? 'small';