From 8fdf27fcbdbd2876b5a8ac8bd24787e219800327 Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Mon, 14 Aug 2023 13:55:26 +0200 Subject: [PATCH 1/9] FEATURE: remove Neos.NodeTypes package --- .../Neos.NeosIo/Configuration/Settings.yaml | 5 ++++ .../Version20230814102735.yaml | 26 ++++++++++++++++ .../Neos.NeosIo/NodeTypes/Content/Box.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/Column.yaml | 4 +-- .../NodeTypes/Content/DeviceStage.yaml | 4 +-- .../NodeTypes/Content/Headline.yaml | 8 +++++ .../NodeTypes/Content/HeadlineSlider.yaml | 2 +- .../NodeTypes/Content/ImageTeaser.yaml | 4 +-- .../Neos.NeosIo/NodeTypes/Content/Text.yaml | 8 +++++ .../NodeTypes/Mixins/TextMixin.yaml | 30 +++++++++++++++++++ .../NodeTypes/Mixins/TitleMixin.yaml | 17 +++++++++++ .../NodeTypes/Override/Headline.yaml | 2 +- .../NodeTypes/Override/Mixin/TextMixin.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Override/Text.yaml | 2 +- .../Private/Fusion/Content/Headline.fusion | 6 ++++ .../Private/Fusion/Content/Text.fusion | 6 ++++ .../de/NodeTypes/Content/Headline.xlf | 10 +++++++ .../de/NodeTypes/Mixins/TextMixin.xlf | 10 +++++++ .../en/NodeTypes/Content/Headline.xlf | 10 +++++++ .../en/NodeTypes/Mixins/TextMixin.xlf | 10 +++++++ 20 files changed, 157 insertions(+), 11 deletions(-) create mode 100644 DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Content/Text.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TitleMixin.yaml create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Text.fusion create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf diff --git a/DistributionPackages/Neos.NeosIo/Configuration/Settings.yaml b/DistributionPackages/Neos.NeosIo/Configuration/Settings.yaml index 050cd76a1..52248410c 100644 --- a/DistributionPackages/Neos.NeosIo/Configuration/Settings.yaml +++ b/DistributionPackages/Neos.NeosIo/Configuration/Settings.yaml @@ -75,6 +75,11 @@ Neos: - 'Neos.NodeTypes:Page' - 'Neos.MarketPlace:RepositoryStorage' - 'Neos.NeosIo:Reference' + translation: + autoInclude: + 'Neos.NeosIo': + - 'Main' + - 'NodeTypes/*' nodeTypes: groups: special: diff --git a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml new file mode 100644 index 000000000..3b61df5f6 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml @@ -0,0 +1,26 @@ +up: + comments: 'Migrates the old NodeTypes of the Neos.NodeTypes package too new ones.' + migration: + - + filters: + - type: 'NodeType' + settings: + nodeType: 'Neos.NodeTypes:Text' + transformations: + - + type: 'ChangeNodeType' + settings: + newType: 'Neos.NeosIo:Text' + - + filters: + - type: 'NodeType' + settings: + nodeType: 'Neos.NodeTypes:Headline' + transformations: + - + type: 'ChangeNodeType' + settings: + newType: 'Neos.NeosIo:Headline' + +down: + comments: 'No down migration available' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml index 1ed001a37..085d0e291 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml @@ -9,7 +9,7 @@ constraints: nodeTypes: '*': false - 'Neos.NodeTypes:Text': true + 'Neos.NeosIo:Text': true 'Neos.NodeTypes.ContentReferences:ContentReferences': true 'Neos.NeosIo:Button': true 'Neos.NeosIo:CountUp': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml index 42e4d9ff2..4d809c5f4 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml @@ -38,10 +38,10 @@ constraints: nodeTypes: '*': false - 'Neos.NodeTypes:Text': true + 'Neos.NeosIo:Text': true 'Neos.NodeTypes:Image': true 'Neos.NodeTypes:TextWithImage': true - 'Neos.NodeTypes:Headline': true + 'Neos.NeosIo:Headline': true 'Neos.NodeTypes:ContentReferences': true 'Neos.NeosIo:Box': true 'Neos.NeosIo:CountUp': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml index c5565782e..8cc06f898 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml @@ -12,8 +12,8 @@ constraints: nodeTypes: '*': false - 'Neos.NodeTypes:Headline': true - 'Neos.NodeTypes:Text': true + 'Neos.NeosIo:Headline': true + 'Neos.NeosIo:Text': true 'Neos.NeosIo:Button': true deviceContents: type: 'Neos.Neos:ContentCollection' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml new file mode 100644 index 000000000..d5dd99e40 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml @@ -0,0 +1,8 @@ +'Neos.NeosIo:Content.Headline': + superTypes: + 'Neos.Neos:Content': true + 'Neos.NeosIo:Mixins.TitleMixin': true + 'Neos.Neos:ContentCollection': true + ui: + label: i18n + icon: 'icon-header' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/HeadlineSlider.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/HeadlineSlider.yaml index 4c37bba36..631f898db 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/HeadlineSlider.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/HeadlineSlider.yaml @@ -13,7 +13,7 @@ constraints: nodeTypes: null '*': false - 'Neos.NodeTypes:Headline': true + 'Neos.NeosIo:Headline': true ui: label: 'Headline Slider' icon: icon-font diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml index e58462fff..1b4544981 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml @@ -6,10 +6,10 @@ 'Neos.NeosIo:ImageTeaser': superTypes: 'Neos.Neos:Content': true - 'Neos.NodeTypes:TitleMixin': true + 'Neos.NeosIo:Mixins.TitleMixin': true 'Neos.NodeTypes:ImageMixin': true 'Neos.NodeTypes:LinkMixin': true - 'Neos.NodeTypes:TextMixin': true + 'Neos.NeosIo:Mixins.TextMixin': true ui: label: 'Teaser with image' icon: icon-th-large diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Text.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Text.yaml new file mode 100644 index 000000000..b757c2147 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Text.yaml @@ -0,0 +1,8 @@ +'Neos.NeosIo:Text': + superTypes: + 'Neos.Neos:Content': true + 'Neos.NeosIo:Mixins.TextMixin': true + 'Neos.Neos:ContentCollection': true + ui: + label: Text + icon: 'icon-file-text' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml new file mode 100644 index 000000000..b6d2ed386 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml @@ -0,0 +1,30 @@ +'Neos.NeosIo:Mixins.TextMixin': + abstract: true + properties: + text: + type: string + defaultValue: '' + ui: + inlineEditable: true + inline: + editorOptions: + formatting: + strong: true + em: true + sub: false + sup: false + p: true + h1: true + h2: true + h3: true + pre: true + removeFormat: true + table: true + a: true + ol: true + ul: true + underline: false + strikethrough: false + blockquote: true + autoparagraph: true + placeholder: i18n diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TitleMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TitleMixin.yaml new file mode 100644 index 000000000..353bd5b2d --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TitleMixin.yaml @@ -0,0 +1,17 @@ +'Neos.NeosIo:Mixins.TitleMixin': + abstract: true + properties: + title: + type: string + defaultValue: '

Enter headline here

' + ui: + inlineEditable: true + inline: + editorOptions: + formatting: + p: false + h1: true + h2: true + h3: true + removeFormat: true + a: true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Headline.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Headline.yaml index 553f6a278..c4c3c3ee0 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Headline.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Headline.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes:Headline': +'Neos.NeosIo:Headline': properties: title: ui: diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/TextMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/TextMixin.yaml index 30a9f9401..0a1ea241a 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/TextMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/TextMixin.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes.BaseMixins:TextMixin': +'Neos.NeosIo:Mixins.TextMixin': properties: text: ui: diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Text.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Text.yaml index 4b3a92b59..ce1f0c222 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Text.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Text.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes:Text': +'Neos.NeosIo:Text': properties: text: ui: diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion new file mode 100644 index 000000000..ac8ffd47b --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion @@ -0,0 +1,6 @@ +prototype(Neos.NeosIo:Content.Headline) < prototype(Neos.Neos:ContentComponent) { + + renderer = afx` + + ` +} diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Text.fusion b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Text.fusion new file mode 100644 index 000000000..ce95de053 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Text.fusion @@ -0,0 +1,6 @@ +prototype(Neos.NeosIo:Text) < prototype(Neos.Neos:ContentComponent) { + + renderer = afx` + + ` +} diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf new file mode 100644 index 000000000..8343a421a --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf @@ -0,0 +1,10 @@ + + + + + + Überschrift + + + + diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf new file mode 100644 index 000000000..156d312a9 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf @@ -0,0 +1,10 @@ + + + + + + Bitte geben sie hier einen Text ein. + + + + diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf new file mode 100644 index 000000000..38ea481e3 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf @@ -0,0 +1,10 @@ + + + + + + Headline + + + + diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf new file mode 100644 index 000000000..c4e4f8450 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf @@ -0,0 +1,10 @@ + + + + + + Please enter your text here. + + + + From 1d150b30fbdbaabdd7446706947f4a968726408f Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Sun, 20 Aug 2023 17:53:43 +0200 Subject: [PATCH 2/9] TASK: delete translation files --- .../Translations/de/NodeTypes/Content/Headline.xlf | 10 ---------- .../Translations/de/NodeTypes/Mixins/TextMixin.xlf | 10 ---------- .../Translations/en/NodeTypes/Content/Headline.xlf | 10 ---------- .../Translations/en/NodeTypes/Mixins/TextMixin.xlf | 10 ---------- 4 files changed, 40 deletions(-) delete mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf delete mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf delete mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf delete mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf deleted file mode 100644 index 8343a421a..000000000 --- a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Überschrift - - - - diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf deleted file mode 100644 index 156d312a9..000000000 --- a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/de/NodeTypes/Mixins/TextMixin.xlf +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Bitte geben sie hier einen Text ein. - - - - diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf deleted file mode 100644 index 38ea481e3..000000000 --- a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Headline - - - - diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf b/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf deleted file mode 100644 index c4e4f8450..000000000 --- a/DistributionPackages/Neos.NeosIo/Resources/Private/Translations/en/NodeTypes/Mixins/TextMixin.xlf +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - Please enter your text here. - - - - From 1cb5f679a9a22d7fad87328827083cd0013b7e3b Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Sun, 20 Aug 2023 17:55:35 +0200 Subject: [PATCH 3/9] TASK: migrate text and headline element --- .../Neos.NeosIo/NodeTypes/Content/CountUp.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/Headline.yaml | 4 ++-- .../Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml | 4 ++-- DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml | 4 ++-- .../Neos.NeosIo/NodeTypes/Content/TeamListing.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml | 2 +- .../Resources/Private/Fusion/Content/Headline.fusion | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/CountUp.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/CountUp.yaml index c5e36221b..e9fd346a3 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/CountUp.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/CountUp.yaml @@ -6,7 +6,7 @@ 'Neos.NeosIo:CountUp': superTypes: 'Neos.Neos:Content': true - 'Neos.NodeTypes:TextMixin': true + 'Neos.NeosIo:Mixins.TextMixin': true ui: label: 'Detail Counter' icon: icon-signal diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml index d5dd99e40..852a16aa4 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Headline.yaml @@ -1,8 +1,8 @@ -'Neos.NeosIo:Content.Headline': +'Neos.NeosIo:Headline': superTypes: 'Neos.Neos:Content': true 'Neos.NeosIo:Mixins.TitleMixin': true 'Neos.Neos:ContentCollection': true ui: - label: i18n + label: 'Headline' icon: 'icon-header' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml index be3dfda8e..22f6e6559 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml @@ -14,11 +14,11 @@ 'Neos.NodeTypes.ColumnLayouts:TwoColumn': true 'Neos.NodeTypes.ColumnLayouts:ThreeColumn': true 'Neos.NodeTypes.ColumnLayouts:FourColumn': true - 'Neos.NodeTypes:Text': true + 'Neos.NeosIo:Text': true 'Neos.NodeTypes:Image': true 'Neos.NodeTypes:TextWithImage': true 'Neos.NodeTypes.Html:Html': true - 'Neos.NodeTypes:Headline': true + 'Neos.NeosIo:Headline': true 'Neos.NodeTypes.ContentReferences:ContentReferences': true 'Neos.NeosIo:Button': true 'Neos.NeosIo:ButtonDimensionAware': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml index efd9bc0ef..155441f8a 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml @@ -13,10 +13,10 @@ 'Neos.NodeTypes.ColumnLayouts:TwoColumn': true 'Neos.NodeTypes.ColumnLayouts:ThreeColumn': true 'Neos.NodeTypes.ColumnLayouts:FourColumn': true - 'Neos.NodeTypes:Text': true + 'Neos.NeosIo:Text': true 'Neos.NodeTypes:Image': true 'Neos.NodeTypes:TextWithImage': true - 'Neos.NodeTypes:Headline': true + 'Neos.NeosIo:Headline': true 'Neos.NodeTypes.Html:Html': true 'Neos.NodeTypes.ContentReferences:ContentReferences': true 'Neos.NeosIo:Box': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TeamListing.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TeamListing.yaml index d756d4d6d..a05a6e4eb 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TeamListing.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TeamListing.yaml @@ -1,7 +1,7 @@ 'Neos.NeosIo:TeamListing': superTypes: 'Neos.Neos:Content': true - 'Neos.NodeTypes:TitleMixin': true + 'Neos.NeosIo:Mixins.TitleMixin': true ui: label: 'Teams & Guilds' group: plugins diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml index 09f50d492..a84643ce7 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml @@ -12,7 +12,7 @@ constraints: nodeTypes: '*': FALSE - 'Neos.NodeTypes:Headline': TRUE + 'Neos.NeosIo:Headline': TRUE 'Neos.NodeTypes.ContentReferences:ContentReferences': TRUE 'Neos.NeosIo:ChoiceButtons': TRUE 'Neos.NeosIo:Button': TRUE diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml index b6d2ed386..1d24f6156 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/TextMixin.yaml @@ -27,4 +27,4 @@ strikethrough: false blockquote: true autoparagraph: true - placeholder: i18n + placeholder: 'Please enter your text here' diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion index ac8ffd47b..0aa6d8385 100644 --- a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Headline.fusion @@ -1,4 +1,4 @@ -prototype(Neos.NeosIo:Content.Headline) < prototype(Neos.Neos:ContentComponent) { +prototype(Neos.NeosIo:Headline) < prototype(Neos.Neos:ContentComponent) { renderer = afx` From 6138b47cadf418bdee2314fcdef6ad0be623bb9f Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Sun, 20 Aug 2023 18:23:24 +0200 Subject: [PATCH 4/9] TASK: migrate link mixin --- .../Neos.NeosIo/NodeTypes/Content/Button.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Mixins/LinkMixin.yaml | 11 +++++++++++ .../NodeTypes/Override/Mixin/LinkMixin.yaml | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/LinkMixin.yaml diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Button.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Button.yaml index 62a7810ef..858eeb035 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Button.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Button.yaml @@ -6,7 +6,7 @@ 'Neos.NeosIo:Button': superTypes: 'Neos.Neos:Content': true - 'Neos.NodeTypes:LinkMixin': true + 'Neos.NeosIo:Mixins.LinkMixin': true 'Neos.NeosIo:Mixin.ButtonStyles': true ui: label: Button diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml index 1b4544981..0c0b43aa7 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml @@ -8,7 +8,7 @@ 'Neos.Neos:Content': true 'Neos.NeosIo:Mixins.TitleMixin': true 'Neos.NodeTypes:ImageMixin': true - 'Neos.NodeTypes:LinkMixin': true + 'Neos.NeosIo:Mixins.LinkMixin': true 'Neos.NeosIo:Mixins.TextMixin': true ui: label: 'Teaser with image' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/LinkMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/LinkMixin.yaml new file mode 100644 index 000000000..c6bce7aad --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/LinkMixin.yaml @@ -0,0 +1,11 @@ +'Neos.NeosIo:Mixins.LinkMixin': + abstract: true + properties: + link: + type: string + ui: + label: Link + reloadIfChanged: true + inspector: + position: 300 + editor: 'Neos.Neos/Inspector/Editors/LinkEditor' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/LinkMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/LinkMixin.yaml index 324787e9a..f70553570 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/LinkMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/LinkMixin.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes.BaseMixins:LinkMixin': +'Neos.NeosIo:Mixins.LinkMixin': properties: link: ui: From 5537b6f1ee5ce16ae52c8572b2634dc8d7f39cf1 Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Sun, 20 Aug 2023 20:24:59 +0200 Subject: [PATCH 5/9] TASK: migrate image element --- .../Version20230814102735.yaml | 10 ++++++ .../Neos.NeosIo/NodeTypes/Content/Image.yaml | 7 ++++ .../NodeTypes/Mixins/ContentImageMixin.yaml | 12 +++++++ .../NodeTypes/Mixins/ImageAlignmentMixin.yaml | 24 +++++++++++++ .../NodeTypes/Mixins/ImageCaptionMixin.yaml | 20 +++++++++++ .../NodeTypes/Mixins/ImageMixin.yaml | 34 +++++++++++++++++++ .../Override/Content/ContentImageMixin.yaml | 2 +- .../Override/Mixin/ImageCaptionMixin.yaml | 2 +- .../{Overrides => Content}/Image.fusion | 3 +- 9 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Content/Image.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ContentImageMixin.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageAlignmentMixin.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageCaptionMixin.yaml create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageMixin.yaml rename DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/{Overrides => Content}/Image.fusion (97%) diff --git a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml index 3b61df5f6..069302f49 100644 --- a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml +++ b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml @@ -21,6 +21,16 @@ up: type: 'ChangeNodeType' settings: newType: 'Neos.NeosIo:Headline' + - + filters: + - type: 'NodeType' + settings: + nodeType: 'Neos.NodeTypes:Image' + transformations: + - + type: 'ChangeNodeType' + settings: + newType: 'Neos.NeosIo:Image' down: comments: 'No down migration available' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Image.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Image.yaml new file mode 100644 index 000000000..15860230b --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Image.yaml @@ -0,0 +1,7 @@ +'Neos.NeosIo:Image': + superTypes: + 'Neos.Neos:Content': true + 'Neos.NeosIo:Mixins.ContentImageMixin': true + ui: + label: 'Image' + icon: 'icon-picture' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ContentImageMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ContentImageMixin.yaml new file mode 100644 index 000000000..42e9e4de4 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ContentImageMixin.yaml @@ -0,0 +1,12 @@ +'Neos.NeosIo:Mixins.ContentImageMixin': + abstract: true + superTypes: + 'Neos.NeosIo:Mixins.LinkMixin': true + 'Neos.NeosIo:Mixins.ImageMixin': true + 'Neos.NeosIo:Mixins.ImageCaptionMixin': true + 'Neos.NeosIo:Mixins.ImageAlignmentMixin': true + properties: + link: + ui: + inspector: + group: 'image' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageAlignmentMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageAlignmentMixin.yaml new file mode 100644 index 000000000..a4af0adbc --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageAlignmentMixin.yaml @@ -0,0 +1,24 @@ +'Neos.NeosIo:Mixins.ImageAlignmentMixin': + abstract: true + properties: + alignment: + type: string + defaultValue: '' + ui: + label: 'Alignment' + reloadIfChanged: true + inspector: + group: 'image' + position: 400 + editor: 'Neos.Neos/Inspector/Editors/SelectBoxEditor' + editorOptions: + placeholder: 'Default' + values: + '': + label: '' + center: + label: 'Center' + left: + label: 'Left' + right: + label: 'Right' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageCaptionMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageCaptionMixin.yaml new file mode 100644 index 000000000..a81990999 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageCaptionMixin.yaml @@ -0,0 +1,20 @@ +'Neos.NeosIo:Mixins.ImageCaptionMixin': + abstract: true + properties: + hasCaption: + type: boolean + ui: + label: 'Enable caption' + reloadIfChanged: true + inspector: + group: 'image' + position: 200 + caption: + type: string + defaultValue: '' + ui: + inlineEditable: true + inline: + editorOptions: + autoparagraph: true + placeholder: 'Enter caption here' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageMixin.yaml new file mode 100644 index 000000000..c04fcf70d --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/ImageMixin.yaml @@ -0,0 +1,34 @@ +'Neos.NeosIo:Mixins.ImageMixin': + abstract: true + ui: + inspector: + groups: + image: + label: 'Image' + position: 5 + icon: 'icon-image' + properties: + image: + type: Neos\Media\Domain\Model\ImageInterface + ui: + label: 'Image' + reloadIfChanged: true + inspector: + group: 'image' + position: 50 + alternativeText: + type: string + ui: + label: 'Alternative text' + reloadIfChanged: true + inspector: + group: 'image' + position: 100 + title: + type: string + ui: + label: 'Title' + reloadIfChanged: true + inspector: + group: 'image' + position: 150 diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Content/ContentImageMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Content/ContentImageMixin.yaml index 6c85ead0a..ca811dc9e 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Content/ContentImageMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Content/ContentImageMixin.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes:ContentImageMixin': +'Neos.NeosIo:Mixins.ContentImageMixin': properties: openInNewTab: type: boolean diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/ImageCaptionMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/ImageCaptionMixin.yaml index a27253b1b..a80edb148 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/ImageCaptionMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/Mixin/ImageCaptionMixin.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes.BaseMixins:ImageCaptionMixin': +'Neos.NeosIo:Mixins.ImageCaptionMixin': properties: hasCaption: {} alignment: {} diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Overrides/Image.fusion b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Image.fusion similarity index 97% rename from DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Overrides/Image.fusion rename to DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Image.fusion index ab32e3d17..13885878c 100644 --- a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Overrides/Image.fusion +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/Image.fusion @@ -1,5 +1,4 @@ -prototype(Neos.NodeTypes:Image) > -prototype(Neos.NodeTypes:Image) < prototype(Neos.Neos:ContentComponent) { +prototype(Neos.NeosIo:Image) < prototype(Neos.Neos:ContentComponent) { title = ${q(node).property('title')} title.@process.filenameFallback = ${String.isBlank(value) ? q(node).property('image').label : value} From a850b88acc3c644e0a4dcd807d07bd44640f05a0 Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Sun, 20 Aug 2023 20:34:56 +0200 Subject: [PATCH 6/9] TASK: replace old image nodetypes with new ones --- DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/ImageGrid.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml | 2 +- DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml index 4d809c5f4..c1cba188c 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml @@ -39,7 +39,7 @@ nodeTypes: '*': false 'Neos.NeosIo:Text': true - 'Neos.NodeTypes:Image': true + 'Neos.NeosIo:Image': true 'Neos.NodeTypes:TextWithImage': true 'Neos.NeosIo:Headline': true 'Neos.NodeTypes:ContentReferences': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml index 8cc06f898..e7b39e5e5 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/DeviceStage.yaml @@ -20,7 +20,7 @@ constraints: nodeTypes: '*': false - 'Neos.NodeTypes:Image': true + 'Neos.NeosIo:Image': true 'Neos.NeosIo:Youtube': true ui: label: 'Stage (with device media)' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageGrid.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageGrid.yaml index de82e45f4..6531815e8 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageGrid.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageGrid.yaml @@ -8,7 +8,7 @@ Neos.NeosIo:Content.ImageGrid: constraints: nodeTypes: '*': false - Neos.NodeTypes:Image: true + 'Neos.NeosIo:Image': true properties: isDistributeEvenly: type: boolean diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml index 0c0b43aa7..bc2e8c13d 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ImageTeaser.yaml @@ -7,7 +7,7 @@ superTypes: 'Neos.Neos:Content': true 'Neos.NeosIo:Mixins.TitleMixin': true - 'Neos.NodeTypes:ImageMixin': true + 'Neos.NeosIo:Mixins.ImageMixin': true 'Neos.NeosIo:Mixins.LinkMixin': true 'Neos.NeosIo:Mixins.TextMixin': true ui: diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml index 22f6e6559..e7bc312c3 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml @@ -15,7 +15,7 @@ 'Neos.NodeTypes.ColumnLayouts:ThreeColumn': true 'Neos.NodeTypes.ColumnLayouts:FourColumn': true 'Neos.NeosIo:Text': true - 'Neos.NodeTypes:Image': true + 'Neos.NeosIo:Image': true 'Neos.NodeTypes:TextWithImage': true 'Neos.NodeTypes.Html:Html': true 'Neos.NeosIo:Headline': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml index 155441f8a..4d51114c8 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml @@ -14,7 +14,7 @@ 'Neos.NodeTypes.ColumnLayouts:ThreeColumn': true 'Neos.NodeTypes.ColumnLayouts:FourColumn': true 'Neos.NeosIo:Text': true - 'Neos.NodeTypes:Image': true + 'Neos.NeosIo:Image': true 'Neos.NodeTypes:TextWithImage': true 'Neos.NeosIo:Headline': true 'Neos.NodeTypes.Html:Html': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml index a84643ce7..51f6263df 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml @@ -18,7 +18,7 @@ 'Neos.NeosIo:Button': TRUE 'Neos.NeosIo:HeadlineSlider': TRUE 'Neos.NodeTypes.ColumnLayouts:TwoColumn': TRUE - 'Neos.NodeTypes:Image': TRUE + 'Neos.NeosIo:Image': true 'GoE.Neos:Content.Video': TRUE ui: inspector: From 7b1d107a7fcc5e45ec11e340c9f9d2f4806c1915 Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Fri, 20 Oct 2023 18:09:58 +0200 Subject: [PATCH 7/9] TASK: migrate Neos.NodeTypes.ContentReferences:ContentReferences NodeType --- .../Version20230814102735.yaml | 10 +++++++ .../Neos.NeosIo/NodeTypes/Content/Box.yaml | 2 +- .../NodeTypes/Content/ContentReferences.yaml | 22 ++++++++++++++ .../NodeTypes/Content/SemanticSection.yaml | 2 +- .../Neos.NeosIo/NodeTypes/Content/Stage.yaml | 2 +- .../NodeTypes/Documents/LandingPage.yaml | 2 +- .../NodeTypes/Mixins/KeyvisualMixin.yaml | 2 +- .../Fusion/Content/ContentReferences.fusion | 29 +++++++++++++++++++ 8 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Content/ContentReferences.yaml create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/ContentReferences.fusion diff --git a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml index 069302f49..964e9f93a 100644 --- a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml +++ b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml @@ -31,6 +31,16 @@ up: type: 'ChangeNodeType' settings: newType: 'Neos.NeosIo:Image' + - + filters: + - type: 'NodeType' + settings: + nodeType: 'Neos.NodeTypes.ContentReferences:ContentReferences' + transformations: + - + type: 'ChangeNodeType' + settings: + newType: 'Neos.NeosIo:ContentReferences' down: comments: 'No down migration available' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml index 085d0e291..c8c3e9e68 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Box.yaml @@ -10,7 +10,7 @@ nodeTypes: '*': false 'Neos.NeosIo:Text': true - 'Neos.NodeTypes.ContentReferences:ContentReferences': true + 'Neos.NeosIo:ContentReferences': true 'Neos.NeosIo:Button': true 'Neos.NeosIo:CountUp': true ui: diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ContentReferences.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ContentReferences.yaml new file mode 100644 index 000000000..661b00072 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/ContentReferences.yaml @@ -0,0 +1,22 @@ +'Neos.NeosIo:ContentReferences': + superTypes: + 'Neos.Neos:Content': true + 'Neos.Neos:ContentCollection': true + ui: + label: 'Inhaltsreferenz' + icon: 'icon-copy' + inspector: + groups: + references: + label: 'Verweise' + icon: 'icon-copy' + properties: + references: + type: 'references' + ui: + label: Auswählen + reloadIfChanged: true + inspector: + group: 'references' + editorOptions: + nodeTypes: ['Neos.Neos:Content'] diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml index e7bc312c3..fdbefe1ae 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/SemanticSection.yaml @@ -19,7 +19,7 @@ 'Neos.NodeTypes:TextWithImage': true 'Neos.NodeTypes.Html:Html': true 'Neos.NeosIo:Headline': true - 'Neos.NodeTypes.ContentReferences:ContentReferences': true + 'Neos.NeosIo:ContentReferences': true 'Neos.NeosIo:Button': true 'Neos.NeosIo:ButtonDimensionAware': true 'Neos.NeosIo:ChoiceButtons': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml index 4d51114c8..2ee063578 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Stage.yaml @@ -18,7 +18,7 @@ 'Neos.NodeTypes:TextWithImage': true 'Neos.NeosIo:Headline': true 'Neos.NodeTypes.Html:Html': true - 'Neos.NodeTypes.ContentReferences:ContentReferences': true + 'Neos.NeosIo:ContentReferences': true 'Neos.NeosIo:Box': true 'Neos.NeosIo:Button': true 'Neos.NeosIo:ButtonDimensionAware': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Documents/LandingPage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Documents/LandingPage.yaml index ef529660e..6da608f71 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Documents/LandingPage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Documents/LandingPage.yaml @@ -15,7 +15,7 @@ '*': false 'Neos.NeosIo:Stage': true 'Neos.NeosIo:DeviceStage': true - 'Neos.NodeTypes.ContentReferences:ContentReferences': true + 'Neos.NeosIo:ContentReferences': true 'GoE.Neos:Content.Library': true ui: label: 'Landing page' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml index 51f6263df..42ea6314b 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Mixins/KeyvisualMixin.yaml @@ -13,7 +13,7 @@ nodeTypes: '*': FALSE 'Neos.NeosIo:Headline': TRUE - 'Neos.NodeTypes.ContentReferences:ContentReferences': TRUE + 'Neos.NeosIo:ContentReferences': TRUE 'Neos.NeosIo:ChoiceButtons': TRUE 'Neos.NeosIo:Button': TRUE 'Neos.NeosIo:HeadlineSlider': TRUE diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/ContentReferences.fusion b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/ContentReferences.fusion new file mode 100644 index 000000000..a9fa12e7b --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/ContentReferences.fusion @@ -0,0 +1,29 @@ +prototype(Neos.NeosIo:ContentReferences) < prototype(Neos.Neos:ContentComponent) { + + @context.referencedNodes = ${q(node).property('references')} + + references = Neos.Fusion:Loop { + items = ${referencedNodes} + itemRenderer = Neos.Neos:ContentCase + itemName = 'node' + } + + renderer = afx` + +

Momentan sind keine Referenzen im Inspektor ausgewählt.

+
+ {props.references} + ` + + @cache { + mode = 'cached' + entryIdentifier { + node = ${node} + } + entryTags { + 1 = ${Neos.Caching.nodeTag(node)} + 2 = ${Neos.Caching.nodeTag(referencedNodes)} + 3 = ${Neos.Caching.descendantOfTag(referencedNodes)} + } + } +} From dcd492f25470669b2e6dde3fefe3098a025c20c7 Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Wed, 10 Jan 2024 16:38:32 +0100 Subject: [PATCH 8/9] TASK: refactor text with image element --- .../Neos.NeosIo/NodeTypes/Content/Column.yaml | 2 +- .../NodeTypes/Content/TextWithImage.yaml | 8 ++ .../NodeTypes/Override/TextWithImage.yaml | 2 +- .../Fusion/Content/TextWithImage.fusion | 103 ++++++++++++++++++ 4 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 DistributionPackages/Neos.NeosIo/NodeTypes/Content/TextWithImage.yaml create mode 100644 DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/TextWithImage.fusion diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml index c1cba188c..6cdbc4f4a 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/Column.yaml @@ -40,7 +40,7 @@ '*': false 'Neos.NeosIo:Text': true 'Neos.NeosIo:Image': true - 'Neos.NodeTypes:TextWithImage': true + 'Neos.NeosIo:TextWithImage': true 'Neos.NeosIo:Headline': true 'Neos.NodeTypes:ContentReferences': true 'Neos.NeosIo:Box': true diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TextWithImage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TextWithImage.yaml new file mode 100644 index 000000000..85b5cc1cd --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Content/TextWithImage.yaml @@ -0,0 +1,8 @@ +'Neos.NeosIo:TextWithImage': + superTypes: + 'Neos.Neos:Content': true + 'Neos.NeosIo:Mixins.TextMixin': true + 'Neos.NeosIo:Mixins.ContentImageMixin': true + ui: + label: 'Text with Picture' + icon: 'icon-picture' diff --git a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/TextWithImage.yaml b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/TextWithImage.yaml index 33252637f..24d1d0d2d 100644 --- a/DistributionPackages/Neos.NeosIo/NodeTypes/Override/TextWithImage.yaml +++ b/DistributionPackages/Neos.NeosIo/NodeTypes/Override/TextWithImage.yaml @@ -1,4 +1,4 @@ -'Neos.NodeTypes:TextWithImage': +'Neos.NeosIo:TextWithImage': properties: text: ui: diff --git a/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/TextWithImage.fusion b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/TextWithImage.fusion new file mode 100644 index 000000000..723006115 --- /dev/null +++ b/DistributionPackages/Neos.NeosIo/Resources/Private/Fusion/Content/TextWithImage.fusion @@ -0,0 +1,103 @@ +prototype(Neos.NeosIo:TextWithImage) < prototype(Neos.Neos:ContentComponent) { + + alternativeText = ${q(node).property('alternativeText')} + alternativeText.@process { + titleFallback = ${String.isBlank(value) ? q(node).property('title') : value} + filenameFallback = ${String.isBlank(value) ? q(node).property('image').label : value} + } + + image = ${q(node).property('image')} + imageClassName = Neos.Fusion:DataStructure { + alignment = ${'neos-alignment-' + q(node).property('alignment')} + alignment.@if.isSet = ${q(node).property('alignment')} + + addImageStyle = ${'image--style image--style-' + q(node).property('imageStyle')} + addImageStyle.@if.isSet = ${!String.isBlank(q(node).property('imageStyle'))} + } + + loading = 'lazy' + + height = null + maximumHeight = null + maximumHeight.@process.override = ${q(node).property('customHeight') || value} + + width = null + // The maximum page width 1096 * 2 + maximumWidth = 2192 + maximumWidth.@process.override = ${q(node).property('customWidth') || value} + + allowCropping = false + allowUpScaling = false + + link = ${q(node).property("link")} + link.@process.convertUris = Neos.Neos:ConvertUris { + forceConversion = true + absolute = true + } + + caption = Neos.Neos:Editable { + property = 'caption' + block = false + renderer.fallback { + @position = 'after editable' + condition = ${!q(node).property('caption') && q(node).property('image').caption} + renderer = ${q(node).property('image').caption} + @process.convertUris = Neos.Neos:ConvertUris + } + } + + renderer.@context.image = Neos.Fusion:Case { + default { + condition = ${props.image} + renderer = Neos.Neos:ImageTag { + asset = ${props.image} + title = ${props.title} + maximumHeight = ${props.maximumHeight} + maximumWidth = ${props.maximumWidth} + allowUpScaling = ${props.allowUpScaling} + allowCropping = ${props.allowCropping} + width = ${props.width} + height = ${props.height} + async = true + attributes.alt = ${props.alternativeText} + attributes.loading = ${props.loading} + attributes.style = Neos.Fusion:Join { + maxHeight = ${'max-height: ' + props.maximumHeight + 'px;'} + maxHeight.@if.set = ${props.maximumHeight} + } + } + } + fallback { + condition = ${!props.image && node.context.inBackend} + renderer = afx` + Dummy image + ` + } + } + + renderer = afx` +
+
+ + {image} + + {!props.link ? image : ''} +
+ +
+ ` + +} From c1f8cf2c0f6a399f748297884deef8f316a6ca9d Mon Sep 17 00:00:00 2001 From: Simon Krull Date: Sun, 14 Jan 2024 17:31:53 +0100 Subject: [PATCH 9/9] TASK: add nodetype migration for TextWithImage Element --- .../ContentRepository/Version20230814102735.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml index 964e9f93a..2c84fd62f 100644 --- a/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml +++ b/DistributionPackages/Neos.NeosIo/Migrations/ContentRepository/Version20230814102735.yaml @@ -41,6 +41,16 @@ up: type: 'ChangeNodeType' settings: newType: 'Neos.NeosIo:ContentReferences' + - + filters: + - type: 'NodeType' + settings: + nodeType: 'Neos.NodeTypes:TextWithImage' + transformations: + - + type: 'ChangeNodeType' + settings: + newType: 'Neos.NeosIo:TextWithImage' down: comments: 'No down migration available'