From aabd1c0a3a77cd70f9e53d06d9ff55506de484ec Mon Sep 17 00:00:00 2001 From: Jon Uhlmann Date: Sun, 28 Jan 2024 23:21:10 +0100 Subject: [PATCH] New: Add quality option Needs https://github.com/sitegeist/Sitegeist.Kaleidoscope/pull/75 merged and released --- Configuration/Settings.Carbon.yaml | 4 ++++ Resources/Private/Fusion/Helper/BasisPresentation.fusion | 4 ++++ Resources/Private/Fusion/Helper/ImageSource.fusion | 3 +++ Resources/Private/Fusion/Helper/Link/Attributes.fusion | 1 + 4 files changed, 12 insertions(+) diff --git a/Configuration/Settings.Carbon.yaml b/Configuration/Settings.Carbon.yaml index e50fc4c..284a19a 100644 --- a/Configuration/Settings.Carbon.yaml +++ b/Configuration/Settings.Carbon.yaml @@ -4,6 +4,8 @@ Carbon: imageFormat: default: webp additional: [] + # Needs https://github.com/sitegeist/Sitegeist.Kaleidoscope/pull/75 merged and released + quality: null lazy: enabled: false lazyWidth: null @@ -41,3 +43,5 @@ Carbon: width: null height: null imageFormat: webp + # Needs https://github.com/sitegeist/Sitegeist.Kaleidoscope/pull/75 merged and released + quality: null diff --git a/Resources/Private/Fusion/Helper/BasisPresentation.fusion b/Resources/Private/Fusion/Helper/BasisPresentation.fusion index e72cb95..315a994 100644 --- a/Resources/Private/Fusion/Helper/BasisPresentation.fusion +++ b/Resources/Private/Fusion/Helper/BasisPresentation.fusion @@ -9,6 +9,7 @@ prototype(Carbon.Image:Helper.BasisPresentation) < prototype(Neos.Fusion:Compone variantPreset = ${PropTypes.arrayOf(PropTypes.string)} width = ${PropTypes.float} height = ${PropTypes.float} + quality = ${PropTypes.float} additionalFormats = ${PropTypes.arrayOf(PropTypes.string)} } @@ -17,6 +18,8 @@ prototype(Carbon.Image:Helper.BasisPresentation) < prototype(Neos.Fusion:Compone lazyClass = ${Configuration.Setting('Carbon.Image.lazy.class')} lazyWidth = ${Configuration.Setting('Carbon.Image.lazy.lazyWidth')} + quality = ${Configuration.Setting('Carbon.Image.quality')} + imageSource = ${null} thumbnailPreset = ${null} variantPreset = ${null} @@ -66,6 +69,7 @@ prototype(Carbon.Image:Helper.BasisPresentation) < prototype(Neos.Fusion:Compone sizedImageSource.@process { width = ${private.isScalableImageSource && props.width ? value.withWidth(props.width) : value} height = ${private.isScalableImageSource && props.height ? value.withHeight(props.height) : value} + quality = ${private.isScalableImageSource && props.quality ? value.withQuality(props.quality) : value} variantPreset = ${private.isScalableImageSource && props.variantPreset ? value.withVariantPreset(props.variantPreset[0], props.variantPreset[1]) : value} } imageClass = ${BEM.modifier('carbon-image', [props.objectFit, 'picture'])} diff --git a/Resources/Private/Fusion/Helper/ImageSource.fusion b/Resources/Private/Fusion/Helper/ImageSource.fusion index 9c665dc..2b1e651 100644 --- a/Resources/Private/Fusion/Helper/ImageSource.fusion +++ b/Resources/Private/Fusion/Helper/ImageSource.fusion @@ -8,6 +8,7 @@ prototype(Carbon.Image:Helper.ImageSource) < prototype(Neos.Fusion:Component) { format = ${PropTypes.string} width = ${PropTypes.float} height = ${PropTypes.float} + quality = ${PropTypes.float} outputDummy = ${PropTypes.boolean} forceDummy = ${PropTypes.boolean} dummyForgroundColor = ${PropTypes.string} @@ -52,6 +53,7 @@ prototype(Carbon.Image:Helper.ImageSource) < prototype(Neos.Fusion:Component) { format = ${props.format} width = ${props.width} height = ${props.height} + quality = ${props.quality} } } isImageSource { @@ -63,6 +65,7 @@ prototype(Carbon.Image:Helper.ImageSource) < prototype(Neos.Fusion:Component) { format = ${props.format ? value.withFormat(props.format) : value} width = ${props.width ? value.withWidth(props.width) : value} height = ${props.height ? value.withHeight(props.height) : value} + quality = ${props.quality ? value.withQuality(props.quality) : value} } } isResource { diff --git a/Resources/Private/Fusion/Helper/Link/Attributes.fusion b/Resources/Private/Fusion/Helper/Link/Attributes.fusion index 64dddd2..0b278b4 100644 --- a/Resources/Private/Fusion/Helper/Link/Attributes.fusion +++ b/Resources/Private/Fusion/Helper/Link/Attributes.fusion @@ -30,6 +30,7 @@ prototype(Carbon.Image:Helper.Link.Attributes) < prototype(Neos.Fusion:Component width = ${props.lightboxConfiguration.width || null} height = ${props.lightboxConfiguration.height || null} imageFormat = ${props.lightboxConfiguration.imageFormat || null} + quality = ${props.lightboxConfiguration.quality || null} } srcset = Carbon.Image:Helper.MinMaxImageSize {